Array_Sum的金額 一直是不正確的

  •   129 
  • 最後發表   Robert168  2023 十二月 30
Robert168 發文於   2023/12/27

小幫手你好 我想要在程式語法中 透過陣列紀錄買入賣出的成交資料,達到直接用語法,控制投資金額控管

// 定義用於追蹤多檔股票的陣列

array: InvestedAmount[200](0);  // 各股票的投資金額

array: StockSymbol[200]("");    // 各股票的代碼

var: i(0);

array: AverageEntryPrice[200](0);  // 各股票的平均進場價格

 

 // 每次成交重新計算總投資金額

        TotalInvested = Array_Sum(InvestedAmount, 1, 200); // 重新計算總投資金額

但是檢視 Array_Sum的金額 一直是不正確的

請問問題可能在哪?

完整的交易腳本 我已經寄到XQ 信箱

感謝幫忙~~~

排序方式: 標準 | 最新
XS小編 發文於   2023/12/29

Hello Robert168,

 

請注意setposition在腳本單次運算中只會執行一次,且設定的部位會是第一次執行的數字。

所以小編不建議您將setposition放在for迴圈裡,這樣就算迴圈中條件觸發多次,腳本還是只會下出第一次觸發的交易指令,但陣列的值卻會加總多次。

真要這樣做的話,只要用變數在迴圈中紀錄要增加的部位數量,接著在迴圈外再下出交易指令即可。

且加倉邏輯內增加的部位數是position+1,那麼在計算InvestedAmount的時候用UnitSize就不符合增加的部位 (應該是i)。

您可以使用 print 函數將相關數值印出來確認,會比較好找出問題原因。

Robert168 發文於   2023/12/30

謝謝 小幫手

發表回覆
Close