2008年06月13日

その名もMSST2

衝撃のドローダウンから一夜、このドローダウンには根本的な対策が可能かどうか考えてたときにまたひらめきました。

要するにバリエーションの問題なんです。

MSSTは売買のルールのパラメータをおよそ500持っています。そして、そのパラメータすべてで売買履歴をつけて、調子のいいパラメータに従います。しかしそれでもドローダウンが発生した。この時点でもパラメータの入れ替えは行われたはずですが、結果として効果がなかったわけです。
そこで、まず入れ替えても効果がないようなわずかな違いのパラメータを大幅に削りました。全体をおよそ、1/3にしました。
それから、目標利益と損切り設定を排除しました。これを固定パラメータとすると、逃げ場がなくなるからです。昨夜話した150Pipsのストップロスですが、なにもそこまで我慢しなくていいと気がついたわけです。
そこで、パラメータのバリエーションに撤退ルールを加えることでパラメータのバリエーションを2500にまで増やしました。

バックテストだと3日のシミュレーションに1時間かかります。爆
とりあえず、最初の1ヶ月で月利100%越えてます。爆
気がついたら縞馬さんの厳命月利300%も目前まできています。
なんか余計に過激になってしまったみたいです。

3年分のバックテストにどれだけ時間がかかるのか・・・・

しかし、実際の相場では時間はたっぷりあるので大丈夫です。
posted by (;D)笑男 ◆LeBIz0ZWfs at 21:20| Comment(3) | TrackBack(0) | 為替・FX・MT4 | このブログの読者になる | 更新情報をチェックする

2008年06月11日

その名もMSST

お待たせしました!
MSSの新バージョンのテスト結果がでましたので発表します。

StrategyTesterMSST18.gif


























通貨ペアEURUSD (Euro vs US Dollar)
期間1分足(M1) 2006.10.02 00:00 - 2008.03.07 22:59 (2006.10.01 - 2008.03.08)
モデルEvery tick (the most precise method based on all available least timeframes)
パラメーターMagicNumBase=80425; PFPeriod=80; MaxPos=4; Filter=0.03; TakeProfitPips=50; StopLossPips=150; TMRLotspoint=0.1;
Bars in test449458Ticks modelled2121862Modelling quality25.00%
Mismatched charts errors0
Initial deposit10000.00
Total net profit188935.70Gross profit298514.30Gross loss-109578.60
Profit factor2.72Expected payoff1015.78
Absolute drawdown3893.70Maximal drawdown37341.95 (63.61%)Relative drawdown63.61% (37341.95)
Total trades186Short positions (won %)0 (0.00%)Long positions (won %)186 (87.10%)
Profit trades (% of total)162 (87.10%)Loss trades (% of total)24 (12.90%)
Largestprofit trade9120.00loss trade-9033.00
Averageprofit trade1842.68loss trade-4565.77
Maximumconsecutive wins (profit in money)35 (156655.95)consecutive losses (loss in money)3 (-23269.40)
Maximalconsecutive profit (count of wins)156655.95 (35)consecutive loss (count of losses)-23269.40 (3)
Averageconsecutive wins12consecutive losses2


いかがでしょうか?
2006.10.01 - 2008.03.08のEURvsUSDです。
一年と半年で利回り1800%!!
縞馬さんの厳命月間300%には遠く及びませんが、なかなかのパフォーマンスではないでしょうか。

しかし、たまたま今年の3月までしかテストしてなかったのは悔やまれますね。そこで、再度テストして今月の頭までテスト期間を延長してみました。

それがこれです!


StrategyTesterMSST182.gif



























