語法撰寫

  •   209 
  • 最後發表   阿yoyo  2022 四月 29
阿yoyo 發文於   2022/04/15

抱歉本身很菜才剛接觸~

想請問一下移動停利的寫法,我是看XS內建的腳本然後把它放進去我的策略當中,但好像編譯失敗所以想詢問該怎麼修改,謝謝!

 

var:intraBarPersist intoFirst(false); //KD多  

input: profit_point(30, "停利(點)");

input: profit_drawback_point(8, "停利回跌(點)");

 

if currentTime>084959

    and K_Value(9,3)>D_Value(9,3)

and K_Value(9,3)[1]<20

and K_Value(9,3)>K_Value(9,3)[1]

then

begin

once setposition(1);

end;

 

if position>0 

   and (enterMarketCloseTime(20) or (K_Value(9,3)<K_Value(9,3)[1]) then setposition(0);

 

if profit_point = 30 then raiseruntimeerror

if profit_drawback_point = 8 then raiseruntimeerror

if profit_drawback_point > profit_point then raiseruntimeerror

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

Hello 阿yoyo,

 

您腳本有誤的地方在於 onceraiseruntimeerror

還有 K_Value 跟 D_Value 也沒有被令成變數。

profit_point 和 profit_drawback_point 是參數 (固定值),所以您 if profit_point = 30 then raiseruntimeerror 代表只要一執行就會中斷。

 

小幫手建議您可以先閱覽網站上的教學區,裡面有XS語法的基礎和應用。

系統內建的腳本中有停利停損的寫法,在您對XS語法有了基礎後會比較容易懂。

或是您可以描敘一下您的需求,讓小幫手來寫個簡單範例。

阿yoyo 發文於   2022/04/22

感謝您的回覆~

前面進場條件看了教學後大概能理解,不過在出場部分需要您的幫忙。

停損的部分我是設置一個固定條件所以還寫得出來,不過在移動停利方面仍然不得其解,我的策略邏輯舉例來說是若獲利超過X點以上(期指),則若是拉回超過Y點就出場.

也就是若已經賺到X點行情開始拉回,則獲利X-Y點出場

          若賺到X+8點行情才開始拉回,則獲利X+8-Y點會出場

感謝您的幫忙!

XQ小幫手 發文於   2022/04/29

 Hello 阿yoyo,

 

您可以參考系統內建的交易腳本,裡面有多種不同的停損停利出場方式。

討論區內也有許多類似的文章可以閱覽,像是 利用百分比來計算移動停利

您的範例基本上就是使用intrabarpersist的變數來記錄進場後的最大值 X,並在 X 超過 進場價格 + 8 之後計算出場點 X - Y這樣。

 

 

發表回覆
Close