我想实现如下功能:
参考日线的20日均线,在5分钟周期下进行交易。细则如下:
1、用日线的20周期均线作为主方向,用5分钟20周期判断入场和出场,收盘上穿,多头入场,下穿,则空头入场;
2、当日线20周期和5分钟的20周期方向一致时,一次性建仓3手;方向不一致时,只建仓一手;
3、无论轻重仓位,均一次性全部平仓。
请帮忙编写一下,谢谢!
关于方向一致:
例如:5分钟的均线,ma(close,20)>ref(ma(close,20),1); 日线的20周期均线也是当前大于上一周期
而方向不一致:
5分钟的均线,ma(close,20)>ref(ma(close,20),1); 日线:ma(close,20)<ref(ma(close,20),1);
ma5a:stkindi('zjif00','ma.ma3',0,2);
ma5b:=stkindi('zjif00','ma.ma3',0,2,-1);
ma60a:stkindi('zjif00','ma.ma3',0,6);
ma60b:=stkindi('zjif00','ma.ma3',0,6,-1);
if cross(ma5a,ma60a) then begin
if ma5a>ma5b and ma60a>ma60b then begin
sellshort(holding<0,0,market);
buy(holding=0,3,market);
end
if ma5a>ma5b and ma60a<ma60b then begin
sellshort(holding<0,0,market);
buy(holding=0,1,market);
end
end
if cross(ma60a,ma5a) then begin
if ma5a>ma5b and ma60a>ma60b then begin
sell(holding>0,0,market);
buyshort(holding=0,3,market);
end
if ma5a>ma5b and ma60a<ma60b then begin
sell(holding>0,0,market);
buyshort(holding=0,1,market);
end
end
非常感谢jinzhe,谢谢您!
仔细阅读了一下,改成以下,就符合我的条件了。
ma5a:stkindi('zjif00','ma.ma3',0,2);
ma5b:=stkindi('zjif00','ma.ma3',0,2,-1);
ma60a:stkindi('zjif00','ma.ma3',0,6);
ma60b:=stkindi('zjif00','ma.ma3',0,6,-1);
if ma5a>ma5b and ma60a>ma60b then begin
sellshort(holding<0,0,thisclose);
buy(holding=0,3,thisclose);
end
if ma5a>ma5b and ma60a<ma60b then begin
sellshort(holding<0,0,thisclose);
buy(holding=0,1,thisclose);
end
if ma5a<ma5b and ma60a<ma60b then begin
sell(holding>0,0,thisclose);
buyshort(holding=0,3,thisclose);
end
if ma5a<ma5b and ma60a>ma60b then begin
sell(holding>0,0,thisclose);
buyshort(holding=0,1,thisclose);
end
在使用中,出现有信号,不下单的情形,肯请帮助!
我先前用ma.ma3#的方式也有出现类似的情况。
只能下周一再试试!