var: bClosePosition(False);
var: b30Ktick(False);
var: intrabarpersist bTrailingStop(False);
var: intrabarpersist bFirstTime(True);
value1=Minute(CurrentTime);
value2=Second(CurrentTime);
if (CurrentTime>=084500 and CurrentTime<134500) then begin // 日盤
print("日",value1,b30Ktick); //第一個印出b30Ktick
if (value1=15 or value1=45) then b30Ktick=True
else begin
b30Ktick=False; //後來加的
bFirstTime=True;
end;
print("-",b30Ktick); //第二個印出b30Ktick
end;
以上是程式一開始。我發現,bTrailingStop沒被設定為TRUE前,b30Ktick行為就是,第一個印出b30Ktick是FALSE,如果符合條件式,第二個印出就是TRUE,完全依照邏輯走。但是當程式後面bTrailingStop=TRUE後,b30Ktick在第一個印出的地方就是TRUE。有逐筆洗價,每次一開始,b30Ktick應該被初始化為FALSE才是,為什麼第一個印出會被干擾而變成TRUE?
8 評論