想請問小編程式寫法的問題

  •   183 
  • 最後發表   豬仔  2023 二月 16
豬仔 發文於   2023/02/15

想請問小編我這樣寫會有問題嗎!

5分k棒收完大於昨日最高點或最低點,即進場,收破進場k棒低點即出場

非常感謝小編的回答!

condition1 = GetSymbolField("FIMTX*1.TF", "收盤價", "5") > highD(1) or lowd(1) //進場條件

 

value1 = low;  //用變數紀錄進場bar的最低點

condition3 = close < value1;  //收盤低於進場時該根bar的低點

if Position = 0 and filled = 0 and condition1 then begin

SetPosition(1, MARKET); //符合條件1且手上沒有庫存部位的話就進場

end;

if position <> 0 and filled <> 0 and (condition3) then begin

    setposition(0, market);  //手上有部位庫存,且符合條件3或條件4的話出場

value1 = 0;

end;

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

Hello 豬仔,

 

如果您使用的商品是FIMTX*1.TF的話,那麼不用特別使用GetSymbolField,直接使用close即可。

如果要等K棒完成才判斷的話,不勾選逐筆洗價即可。

condition1應該寫成 condition1 = close > highd(1) or close > lowd(1);,但如果您的收盤價大於昨日的最高點的話一定會大於最低點,所以其實不需要另外寫大於最低點。

另外用變數紀錄進場Bar低點的時候應該是將其放在進場判斷裡面:

if Position = 0 and filled = 0 and condition1 then begin

    SetPosition(1, MARKET); //符合條件1且手上沒有庫存部位的話就進場

    value1 = low;

    end;

您原本的寫法會變成每次腳本運算時變數都記錄當下的low。

 

 

豬仔 發文於   2023/02/15

小編抱歉是我說的不太清楚,這個策略是這樣子的

前一天的最高與最低點當作關鍵價位例如 15000、14800

今天盤中5分k只要該5分棒收過15000或14800即下一支k棒一開就進場,例如15001或是14801

但如果開盤是開在15000-14800之間 14800這個條件是不會觸發的,一定要由下往上收破才會觸發

如果收破進場k棒的低點,下一支5分棒一開就以市價出場

 

如附件!!

 

附加文件

XQ小幫手 發文於   2023/02/16

Hello 豬仔,

 

小幫手還是不懂您的問題。

如果是價格收在昨日高點以上或昨日低點以下的話進場的話,您只要拿價格比較就好,這和價格是否在高低點裡面是沒有關係的。

condition1 = close > getfield("High", "D")[1];

condition2 = close < getfield("Low", "D")[1];

若是想避開符合條件就一直下單的狀況,加上 position 和 filled 來控制即可。

可參考此篇文章內容。

https://www.xq.com.tw/lesson/xsat/%e8%87%aa%e5%8b%95%e4%ba%a4%e6%98%93%e8%aa%9e%e6%b3%95%e4%bb%8b%e7%b4%b9/

然後在進場後用變數保存進場時的該根Bar的 low 即可。

舉例來說:

var: intrabarpersist _entryLow(0);

condition1 = close > getfield("High", "D")[1];

condition2 = close < getfield("Low", "D")[1];

condition3 = position = 0 and filled = 0;

 

if (condition1 or condition2) and condition3 then begin

    setposition(1, market);

    _entryLow = low;

    end;

 

if close < _entryLow and not condition3 then begin

    setposition(0, market);

    _entryLow = 0;

    end;

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

豬仔 發文於   2023/02/16

好的非常感謝小幫手,我再試試看~

發表回覆
Close