請問, 用 setposition 下單之後, 能知道上筆單下單的價格嗎?
因為有, 停損, 停利, 時間..等很多下單的條件, 若無法知道上一筆下單的價格, 在做刪改單時很困擾!
可以參考 Multicharts , 他的下單可以有一個"label" 之後, 我可以知道是那個條件下單!
謝謝!
請問, 用 setposition 下單之後, 能知道上筆單下單的價格嗎?
因為有, 停損, 停利, 時間..等很多下單的條件, 若無法知道上一筆下單的價格, 在做刪改單時很困擾!
可以參考 Multicharts , 他的下單可以有一個"label" 之後, 我可以知道是那個條件下單!
謝謝!
Hello GaryChiang,
您可以參考交易函數裡的 FilledRecordCount 和 FilledRecordPrice。
FilledRecordPrice(FilledRecordCount) 就會是最新一筆的成交價。
FilledRecordPrice(FilledRecordCount-1) 就會是前一筆的成交價。
另外如果沒有分批進場的話 FilledAvgPrice 也可以取得進場價格。
SetPosition 裡有 label 參數,可以讓執行紀律理的交易訊息顯示指令標記。
謝謝小幫手的回答,
但我可能沒說清楚,
我想知道 上一筆"送單", 但"未成交"的單是那一個條件送出的.
例如我有二個出場條件, 我知道已經有預掛了, 因為 position=0, 但是那一個條件送出去的呢?
Hello GaryChiang,
沒有內建的函數可以達到您的需求,但您可以考慮使用變數來記錄相關資訊。
舉例來說:
condition1 = 條件1;
condition2 = 條件2;
if condition1 then begin
setposition(1, close);
value1 = close; //條件1下單的價格
value2 = 0;
end;
if condition2 then begin
setposition(1, close);
value1 = 0;
value2 = close; //條件2下單的價格
end;
if position = filled then begin //若沒有未成交委託的話兩者都為0
value1 = 0;
value2 = 0;
end;
這樣的話當有未成交委託時,value1有數值就代表其委託價以及是由condition1觸發,value2亦然。
3 評論