From: 阿政
固定金額停利停損:
當整體部位的最大獲利金額到達*10時,產生平倉所有部位的委託
setstopposition;
SetProfitTarget(entryprice*10);
當個別部位的最大獲利金額到達*10時,產生平倉該個別部位的委託
setstopcontract;
SetProfitTarget(entryprice*10);
當整體部位的最大虧損金額到達*10時,產生平倉所有部位的委託
setstopposition;
setstoploss(entryprice*10);
當個別部位的最大虧損金額到達*10時,產生平倉該個別部位的委託
setstopcontract;
setstoploss(entryprice*10);
固定百分比(%)停利停損:
Value1= EntryPrice(0)*0.01*pointvalue; //以停損設在進場價的1%為例
setstopcontracts;
setstoploss(Value1);
無法如所預期的運作的原因其實就在 EntryPrice(0) 的取得時間是在進場K棒的結束,而沒取得的時候...它拿了 0 來當做 EntryPrice。如果你打算使用日線的策略又想做好停損的控制,就會知道這個東西的重要性了。
既然問題出在 EntryPrice 取得的時間無法及時的話,只有走向打開 IntrabarOrderGeneration 一途了,也就是啟動 This bar 模式,但是如果在原始的策略理就直接打開 IOG 的話,恐怕程式的運作又會出現不是我這笨笨小腦袋所想的意外狀況,請參考:我在凱衛討論區提出的 IOG 疑問
為了要在已經發生進場但K棒尚未結束時及時取得 EntryPrice,開啟 IOG 成了必須。但是我不要讓原本的策略開啟 IOG,因此我就只好把進場價百分比停損的這個部分,另外做一個訊號,在這個部分開啟 IOG,而原始的策略則不開,同時避免 MC 在還沒取得 EntryPrice 的時候就拿個零來塞,如下:
[IntrabarOrderGeneration = True];
Input:StopPercent(0.01);
if EntryPrice(0)0 then begin
Value1= EntryPrice(0)*StopPercent*PointValue;
setstopcontract;
setstoploss(Value1);
end;
終於,我們得到這樣的效果了!進場的當根可以得到停損的控制,又不會亂搞。
只是,只要圖表上所放的訊號,其中一個有開啟 IOG 的話,回測的時候務必開啟"細部回測",而要細部回測到 Tick 的話,你所擁有的電腦,恐怕就要夠力才不會讓人想哭了 XD 。
- Jul 11 Wed 2012 15:57
固定金額停利停損 VS 固定百分比(%)停利停損
close
全站熱搜
留言列表