代码分2个部分,2个指标。其中一个是被调用指标A.
请新建一个指标A:
MA1:MA(C,5);
MA2:MA(C,10);
JC:CROSS(MA1,MA2);
SC:CROSS(MA2,MA1); MA1:MA(C,5); MA2:MA(C,10); JC:CROSS(MA1,MA2); SC:CROSS(MA2,MA1); jcgz:"A.jc#MIN15" AND "A.jc#MIN30" AND "A.jc#MIN60"; scgz:"A.sc#MIN15" AND "A.sc#MIN30" AND "A.sc#MIN60"; lastjc:VALUEWHEN(jc,c); lastsc:VALUEWHEN(sc,c); kd:jcgz and VALUEWHEN(lastjc<>ref(lastjc,1),lastjc-ref(lastjc,1))>=30*MINDIFF; kk:scgz and VALUEWHEN(lastsc<>ref(lastsc,1),lastsc-ref(lastsc,1))<=-30*MINDIFF; if kd then begin sellshort(1,holding,market); buy(holding=0,1,market); end if kk then begin sell(1,holding,market); buyshort(holding=0,1,market); end IF C-AVGENTERPRICE>20*MINDIFF THEN BEGIN SELLSHORT(1,HOLDING,MARKET); END IF AVGENTERPRICE-C>20*MINDIFF THEN BEGIN SELL(1,HOLDING,MARKET); END 说是用了交易系统函数,但公式不是交易系统公式,可能无法正常工作。
原帖: MA1:MA(C,5);
MA2:MA(C,10);
JC:=CROSS(MA1,MA2);
SC:=CROSS(MA2,MA1);
15分钟周期,30分钟周期和1小时,三个周期同时金叉,并且当下金叉K线的盘中瞬时值与前一个金叉K线的盘中瞬时值的差值大于或等于30跳时,平空开多仓。
15分钟周期,30分钟周期和1小时,三个周期同时死叉,并且当下死叉K线的盘中瞬时值与前一个金叉K线的盘中瞬时值的差值小于或等于-30跳时,平多开空仓。
求一个完整的可图表程序化交易的代码。
|