想請教小編,您的移動停利及移動停損撰寫方式為何?
與內建的草稿一樣?
回測多次後實在不太瞭解內建移動停利及停損的邏輯為何?
Hello MJM,
關於移動停損停利,討論區已經有很多文章範例可供參考。
內建的交易腳本也是類似的邏輯所撰寫出來。
運作方式都是設定停損點與停利點。
移動停損的話是:
1.價格上漲時,停損點會跟著往上。
2.價格上漲到停利點或下跌到停損點時會出場。
移動停利則是:
1.價格上漲到停利點時,停損點才會開始跟著往上。
2.只有價格在跌破停損點的時候才會出場。
如果您想了解該腳本是如何運作的話,建議您可以複製內建腳本後加上print把停損點跟停利點印出觀察。
我想詢問如果做多可以追漲不追跌
就是回檔設定4點停利
當進場價格為100元,一路上漲到108
獲利會同步往上追漲放大
等到回檔跌破106才出場
這種方式可以如何撰寫???
Hello MJM,
您的需求看起來比較像是移動停利,不過一般來說停損點和最高點的距離應該會是固定的。
像是您例子中的4點,當上漲到108時停損點會上移到104。
另外,您的停損點是否要像內建的移動停利那樣,要到一個價位以上才會開始移動 (ex.104)。
如果只是要像您描述的話,可以參考以下範例:
var: stop_point(0), controller(0);
condition1 = 進場條件...;
if position = 0 and filled = 0 and condition1 then setposition(1, market);
if position > 0 and filled > 0 then begin
if controller = 0 then begin
stop_point = (filledavgprice - 4); //計算初始停損點 (ex. 價格100的話就是96)
controller = 1;
end;
if (close - 4) > stop_point then stop_point = (close - 4) //如果價格往上的話,停損點就跟著往上 (ex.價格上到108的話,停損點就跟著上到104)
else if close <= stop_point then begin //如果價格低於停損點的話,出場
setposition(0, market);
controller = 0;
end;
end;
網站上有教學區,裡面有XS語法的基礎和應用可供閱覽。
所以4點是代表4元價差的意思嗎?
我知道有教學區,但我其實想要的是有沒有利用tick的方式去撰寫後可以正常執行的移動停利跟移動停損的腳本?
Hello MJM,
如果要變數保存每次逐筆洗價運算的結果,您可以使用 IntrabarPersist 來宣告。
像是:
var: IntrabarPersist stop_point(0), IntrabarPersist controller(0);
close - 4 就是代表4元價差沒錯,若您要的是4檔價差的話,可以使用 AddSpread 來計算。
如果您使用上有問題,可以告知您覺得有錯的運算,然後讓小幫手檢驗看問題為何。
你的意思看起來是不要設定停利點,持續上漲沒有限制,等回檔下跌觸碰到自訂的差額出場? 而這個差額會隨著上漲即時更新上去對吧?
Hello musashi,
小幫手看起來您的描述和 MJM 的需求相同。
可以參考系統內建的移動停利腳本 (系統 -> 2- 下單出場方式)。
7 評論