如何為策略啟動後,保留某變數運算結果,直到策略停止?

  •   145 
  • 最後發表   pure4321  2018 九月 14
pure4321 發文於   2018/09/13

如何在策略啟動後,保留某變數運算結果,直到策略停止?

例如,

If (q_last * q_TickVolume * 1000 > 5000000 And q_BidAskFlag = 1) Then Flag = 1;

If (q_last * q_TickVolume * 1000 > 2500000 And q_BidAskFlag = 1) Then Sum = Sum + q_TickVolume;

Print("Flag=", NumToStr(Flag,0), "、Sum=", NumToStr(Sum,0));

某次新成交訊息進來,因為符合條件,Flag為1,

下次新成交訊息進來,Flag、Sum兩變數又為0,WHY?

另外,請問為策略啟動後,資料開始讀取,是否從程式最前面執行?

以及,每次新成交訊息進來,是否從程式最前面執行?還是只執行程式內即時指標,例如q_last?

XQ小幫手 發文於   2018/09/14

Hi pure4321,

您好,請用 IntrabarPersist 試試看,

例如以下範例程式碼,以上方向供您參考,謝謝。

var:intrabarpersist Flag(0), intrabarpersist Sum(0);
If (q_last * q_TickVolume * 1000 > 5000000 And q_BidAskFlag = 1) Then Flag = 1;
If (q_last * q_TickVolume * 1000 > 2500000 And q_BidAskFlag = 1) Then Sum = Sum + q_TickVolume;
Print("Flag=", NumToStr(Flag,0), "、Sum=", NumToStr(Sum,0));

發表回覆
Close