通貨ペアEURUSD (Euro vs US Dollar)
期間1分足(M1) 2006.10.02 00:00 - 2008.06.03 12:17 (2006.10.01 - 2008.06.11)
モデルEvery tick (the most precise method based on all available least timeframes)
パラメーターMagicNumBase=80425; PFPeriod=80; MaxPos=4; Filter=0.03; TakeProfitPips=50; StopLossPips=150; TMRLotspoint=0.1;
Bars in test527990Ticks modelled2743212Modelling quality25.00%
Mismatched charts errors0
Initial deposit10000.00
Total net profit195282.45Gross profit916231.80Gross loss-720949.35
Profit factor1.27Expected payoff756.91
Absolute drawdown3893.70Maximal drawdown412084.50 (83.05%)Relative drawdown83.05% (412084.50)
Total trades258Short positions (won %)0 (0.00%)Long positions (won %)258 (85.66%)
Profit trades (% of total)221 (85.66%)Loss trades (% of total)37 (14.34%)
Largestprofit trade21600.00loss trade-73887.90
Averageprofit trade4145.85loss trade-19485.12
Maximumconsecutive wins (profit in money)40 (208084.30)consecutive losses (loss in money)5 (-269731.20)
Maximalconsecutive profit (count of wins)313483.15 (23)consecutive loss (count of losses)-269731.20 (5)
Averageconsecutive wins12consecutive losses2


ちょwwwww

おいwwwww

見事なカーブフィッティングでした。

本当にありがとうございました。

最後のドローダウンはほんとにひどいですね。
約80%の種を飛ばしてしまいました。
このストラテジは調子がよくなると最大で4つのポジを同時に持ち、それぞれが種の10%を証拠金として100倍で運用します。そしてストップロスは150Pipsに設定してありますから、1つのポジが15%のロスを発生させます。それが4つですから60%。連続で食らったのでたいへんなことになりました。

が、それでも後半盛り返して1800%は死守してますね。なんせ瞬間最大4500%です。
確かにドローダウンは怖いですが、利回りがこれだけいいと元金なんてあんまり関係なくなってきますからね。
PFを維持してくれるならこれもありではないでしょうか。
たぶん100万円もあれば2年で1億いくわけですから。
それ以後は100回破産しても元金はあるわけです。

というわけで、いよいよこのストラテジはアメリカに輸出してアメリカサーバで稼動テストへと移行したいと思います。
せっかくでかいドローダウンしたところですから、さっさと本稼動させてみたいですね。

時間に余裕ができたらこのストラテジのポジションサイズを調整して年率50%MAXドローダウン10%くらいのストラテジを作って公開したいなぁとか思います。

ぜひ、ブログランキング応援してくださいね。
下のランキング投票ボタンをポチ・・・・・


ランキングに登録してねーよ!!おい!!
posted by (;D)笑男 ◆LeBIz0ZWfs at 23:35| Comment(4) | TrackBack(0) | 為替・FX・MT4 | このブログの読者になる | 更新情報をチェックする

2008年06月10日

のどに刺さった魚の小骨

原因不明のエラーに悩まされています。

double stoplossA = OrderStopLoss();
double stoplossB = ST_OpenPlice+ST_StopLoss*Point;

 ・
 ・
 ・
 ・

 if(stoplossA>stoplossB) {
 if((stoplossA-stoplossB)!=0) {
 Print("SM>>,",Time[0],",",index,",ModifySell,", stoplossA,",",stoplossB,",",stoplossA-stoplossB);
}
}

ってこんな比較文なんですが、要するにstoplossAとstoplossBが同じ値だったらPrint関数は呼び出されないはずなんですが、呼び出されてしまうんですね・・・なんでだろ?

2008.06.10 15:48:12 2007.03.09 14:42 MSST EURUSD,M1: SM>>,1173451320,114,ModifySell,1.3068,1.3068,-0

出力を見るとstoplossAとstoplossBは同じ値なんです。
stoplossA-stoplossBは-0ってなってます。
マイナスゼロ?ナニソレ・・・

あんまりCの構文には慣れてないんで致命的な誤解をしてるんですかね?
今のところこのエラーが出るからといって問題はないんですが、こんなエラーを出力するようでは、コンテストなんかには提出できませんし、EAの公開とか恥ずかしくてとても・・・・

ま、いいや。


っとまぁ、エラーを出しながらもロジックのテストは進んでいます。
MAXで2年で1800%の利回りをマークしてます。(爆笑)
それなりのレポートができたら公開します。

お楽しみに。
posted by (;D)笑男 ◆LeBIz0ZWfs at 16:08| Comment(2) | TrackBack(0) | 為替・FX・MT4 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。