你好,
我在腳本指令在進場成功後,有部位後會先預掛停利單,如下
if position > 0 and FilledAvgPrice > 0
then begin
SetPosition( 0, AddSpread(FilledAvgPrice, win_tick),label:="預掛停利") ;
end;
有開逐筆,但會發現它會一直重新刪除委託再重新掛,請問這樣我該怎麼改較好?謝
有辦法判斷「 是否已有委託過了」而不會再重新刪單再重新委託同一價位?
而不是只要有委託成立,position就會是0了嗎?既然是0,上面的判斷式應就不會反覆成立,不是嗎?
補充2,
我後來加了一個變數來記錄是否已送出過停利委託單,但仍會一直反覆刪單再送單,不知為何?
var:done_w(false);
if position > 0 and done_w = false
then begin
SetPosition( 0, AddSpread(FilledAvgPrice, win_tick),label:="預掛停利") ;
done_w = true;
end;
補充3
當我的預掛停利單有成交後,它仍會反覆再重送委託,
一開始會先這樣的錯誤

補充4
交易安控有設定持有最大部位是1,但在當日的成交記錄中卻有4筆,

可是在我的策略介面,它仍是尚有部位1,感覺非常奇怪!

LGO檔 :
https://drive.google.com/file/d/1n8oESDfuvfU7lKiRT4hdsUiQEf5X-753/view?usp=sharing

7 評論