编程思路破译 自动预测周期赋值:10 全画开关赋值:1 最高赋值:30 最低赋值:10 VAR1赋值:收盘价的有效数据周期数 VAR2赋值:VAR1的最后一日取值设为常数 VAR3赋值:VAR2-VAR1 输出K线计数:VAR3+1,NODRAW,画黄色 K线 A1赋值:(自动预测周期日前的最高价 = (自动预测周期+1)日内最高价的最高值) B1赋值:A1的自动预测周期日过滤 C1赋值:若B1则将最近(自动预测周期+1)周期置为1 D1赋值:C1的自动预测周期日过滤 A2赋值:(自动预测周期日前的最低价 = (自动预测周期+1)日内最低价的最低值) B2赋值:A2的自动预测周期日过滤 C2赋值:若B2则将最近(自动预测周期+1)周期置为1 D2赋值:C2的自动预测周期日过滤 E1赋值:((1日前的自动预测周期日内最低价的最低值 + 1日前的自动预测周期日内最高价的最高值) / 2) E2赋值:((最高价 + 最低价) / 2) H1赋值:(((D1 AND 取反) OR 是否最后一个周期) OR (收盘价的有效数据周期数 = 1)) L1赋值:(D2 AND 取反) H2赋值:(D1 AND 取反) X1赋值:1日前的上次H1距今天数 + 1 F1赋值:若(H1AND(统计X1日中满足L1的天数>0))则将最近X1日内如果L1,返回最低价,否则返回10000距今天数周期置为1 G1赋值:(F1 > 1日前的F1) I1赋值:若G1则将最近2周期置为1 LD赋值:(I1 > 1日前的I1) L2赋值:((LD OR 是否最后一个周期) OR (收盘价的有效数据周期数 = 1)) X2赋值:(1日前的上次L2距今天数 + 1) F2赋值:若(L2AND(统计X2日中满足H2的天数>0))则将最近X2日内如果H2,返回最高价,否则返回0距今天数周期置为1 G2赋值:(F2 > 1日前的F2) I2赋值:若G2则将最近2周期置为1 HD赋值:(I2 > 1日前的I2) 如果全画开关=1,返回当满足条件LD时,在最低价位置画直线起点,当满足条件HD时,在最高价位置画直线终点,0表示是否延长.,否则返回无效数画红色 如果全画开关=1,返回当满足条件HD时,在最高价位置画直线起点,当满足条件LD时,在最低价位置画直线终点,0表示是否延长.,否则返回无效数画绿色 当满足条件全画开关=1ANDLDANDBARSLAST(HD)<上次1日前的LD距今天数时,在最低价*0.98位置书写文字,画红色 当满足条件全画开关=1ANDLDANDBARSLAST(HD)<上次1日前的LD距今天数时,在最低价*0.98位置书写数字,画红色 当满足条件全画开关=1ANDHD时,在最高价*1.01位置书写文字,画绿色 当满足条件全画开关=1ANDHD时,在最高价*1.01位置书写数字,画绿色 最高价格赋值:2日内最高-1日前的最高价的最高值,NODRAW 最低价格赋值:2日内最低-1日前的最低价的最低值,NODRAW 高低比赋值:最高价格/最低价格 高低比平方赋值:高低比的开方 再平放赋值:高低比平方的开方 短高点B赋值:最低价格*(高低比的开方+再平放-1)NODRAW 输出短高点:短高点B的最后一日取值设为常数,NODRAW 输出短中点:最高价格/高低比平方的最后一日取值设为常数,NODRAW VAR12赋值:最低价格*最高价格/最低价格的开方的开方 输出短低点:VAR12的最后一日取值设为常数,NODRAW 求最高值赋值:日期日最高日内最高价的最高值 求最低值赋值:日期日最低日内最低价的最低值 当满足条件到最后交易的周期=最低时,在短高点位置画直线起点,当满足条件到最后交易的周期时,在短高点位置画直线终点,0表示是否延长.DOTLINE,线宽为1,画洋红色 当满足条件到最后交易的周期=最低时,在短中点位置画直线起点,当满足条件到最后交易的周期时,在短中点位置画直线终点,0表示是否延长.DOTLINE,线宽为1,画洋红色 当满足条件到最后交易的周期=最低时,在短低点位置画直线起点,当满足条件到最后交易的周期时,在短低点位置画直线终点,0表示是否延长.DOTLINE,线宽为1,画洋红色 当满足条件到最后交易的周期=最低时,在短高点*1.01位置书写文字,画洋红色 当满足条件到最后交易的周期=最低时,在短中点*0.99位置书写文字画洋红色 当满足条件到最后交易的周期=最低时,在短低点*0.97位置书写文字画洋红色 当满足条件到最后交易的周期=最高时,在最高价位置书写文字,画黄色 当满足条件到最后交易的周期=最低时,在最低价位置书写文字,画黄色 当满足条件到最后交易的周期=最低时,在最低价位置画38号图标 当满足条件到最后交易的周期=最高时,在最高价位置画39号图标 当满足条件到最后交易的周期=最低时,在最低价位置画直线起点,当满足条件到最后交易的周期=最高时,在最高价位置画直线终点,0表示是否延长.画洋红色,线宽为2 当满足条件到最后交易的周期=最高时,在最高价位置画直线起点,当满足条件到最后交易的周期=最低时,在最低价位置画直线终点,0表示是否延长.画洋红色,线宽为2 当满足条件到最后交易的周期=最低时,在最低价位置画直线起点,当满足条件短高点时,在短高点位置画直线终点,-1表示是否延长.DOTLINE,线宽为1,画洋红色 当满足条件到最后交易的周期=最低时,在最低价和短高点位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色 程序源码 自动预测周期:=10; 全画开关:=1; 最高:=30; 最低:=10; VAR1:=BARSCOUNT(C); VAR2:=CONST(VAR1); VAR3:=VAR2-VAR1; K线计数:VAR3+1,NODRAW,COLORYELLOW; {自动预测周期} DRAWKLINE(H,O,L,C); A1:=(REF(HIGH,自动预测周期) = HHV(HIGH,(自动预测周期 + 1))); B1:=FILTER(A1,自动预测周期); C1:=BACKSET(B1,(自动预测周期 + 1)); D1:=FILTER(C1,自动预测周期); A2:=(REF(LOW,自动预测周期) = LLV(LOW,(自动预测周期 + 1))); B2:=FILTER(A2,自动预测周期); C2:=BACKSET(B2,(自动预测周期 + 1)); D2:=FILTER(C2,自动预测周期); E1:=((REF(LLV(LOW,自动预测周期),1) + REF(HHV(HIGH,自动预测周期),1)) / 2); E2:=((HIGH + LOW) / 2); H1:=(((D1 AND NOT((D2 AND (E1 >= E2)))) OR ISLASTBAR) OR (BARSCOUNT(CLOSE) = 1)); L1:=(D2 AND NOT((D1 AND (E1 < E2)))); H2:=(D1 AND NOT((D2 AND (E1 >= E2)))); X1:=REF(BARSLAST(H1),1) + 1; F1:=BACKSET((H1 AND (COUNT(L1,X1) > 0)),LLVBARS(IF(L1,LOW,10000),X1)); G1:=(F1 > REF(F1,1)); I1:=BACKSET(G1,2); LD:=(I1 > REF(I1,1)); L2:=((LD OR ISLASTBAR) OR (BARSCOUNT(CLOSE) = 1)); X2:=(REF(BARSLAST(L2),1) + 1); F2:=BACKSET((L2 AND (COUNT(H2,X2) > 0)),HHVBARS(IF(H2,HIGH,0),X2)); G2:=(F2 > REF(F2,1)); I2:=BACKSET(G2,2); HD:=(I2 > REF(I2,1)); {全画} IF(全画开关=1,DRAWLINE(LD,L,HD,H,0),DRAWNULL)COLORRED; IF(全画开关=1,DRAWLINE(HD,H,LD,L,0),DRAWNULL)COLORGREEN; DRAWTEXT(全画开关=1 AND LD AND BARSLAST(HD)<BARSLAST(REF(LD,1)) ,L*0.98,'A'),COLORRED; DRAWNUMBER(全画开关=1 AND LD AND BARSLAST(HD)<BARSLAST(REF(LD,1)) ,L*0.98,L),COLORRED; DRAWTEXT(全画开关=1 AND HD,H*1.01,'B'),COLORGREEN; DRAWNUMBER(全画开关=1 AND HD,H*1.01,H),COLORGREEN; 最高价格:=HHV(REF(HIGH,最高-1),2),NODRAW; 最低价格:=LLV(REF(LOW,最低-1),2),NODRAW; 高低比:=最高价格/最低价格; 高低比平方:=SQRT(高低比); 再平放:=SQRT(高低比平方); 短高点B:=最低价格*(SQRT(高低比)+再平放-1)NODRAW; 短高点:CONST(短高点B),NODRAW; 短中点:CONST(最高价格/高低比平方),NODRAW; VAR12:=最低价格*SQRT(SQRT(最高价格/最低价格)); 短低点:CONST(VAR12),NODRAW; 求最高值:=REFDATE(HHV(HIGH,最高),DATE); 求最低值:=REFDATE(LLV(LOW,最低),DATE); {DRAWLINE(CURRBARSCOUNT=最低,短高点,ISLASTBAR,短高点,0)POINTDOT,LINETHICK4,COLORMAGENTA;{C3横线} DRAWLINE(CURRBARSCOUNT=最低,短高点,CURRBARSCOUNT,短高点,0)DOTLINE,LINETHICK1,COLORMAGENTA;{C3横线} DRAWLINE(CURRBARSCOUNT=最低,短中点,CURRBARSCOUNT,短中点,0)DOTLINE,LINETHICK1,COLORMAGENTA;{C2横线} DRAWLINE(CURRBARSCOUNT=最低,短低点,CURRBARSCOUNT,短低点,0)DOTLINE,LINETHICK1,COLORMAGENTA;{C1横线} DRAWTEXT(CURRBARSCOUNT=最低,短高点*1.01,STRCAT(' C3:',CON2STR(短高点,2))),COLORMAGENTA; DRAWTEXT(CURRBARSCOUNT=最低,短中点*0.99,STRCAT(' C2:',CON2STR(短中点,2)))COLORMAGENTA; DRAWTEXT(CURRBARSCOUNT=最低,短低点*0.97,STRCAT(' C1:',CON2STR(短低点,2)))COLORMAGENTA; DRAWTEXT(CURRBARSCOUNT=最高,H,'( 高B )'),COLORYELLOW; DRAWTEXT(CURRBARSCOUNT=最低,L,'( 低A )'),COLORYELLOW; DRAWICON(CURRBARSCOUNT=最低,L,38);{历史低点标记} DRAWICON(CURRBARSCOUNT=最高,H,39);{历史高点标记}; DRAWLINE(CURRBARSCOUNT=最低,L,CURRBARSCOUNT=最高,H,0)COLORMAGENTA,LINETHICK2;{最高到低点划线} DRAWLINE(CURRBARSCOUNT=最高,H,CURRBARSCOUNT=最低,L,0)COLORMAGENTA,LINETHICK2;{最低到高点划线}; DRAWLINE(CURRBARSCOUNT=最低,L,短高点,短高点,-1)DOTLINE,LINETHICK1,COLORMAGENTA; STICKLINE(CURRBARSCOUNT=最低,L,短高点,0,0),COLORMAGENTA; 该公式包含未来函数:BACKSET 注: 馆内各种公式为学习编程而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。 发文不易,如获益,欢迎赞赏,赞赏必复! |
|