取消所有平倉單

  •   172 
  • 最後發表   steven  2021 四月 28
steven 發文於   2021/04/25

請教一下

如果自動下單掛一張平倉單

之後我要取自動下單取消該張平倉單

不是用改價的方式

而是只有刪除平倉單

應該怎麼表示?

例如:我有一張setposition(0,q_dailydownlimit)

目前掛在跌停價準備回補

然後當股價來到跌停價我又不想回補了

此時便無法用改價的方式

那我該怎麼只有自動取消平倉單?

 

 

 

 

排序方式: 標準 | 最新
GaryChiang 發文於   2021/04/26

setposition(filled);

應該就行了!

 

  • 按讚來自於
  • stevensh
steven 發文於   2021/04/26

謝謝gary

XQ小幫手 發文於   2021/04/27

感謝 GaryChiang 的熱心回覆。

  • 按讚來自於
  • stevensh
steven 發文於   2021/04/28

請教一下想要把未成交的平倉單改價,我試了很久還是不行

例如我掛了一筆價錢在20.5的平倉單

 if filled<>0 then begin cover(1,20.5); end;

但是三筆後沒有成交,於是我想改價  

if filled<>0 and trueall(filled=filled[1],3)

then begin setposition(filled); end;  

然後我想改價錢成20,所以

if filled<>0 then begin cover(1,20); end;

請教一下上述的式子要如何安排

因為不管怎麼安排 他都會先執行第一行

以致無法重新掛價錢

 

 

 

XQ小幫手 發文於   2021/04/28

Hello steven,

 

您可以多設個變數當開關,並用另一個變數計算過了多久。

依照您的例子,如果是要過了三根bar的話:

var: start_counting(0), bar_pass(0);

if ...平倉條件... then begin

    if start_counting = 1 and filled < 0 then begin

        bar_pass += 1;     //每過一根bar增加1

        if bar_pass >= 3 then cover(1, 20);       //三根bar後改為這價格出場

        start_counting = 0;

        end;

    if start_counting = 0 and filled < 0 then begin 

        cover(1, 20.5);

        start_counting = 1;

        end;

    end;

 

如果您是要經過三個洗價的話,那可以將變數改用 IntrabarPersist 的模式。

 

steven 發文於   2021/04/28

謝謝小幫手 我試試

 

發表回覆
Close