我寫了一個日盤和夜盤前2分鐘強平的語句,總是出錯,一開就平,請問問題在哪里呢?
IF timetot0(dynainfo(207))-(timetot0(closetime(4))-60*2)<=3 THEN BEGIN
日收盤平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
日收盤平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END
IF timetot0(dynainfo(207))-(timetot0(closetime(1))-60*2)<=3 THEN BEGIN
夜收盤平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
夜收盤平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END
調試的時候用的是以下語句:
IF timetot0(TIME)=timetot0(closetime(4)) THEN BEGIN
測試日收盤平多:SELL(HOLDING>0,手數,MARKET),LINETHICK0;
測試日收盤平空:SELLSHORT(HOLDING<0,手數,MARKET),LINETHICK0;
END
IF timetot0(TIME)=timetot0(closetime(1)) THEN BEGIN
測試夜收盤平多:SELL(HOLDING>0,手數,MARKET),LINETHICK0;
測試夜收盤平空:SELLSHORT(HOLDING<0,手數,MARKET),LINETHICK0;
END
測試沒有問題,因為沒有設提前2分鐘強平。
是不是要寫提前2分鐘強平,就需要把運行模式改為逐K,固定時間運行?
應用在哪個周期上的?
應用在3分鐘周期上。
IF (timetot0(dynainfo(207))-(timetot0(closetime(4))-60*2)<=3) or (not(islastbar) and time=closetime(4)) THEN BEGIN
日收盤平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
日收盤平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END
IF (timetot0(dynainfo(207))-(timetot0(closetime(1))-60*2)<=3) or (not(islastbar) and time=closetime(1)) THEN BEGIN
夜收盤平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
夜收盤平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END