下面的公式,图表上会出平仓信号,但有时能平仓,有时不能平,不知道什么原因,向各位高手求救了
a:="macd.diff";
b:="macd.dea";
//为避免手动开空后与虚拟图表上有差异,特加入这段阿火代码
aa:tholding2,linethick0;
bb:extgbdata('quanju'),linethick0;
if bb<0 then buyshort(barpos=datacount-2,bb,thisclose);
//
pk:=aa<0 and a>b;
if pk then begin
sellshort(1,0,market);
end
//
if islastbar then extgbdataset('quanju',aa);
-
-在此公式中,图表上会出平仓信号但有时会执行平空操作,有时不会执行平空
这段代码的主要作用是:当macd发生金叉后还留有空单,则平空
是K线走完?
是K线走完?
1秒轮循
//为方便各位复制后手动反向开仓测试,把代码补齐
a:="macd.diff";
b:="macd.dea";
//为避免手动开空后与虚拟图表上有差异,特加入这段阿火代码
aa:tholding2,linethick0;
bb:extgbdata('quanju'),linethick0;
if bb<0 then buyshort(barpos=datacount-1,bb,thisclose);
//若金叉还有空单马上平空
jcpk:aa<0 and a>b,linethick0;
if jcpk then begin
sellshort(1,0,c),allowrepeat;
end
//若死叉还有从多单马上平多
if bb>0 then buy(barpos=datacount-1,bb,thisclose);
scpd:aa>0 and a<b,linethick0;
if scpd then begin
sell(1,0,c),allowrepeat;
end
//
if islastbar then extgbdataset('quanju',aa);
您稍等 ,我们这边测试下。看可会出现这种问题
您稍等 ,我们这边测试下。看可会出现这种问题
非常感谢你们能重视这个问题,这种情况没解决的时候经常被秒杀,目前只得先停了自动化;
另外,使用其它方法如:
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIFF,9);
LJ:=(351*REF(DEA,1)+325*REF(EMA(C,26),1)-297*REF(EMA(C,12),1))/28;//C>LJ,则macd金叉,C<LJ,则MACD死叉
用这方法来定义金叉,仍然存在同样的问题,原因未知
使用了extgbdataset这种全局数据库,你要注意不要在其他策略中或者多个图表上同时加载此类公式,因为全局变量作用于整个金字塔软件,会造成相互干扰。
全局变量数据库属于高级客户使用的技巧,不建议初级客户使用
使用了extgbdataset这种全局数据库,你要注意不要在其他策略中或者多个图表上同时加载此类公式,因为全局变量作用于整个金字塔软件,会造成相互干扰。
全局变量数据库属于高级客户使用的技巧,不建议初级客户使用
恩,以后注意,但,现在无法平仓的问题要如何才能解决?急啊,
大家如果要测试 ,只需要在金叉状态或死叉状态下手动开一手反向单,然后就可以看看图表交易程式化执不执行了。
我用的是1秒轮循,打开了图表交易自动化