自製指標 && 庫存判斷

  •   173 
  • 最後發表   tradeNew  2022 三月 07
tradeNew 發文於   2022/03/04

Question1:

 

請問自製的指標,可以放到手機上用嗎?

 

Question:

 

測試出現一個BUG,倉庫部位為=0,五分鐘頻率,逐筆洗價

 

我自己實測 先跑 Setposition(2,market); 是不會進到第二行裡面

 

但我實際去跑腳本會發現,有時候第二行判斷會過(這我非常納悶 實測不會),導致我再取  FilledRecordPrice(FilledRecordCount) 的時候會發生

(1101)取成交資訊紀錄 的錯誤, 請問這要如何solve?

有可能是因為逐筆洗價的原因,同一個時間例如 15:30 145 類似這樣 觸發兩次嗎?

code 如下:

Setposition(2,market); --- 第一行

if position = 2 then begin  ---- 第二行

var: priceMore(100000); ----- 第三行

priceMore =  FilledRecordPrice(FilledRecordCount);  --- 第四行

end;

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/03/04

Hello tradeNew,

 

1. 指標腳本無法使用在手機上。

 

2. 您可以參考 SetPosition 的說明。

position的變動在同次執行中都不會改變,您可以實際print出來觀察。

小幫手認為有可能是單子出去以後還未有成交回報就先洗價,所以腳本執行時因為有position所以進到if裡面,但由於沒有實際交易所以出錯。

建議您可以將條件改為 if position = 2 and filled = 2 then begin

確保是有實際交易過。

tradeNew 發文於   2022/03/04

但是如果改成 if position = 2 and filled = 2 

我下次再開的時候 filled又變成0了阿 ....這樣就無法設定條件賣出了

XQ小幫手 發文於   2022/03/07

Hello tradeNew,

 

小幫手指的是這一段

if position = 2 then begin 

    var: priceMore(100000);

    priceMore =  FilledRecordPrice(FilledRecordCount);

    end;

FilledRecordCount 要有實際成交才會改變,您沒有成交過的話會是0。(除非您原本有庫存,且選擇依庫存)

而您的成交資訊紀錄錯誤應該就是因為沒有成交資訊,您卻要去取不存在的資料而錯誤。

 

或是你也可以用個更好理解的方式處理:

if position = 2 and FilledRecordCount > 0 then begin 

    var: priceMore(100000);

    priceMore =  FilledRecordPrice(FilledRecordCount);

    end;

這樣就可以確保不會因為沒有交易紀錄而導致錯誤。

如果您只是單純需要庫存成本的話,也可以使用filledavgprice來取得該資訊。

發表回覆
Close