BeLikeCheetah 發表於 18-5-17 11:53

請教二段式移動停利怎麼寫?

MultiChart裡有SetPercentTrailing的移動停利功能,想請教的是,如果今天想設兩個移動停利條件,例如:1. 最高損益>=10000, 拉回50%出場
2. 最高損益>=20000, 拉回10%出場
請問該如何寫出這種兩階段停利?
是不是只能自己去紀錄算最高損益做ifelse判斷改變拉回幅度?
還請高手指教,謝謝

easytrader788 發表於 18-5-17 15:14

inputs:DrawDownR1(50),DrawDownR2(10); //獲利回落比例
vars:Trigger1W(false),Trigger2W(false) ; //超過10000 & 20000的旗標
vars:MP(0) ;

//符合條件時啟動 Trigger
if MP <> 0 then begin
   if MaxPositionProfit > 10000 then Trigger1w = true ;
   if MaxPositionProfit > 20000 then Trigger2w = true ;
end ;

//部位變化時 重設 Trigger
if MP <> MP or MP = 0 then begin
   Trigger1w = false ;
   Trigger1w = false ;
end

//獲利回落到指定條件時出場
if Trigger2W then begin
   if MP > 0 then Sell next bar at (EntryPrice+(MaxPositionProfit*(1-DrawDownR2/100))/BigPointValue) stop ;
if MP < 0 then BuyToCover next bar at (EntryPrice-(MaxPositionProfit*(1-DrawDownR2/100))/BigPointValue) stop ;
end ;

if Trigger1W then begin
   if MP > 0 then Sell next bar at (EntryPrice+(MaxPositionProfit*(1-DrawDownR1/100))/BigPointValue) stop ;
if MP < 0 then BuyToCover next bar at (EntryPrice-(MaxPositionProfit*(1-DrawDownR1/100))/BigPointValue) stop ;
end ;

大概是這樣子的寫法 參考看看

easytrader788 發表於 18-5-17 15:15

MP = MarketPosition ; 上面忘了定義

easytrader788 發表於 18-5-17 20:42

//部位變化時 重設 Trigger
if MP <> MP or MP = 0 then begin
   Trigger1w = false ;
   Trigger2w = false ;
end

BeLikeCheetah 發表於 18-5-17 21:11

easytrader788 發表於 18-5-17 20:42
//部位變化時 重設 Trigger
if MPMP or MP = 0 then begin
   Trigger1w = false ;


我的天... 您還真的把全部邏輯都完整地寫出來了Orz先贈您20金錢以表感謝!

BeLikeCheetah 發表於 18-5-20 19:51

本帖最後由 BeLikeCheetah 於 18-5-20 19:52 編輯

easytrader788 發表於 18-5-17 15:14
inputs:DrawDownR1(50),DrawDownR2(10); //獲利回落比例
vars:Trigger1W(false),Trigger2W(false) ; //超過 ...
經過研究您的程式邏輯,想請問是否可以簡化成以下? 有沒有什麼疏漏的地方?
input: TrgP1( 10000 ), TrgP2( 20000 ), DDR1( 50 ), DDR2( 20 );

if MarketPosition <> 0 then begin
   if MaxPositionProfit > TrgP1 then setpercenttrailing(TrgP1, DDR1) ; //第一階段停利
   if MaxPositionProfit > TrgP2 then setpercenttrailing(TrgP2, DDR2) ; //第二階段停利
end ;




easytrader788 發表於 18-5-20 21:17

理論上可以簡化如您所述,只是我沒使用setpercenttrailling,所以您可能要開IOG測試

kensu 發表於 18-5-25 23:52

Setpercenttrailing 我查之前網路討論區說有bug ,不知道目前是否正常

BeLikeCheetah 發表於 18-5-26 00:42

kensu 發表於 18-5-25 23:52
Setpercenttrailing 我查之前網路討論區說有bug ,不知道目前是否正常

咦?! 我沒發現甚麼問題欸? 你指的Bug是甚麼情況...?

kensu 發表於 18-5-26 15:19

凱衛討論區dis_Content.aspx?rd=1&D_ID=1&SN=27587
        [問題追蹤] MC8.5-PercentTrailing、ProfitTarget勾選委託優化後送單異常

BeLikeCheetah 發表於 18-5-26 17:48

kensu 發表於 18-5-26 15:19
凱衛討論區dis_Content.aspx?rd=1&D_ID=1&SN=27587
        [問題追蹤] MC8.5-PercentTrailing、ProfitTarget勾 ...

阿~ 不過我沒用MC下單欸 只是用來回測而已 這樣也會有問題嗎?

kensu 發表於 18-5-30 13:19

BeLikeCheetah 發表於 18-5-26 17:48
阿~ 不過我沒用MC下單欸 只是用來回測而已 這樣也會有問題嗎?

那我也不清楚~~~~~

qekwee88 發表於 23-3-15 07:33

easytrader788 發表於 18-5-17 15:14
inputs:DrawDownR1(50),DrawDownR2(10); //獲利回落比例
vars:Trigger1W(false),Trigger2W(false) ; //超過 ...

感謝分享

kkreal 發表於 23-3-29 14:44

感謝分享,回覆還有完整程式碼範例,太佛心了感恩。

tudojohn 發表於 24-9-12 19:22

感謝大大分享,可以學習到如何寫移動停利的方式
頁: [1] 2
查看完整版本: 請教二段式移動停利怎麼寫?