LOWV:=LLV(LOW,9);
HIGHV:=HHV(HIGH,9);
RSV:=EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,3);
K:=EMA(RSV,3);
D:=MA(K,3);
KD:CROSS(K,D);//开仓条件
PD:CROSS(D,K);
PD1:=(AVGENTERPRICE-C)>=10*MINDIFF;//平多条件最新价低于买开仓价10个最小变动价位,多头止损;
KK:=CROSS(D,K);//开空条件
PK2:=(C-AVGENTERPRICE)>=10*MINDIFF;//平空条件高于卖开仓价10个最小变动价位,空头止损;
PK1:CROSS(K,D);
空止盈:SELLSHORT(PK1,holding,market);//平空信号2
空止损:SELLSHORT(PK2,holding,market);//平空信号1
平多:SELL(PD,holding,market);//平多信号1
开多:buy(KD and holding=0,3,market);//开仓信号
多止损:SELL(PD1,holding,market);//平多信号2
开空:BUYSHORT(KK AND HOLDING=0,1,market);//开空信号
hd:holding;
帮忙改一下策略,实盘的,在有仓的情况下,先平仓再开仓
“
在有仓的情况下,先平仓再开仓”你是要判断实际账户有无仓位 吗?还是仅仅指模型内部的判断。
你这里开仓都是有holding=0判断的。也就指它只会在仓位为0时候才开仓的。
你现在意思是 满足开仓条件时候,如果有仓位 还额外执行一个平仓操作吗?
我这个策略用于实盘有没有什么问题,请老师实测一下,如果有问题帮忙改一下,谢谢!
你大概是指什么方面的问题呢。如果是单纯交易思路方面,我们可能帮不上什么忙。
如果说是代码语法方面或者说你思路明确,想明确下代码和交易思路的一致性,这种一般可以做一些判断和处理的。
按照你这个思路,你这个代码也不要改的嘛。按照我自己写的习惯,和你这就一个地方不一样,我们通常是把平仓语句写在开仓前面。就这样,没其他不一样地方了。