停利停損執行

  •   341 
  • 最後發表   大A  2025 五月 21
大A 發文於   2025/05/07

請問一下,圖中的達欣工程有順利觸發停損條件,但台肥的停損觸發沒有成功,會是什麼原因?

主頻率:日K

洗價方式:逐筆洗價

策略部位:延續前次執行+自動執行有部位商品

variable:  _oncePerBar(0);
input:profit_percent(2,"獲利%");
input:loss_percent(3,"損失%");

//=========進場區=========
if position=0 and filled=0  and _oncePerBar =0 and (FilledAtBroker + 1) <= filledUpLimit
and condition2 and condition10 and (condition12 or condition13)   then begin setposition(1,market);
_oncePerBar=1;
end;
end;

//=========出場區=========

if position=1 and filled=1 then begin
if close>=filledAvgPrice*(1+profit_percent/100) then begin setposition(0,market);
end else if close<=filledAvgPrice*(1-loss_percent/100) then begin setposition(0,market);
end;

附加文件

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/05/07

由於勾選自動執行有部位商品,有可能台肥被帶進來的張數大於1,這樣就不會被監控停利及停損。

大A 發文於   2025/05/07

『被帶進來』這個情況會是指什麼?

虎科大許教授 發文於   2025/05/07

手動或其他策略建立的部位會自動被加進來監控。

大A 發文於   2025/05/07

也就是說  台肥在其他策略被觸發成position+1時  ,因為原有台肥的部位就是position=1,所以出場條件是設 position=1時,就會無法觸發出場條件對嗎?  這樣要確保能出場的話,是不是把position設成<>0

虎科大許教授 發文於   2025/05/07

當庫存本來沒有台肥,且監控商品也沒有台肥時,手動下單超過1張,則會將台肥加入監控,但因為position沒有等於1,所以不會出場。

XS小編 發文於   2025/05/21

Hello 大A,

 

小編補充,自動執行有部位商品 是在策略啟動時會將有庫存但不在執行商品中的商品納入一併執行。

故該商品的策略部位數量應該是策略啟動時就確認的 (若有勾選庫存異動時同步的話策略運行中庫存還是可能會改變)。

建議您在腳本上加上 print 將相關數值印出,或許會比較容易找出問題原因。

 

若之後遇到相同問題的話,麻煩提供 交易策略匯出檔 連同印出的資訊 (執行紀錄) 以及 XQ Log 讓相關人員確認。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小編才能盡早處理)。

感謝。

發表回覆
Close