我想写一个后台交易的止损语句,要求止损条件如下,比如5分钟交易周期:
一、如果当前持有多单,且这根5分钟K线跌幅超过1%,则立即止损;
1.如果没有哪根K线跌幅超过1%,则一直按照原交易系统持有多单不动;
2.如果这根5分钟K线触发了止损,则这根5分钟K线结束后,将继续按照交易系统的信号方向下单,如果交易系统还是多头方向,则继续拿回多单;如果交易系统已经翻空,则立即做空;
二、如果当前持有空单,且这根5分钟K线丈夫超过1%,原理如上。
我怎么尝试都没有成功,求管理员大哥帮忙写一下完整的语句,最好能让我复制粘贴后直接能用的,非常感谢。
1和2哪个没有写成功?
就按照多头为例
if (h-l)/h>=1% and tholding>0 then begin//判断涨跌幅度,同时在有持仓的情况下操作
tsell;//平仓语句,参数自行设置,在此省略
extgbdatast(' 方向',1);//平仓后记录此时的方向,多头为1,空头可以记录为-1
end
if ref((h-l)/h>=1%,1)=1 and tholding=0 and extgbdata('方向')=1 then begin //上个k线满足涨跌幅条件,同时没有持仓方向变量为多头时
tbuy;//开仓语句,参数自行设置,在此省略
extgbdata('方向',0);//把方向变量改成0,表示已经开仓
end
我试试看,非常感谢
extgbdatast(' 方向',1);//平仓后记录此时的方向,多头为1,空头可以记录为-1
其中系统报错,说函数“extgbdatast”未定义,这里是否有误?
恩,谢谢回复,还有
extgbdata('方向',0);//把方向变量改成0,表示已经开仓
这句,系统提示说函数‘extgbdata’所调用的参数与预定义参数不符
可以实现立即止损,但止损后,仍然不能拿回仓位。比如当前持多,这根K线止损了,但在这根K线结束后,如果交易系统仍然为多单,程序没有开出多单,而是什么单都不开。请教能否对上述止损语句进行一些修改?