程式碼,下單部分只有下面這裡

if IsFirstCall("Bar") then begin
    print("----------",Pre_signalState,signalState[1],Position);
    if Pre_signalState = -1 and signalState[1] = 1 then begin
        SetPosition(1, MARKET);
        Pre_signalState = 1;
        print("多");
    end;
    if Pre_signalState = 1 and signalState[1] = -1 then begin
        SetPosition(-1, MARKET);
        Pre_signalState = -1;
        print("空");
    end;
end;    

 

下面圖片是回測結果,只對了前4筆就發現掉了2筆,先放上回測交易結果,下面會慢慢解釋

截圖圖片

從上圖可以看到,9/2進多單後,直到9/8才轉方向。但我看印出的debug message發現,中間掉了2次交易。

 

第一次掉的如下,從除錯訊息可以看出,9/3 13:15 有進一個空單,但為什麼回測交易分析沒看到?

截圖圖片

 

第二筆掉的交易如下,可以看到9/3 23:30進一個多單,但為什麼回測交易分析沒看到?

截圖圖片

 

請許教授幫忙找問題,大感謝