MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
CROSS(MA1,MA2);
CROSS(MA2,MA1);
SELLSHORT(MARKET);
SELL(MARKET);
BUY(MARKET);
BUYSHORT(MARKET);
加入下面止损公式怎么修改?开多仓后止损立刻设在开仓信号那根k线的最低点;开空仓后止损立刻设在开仓信号那根k线的最高点。
variable:hh=0;
if 开仓条件 then
begin
buy();
hh:=high;
end
回溯到开仓K的位置取开仓的K最低价即可。不要用全局变量。
dtzs:ref(l,ENTERBARS+1);
if holding>0 and c<dtzs then sell();
开仓等待信号k线走完,止损平仓不需要等待k线走完,怎么修改
这个只可以提供一个参考思路。
首先运行肯定要用固定轮询,这样止损就能实时。然后开仓的话条件需要改下,引用上一个K的条件,就是判断上一个K是否满足开仓条件,这样实际开仓就相当于K线走完。
开仓条件:.....;//原先用这个作为开仓条件
实际开仓条件:ref(开仓条件,1);//现在实际开仓条件。