咨詢內容: 一個策略里面有兩套系統,其中一套要求條件(long1/short1)一觸發就下單,而另外一套要求條件(long2/short2)觸發后在K線走完前提前N秒下單,圖表交易時用“固定時間間隔1秒”輪詢模式,下面代碼是否正確?請老師指點:tqxiadan:=(time0-timetot0(dynainfo(207))<=N) or not(islastbar);//提前下單秒數//開多 if long1 then begin sellshort(holding < 0 , ss,limitr,close),ignorecheckprice,orderqueue; buy(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; end //開空 if short1 then begin sell(holding > 0, ss,limitr,close),ignorecheckprice,orderqueue; buyshort(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; end if tqxiadan then begin //開多 if long2 then begin sellshort(holding < 0 , ss,limitr,close),ignorecheckprice,orderqueue; buy(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; end //開空 if short2 then begin sell(holding > 0, ss,limitr,close),ignorecheckprice,orderqueue; buyshort(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; endend
網友回復: 一個策略里面有兩套系統,其中一套要求條件(long1/short1)一觸發就下單,而另外一套要求條件(long2/short2)觸發后在K線走完前提前N秒下單,圖表交易時用“固定時間間隔1秒”輪詢模式,下面代碼是否正確?請老師指點:tqxiadan:=(time0-timetot0(dynainfo(207))<=N) or not(islastbar);//提前下單秒數//開多 if long1 then begin sellshort(holding < 0 , ss,limitr,close),ignorecheckprice,orderqueue; buy(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; end //開空 if short1 then begin sell(holding > 0, ss,limitr,close),ignorecheckprice,orderqueue; buyshort(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; end if tqxiadan then begin //開多 if long2 then begin sellshort(holding < 0 , ss,limitr,close),ignorecheckprice,orderqueue; buy(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; end //開空 if short2 then begin sell(holding > 0, ss,limitr,close),ignorecheckprice,orderqueue; buyshort(holding = 0, ss,limitr,close),ignorecheckprice,orderqueue; endend