BEGIN
IF HOLDING=0 THEN BUY(DIFF1>DEA1 AND K1>D1,100%,MARKET),PERTRADER;
IF HOLDING>0 AND (DIFF1<DEA1 AND K1<D1), THEN//如果持有多单,上次开仓到当前的周期数大于N,那么
BEGIN
SELL(HOLDING,0,MARKET);//平多单,以市价卖出所有持仓量
END
IF HOLDING=0 THEN SELLSHORT(DIFF1<DEA1 AND K1<D1,100%,MARKET),PERTRADER;
IF HOLDING>0 AND (DIFF1>DEA1 AND K1>D1), THEN//如果持有多单,上次开仓到当前的周期数大于N,那么
BEGIN
BUYSHORT(HOLDING,0,MARKET);//平多单,以市价卖出所有持仓量
END
END
想请问下,上述语句哪里有问题,为什么期货上不开空仓呢?
你的代码我没看明白
IF HOLDING>0 AND (DIFF1>DEA1 AND K1>D1), THEN
这里的逗号是什么意思?
就是实现kdj,macd共振,然后,平多。
那么标准格式应该如何写呢?
IF HOLDING>0 AND (DIFF1>DEA1 AND K1>D1), THEN//如果持有多单,上次开仓到当前的周期数大于N,那么
BEGIN
BUYSHORT(HOLDING,0,MARKET);//平多单,以市价卖出所有持仓量
END
END
这里的holding>0要改成holding=0
IF HOLDING=0 THEN SELLSHORT(DIFF1<DEA1 AND K1<D1,100%,MARKET),PERTRADER;
这里的holding=0 要改成holding<0
剩下的你编译对就没问题,编译不对我也不知道你要干什么
改成<0之后编译通过,但是还是没有开空仓的信号是什么原因呢?多仓开是没有问题的。
BEGIN
IF HOLDING=0 THEN BUY(DIFF1>DEA1 AND K1>D1,100%,MARKET),PERTRADER;
IF HOLDING>0 AND (DIFF1<DEA1 AND K1<D1), THEN//如果持有多单,上次开仓到当前的周期数大于N,那么
BEGIN
SELL(HOLDING,0,MARKET);//平多单,以市价卖出所有持仓量
END
就是只有以上这段的时候是没有问题的。
想要一个kdjmacd共振开平仓的公式。
那么holding>0改成holding=0的改没改?
改了,然后多头的信号也没了
不好意思,从t过来,开空平空条件搞反了。谢谢回答!