請問,持有N根K棒後出場,該如何寫?

  •   125 
  • 最後發表   帥哥元  2026 三月 04
帥哥元 發文於   2026/02/05

如題

請問進場之後,在持有N根K棒後,尾盤132400出場,語法該如何寫?

例如:115/02/02進場算第一根K棒,持有5根K棒出場,也就是115/02/06的132400出場

因為計算是以K棒來算,而非日期,所以不能用日期相減的函數

排序方式: 標準 | 最新
虎科大許教授 發文於   2026/02/05

Value1=getBarOffset(20260202);

Value1是目前K棒距離20260202的K棒數。當value1=4 and currentTime>=132400就出場。

帥哥元 發文於   2026/02/05

謝謝許教授,我試試看

帥哥元 發文於   2026/02/06

想再請問

如果市價下單後,1秒內沒成交,就刪單改用跌停價重新下單

請問該如何寫?

GammaCEO 發文於   2026/02/06

抄自己交易腳本內容的,你試試看行不行

variable: intrabarpersist timeup(0);

if condition...then begin

setposition(1,market);

timeup=TimeAdd(GetField("Time","tick"),"s",1);//刪單時間

Alert(text("逾時未成交刪除委託"));

end;

if Position <> Filled and currentTime>timeup then begin

canceallorders();

setposition(-1,getfield("跌停價","D");

end;

XS小編 發文於   2026/02/09

Hello 帥哥元,

 

小編補充,由於 GetField("Time","tick") (這筆Tick在交易所伺服器成交的時間) 和 本機端的時間可能會有差異,所以會建議 timeup 和 跟timeup的時間 用相同機器出來的時間來計算比較。

例如:

timeup=TimeAdd(GetField("Time","tick"),"s",1);

if Position <> Filled and GetField("Time","tick") > timeup then begin

帥哥元 發文於   2026/02/09

謝謝 GammaCEO大 和 XS小編,我來試試看

 

帥哥元 發文於   2026/03/04

請問,我現在使用下列語法去判斷已經持有幾根K棒,短期之內計算都正確,但是持有時間越長,計算出來的值就會偏差

Alert("持倉天數第", NumToStr(getBarOffset(FilledEntryDate) + 1, 0), "根K棒",    //+1的用意是進場當天算第一根

         "目前獲利:", NumToStr(_CurrentProfitPct, 2), "%",

 "FilledEntryDate=", FilledEntryDate);   //顯示進單的日期

截圖圖片

截圖圖片

 

虎科大許教授 發文於   2026/03/04

在交易腳本預設的讀取100筆資料的情況下,應該不會有這樣的問題。是不是你用setTotalBar限制讀取資料筆數?

帥哥元 發文於   2026/03/04

對耶,setTotalBar我設定20,那我改一下數值試試。

謝謝許教授。

發表回覆
Close