自動交易刪除委託單

  •   311 
  • 最後發表   libra  2022 十一月 24
libra 發文於   2021/09/12

請問小編大大
空方策略
自動交易送出委託單經過3根K棒(3分鐘)未成交
刪除委託單這樣寫不知道對不對
總覺得不知道哪裡怪怪的,總覺得根下方出場策略有衝突
//==============================================

{刪除委託單}

if Position < 0 and Filled = 0

and close < close[1]

and close < close[2] //經過2個K棒

then begin SetPosition(filled ,market); //刪除委託單

end;

 

//=========================================================

{ 依照成本價格設定停損/停利: 請注意當作空時, 判斷是否獲利的方向要改變 }

if Position <> 0 and Filled <> 0 //假設部位不等於0

 

then begin{ 停利 }

if close <= filledAvgPrice*(1-0.01*profit_percent)

then begin

SetPosition(0);

 

end else{ 停損 }

if close >= filledAvgPrice*(1+0.01*loss_percent)

then begin

SetPosition(0);

end;

end;

 

//==============================================

{ 出場時間 }

if Position <> 0 

and time >= 104000

and Close < filledAvgPrice

then SetPosition(0);

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/09/15

Hello libra,

 

您可以直接使用 Position 來作判斷。

舉例來說

if trueall(position <> filled, 3) then setposition(filled);

這樣就會判斷近3根Bar部位和庫存是否不同,如果連續三根都不同的話就刪除委託單。

另外小幫手會建議將其放在腳本最下方,讓與其他交易指令衝突時先執行他項。

  • 按讚來自於
  • small641016
閒人 發文於   2022/11/19

請問,setposition(filled)刪除委託的指令,可以不用理會委託價格嗎?

XQ小幫手 發文於   2022/11/22

Hello 閒人,

 

就小幫手所知,刪除委託單並不需要輸入價格。

setposition 也不一定需要設定委託價格,若是空值的話會依照策略設定送出指定價格委託。

funleica 發文於   2022/11/22

請問小幫手,如果在洗價模式這樣還是3根K棒嗎?

 

 

Hello libra,

 

您可以直接使用 Position 來作判斷。

舉例來說

if trueall(position <> filled, 3) then setposition(filled);

這樣就會判斷近3根Bar部位和庫存是否不同,如果連續三根都不同的話就刪除委託單。

另外小幫手會建議將其放在腳本最下方,讓與其他交易指令衝突時先執行他項。

 

XQ小幫手 發文於   2022/11/24

Hello funleica,

 

是的,一樣是3根Bar。

因為 [n] 的方式取得的時前n根Bar的資料,不會因逐筆洗價而變成前 n 筆交易的資料。

您可以參考內建的 TrueAll 函數。

  • 按讚來自於
  • funleica
funleica 發文於   2022/11/24

謝謝小幫手詳細說明

發表回覆
Close