编程思路破译 N赋值:14 M赋值:6 TR0赋值: 最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和最低价-1日前的收盘价的绝对值的较大值的N日累和 赋值: 最高价-1日前的最高价 赋值: 1日前的最低价-最低价 DMP赋值: 如果HD>0ANDHD>LD,返回HD,否则返回0的N日累和 DMM赋值: 如果LD>0ANDLD>HD,返回LD,否则返回0的N日累和 输出PDI: DMP*100/TR0 输出MDI: DMM*100/TR0 输出ADX: MDI-PDI的绝对值/(MDI+PDI)*100的M日简单移动平均 输出ADXR:(ADX+M日前的ADX)/2 输出预警:如果ADX>90ANDPDI=0,返回30,否则返回0,画黄色,线宽为2 输出买:如果PDI上穿MDIAND(收盘价>1.05*1日前的收盘价ORREF(收盘价,1)>1.05*2日前的收盘价)AND(成交量(手)>2*1日前的成交量(手)ORREF(成交量(手),1)>2*2日前的成交量(手))ANDMA(成交量(手),5)>成交量(手)的60日简单移动平均,返回20,否则返回0,画红色,线宽为2 输出买2:如果PDI上穿MDIANDCOUNT(预警,10)>=1,返回10,否则返回0,线宽为3 10 90 20 输出买3:如果PDI上穿MDIANDCROSS(PDI,ADX)ANDCROSS(PDI,ADXR),返回30,否则返回0 程序源码 N:=14; M:=6; TR0:= SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N); HD := HIGH-REF(HIGH,1); LD := REF(LOW,1)-LOW; DMP:= SUM(IF(HD>0 AND HD>LD,HD, 0),N); DMM:= SUM(IF(LD>0 AND LD>HD,LD,0),N); PDI: DMP*100/TR0; MDI: DMM*100/TR0; ADX: MA(ABS(MDI-PDI)/(MDI+PDI)*100,M); ADXR:(ADX+REF(ADX,M))/2; 预警:IF(ADX>90 AND PDI=0,30,0),COLORYELLOW,LINETHICK2; 买:IF(CROSS(PDI,MDI) AND (C >1.05*REF(C,1) OR REF(C,1)>1.05*REF(C,2)) AND (V>2*REF(V,1) OR REF(V,1)>2*REF(V,2))AND MA(V,5)>MA(V,60) ,20,0),COLORRED, LINETHICK2; 买2:IF(CROSS(PDI,MDI) AND COUNT(预警,10)>=1,10,0),LINETHICK3; 10;90;20 ; 买3:IF( CROSS(PDI,MDI) AND CROSS(PDI,ADX) AND CROSS(PDI,ADXR),30,0); 注: 馆内各种公式为学习编程而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。 发文不易,如获益,欢迎赞赏,赞赏必复! |
|
来自: 追梦文库 > 《主升浪起爆点拉升》