以下是策略,发现一个问题,平多了,立即又开多,从股价看未出现开多条件。
macd:=stkindi('','macd.macd1',0,6);//日macd值
macd_1:=stkindi('','macd.macd1',0,5);//60分钟macd
macd_2:=stkindi('','macd.macd1',0,5,-1);// 前一个60分钟macd
VAR1:=LLV(LOW,5);
VAR2:=HHV(HIGH,5);
j:=stkindi('','kdj.j',0,6);
牛线:= EMA((CLOSE-VAR1)/(VAR2-VAR1)*100,4);
马线:= EMA(0.667*REF(牛线,1)+0.333*牛线,2);
买:=CROSS(牛线,马线) AND MACD>REF(MACD,1) AND J>REF(J,1);
if CROSS(牛线,马线) AND MACD>REF(MACD,1) AND J>REF(J,1)and time>=145500 then tbuy(tbuyholding(1)=0,20000/close,mkt);
if tbuyholding(0)>0 and c>tenterprice*1.04 then tsell(1,0,mkt);
if c<tenterprice*0.93 and tbuyholding(0)>0 then tsell(1,0,mkt);
if tenterbars>=20 then tsell(1,0,mkt);
你要做调试,后台有什么问题都要调试一下,而不是去靠感觉
用debugout来调试一下,看看是不是如用户所讲的“条件不满足”。调试出每个下单条件和下单变量,看看是不是满足下单条件
debugout与记录下单日志的功能一样吗?
debugout与记录下单日志的功能一样吗?
不一样,调试输出是调试输出自己需要调试的变量和条件。日志就是下单信息的记录
这个时候是你需要调试一下每个条件,看看是不是如你所想的,不成立
这个软件是什么?
公式中有个A:=ref(c,1);的语名,调试时发现A不返回前一日的收盘价(后台交易),逐K线和序列模式都试过了。尝试改为A:=ref(c,0);试了一下,能返回当天的收盘价。不知为什么?