EAラボラトリーフォーラム::FXシステムトレード情報満載のコミュニティサイト http://forum.ea-labo.com/ | |
MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) http://forum.ea-labo.com/viewtopic.php?f=24&t=2290 |
ページ 1 / 1 |
作成者: | matadfg [ 2013年2月04日(月) 11:48 ] |
記事の件名: | MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
お世話になってます。 MT4の最適化を行ってますが、ヒストリカルデータが膨大量で非常に時間かかり困ってます。 最適化パターン数が10パターンだけで10分くらいも掛かります、100パターンやるのに100分も掛かりそうです。 ヒストリカルデータは長期間で短い分足なので膨大になりますが、正しい検証結果を得るためにも全て使う必要があるので割愛できません。 他の方法としてicustomによるインジケータを表示させない、チャートの最大バー数を極端に減らしましたが改善されません。 なのでMT4を使わず、別の方法、例えばエクセル等を利用して最適化する事を考えてるくらいです。 こんなに最適化が遅すぎては膨大なヒストリカルデータを扱う場合は使い物になりません、最適化だけで半年以上掛かりそうです。 膨大なヒストリカルデータでも他のチャートソフトによる最適化ではこんなに時間は掛からなかったです。 膨大なヒストリカルデータを用いてもできる限り短時間で最適化ができる方法を教えて下さい。 宜しくお願いします。 |
作成者: | 獅子太郎 [ 2013年2月04日(月) 18:20 ] |
記事の件名: | Re: MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
matadfgさん MT4のバックテストはEAの種類によってかなり大きく違うのですが・・・。 マルチコアが当たり前なのに、アプリケーションがシングルでしか処理できないのは辛いですね。 MT5はマルチコアに対応しているとか聞きますが、まだ移行するのは当分先でしょう。 裏技的な方法ですが、faiさんがバックテストを早くする方法を紹介しています。 この方法だとトレール注文などを使わないEAなら極端なバックテストの差は 現れず、バックテストにかかる時間はかなり短縮できるようになります。 出来高を削減してバックテスト効率を上げる。 http://d.hatena.ne.jp/fai_fx/20100405/1270393215 また、このEAラボのブログにもとても参考になる情報が沢山あります。 http://www.ea-labo.com/blog/backtest/ エクセルで計算できる単純計算のEAなら、テストモデルを変えるのも有効ですね。 MT4が重いのは仮想ながら、ティック単位で再現して処理する部分がかなり大きいはずです。 |
作成者: | matadfg [ 2013年2月05日(火) 11:04 ] |
記事の件名: | Re: MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
獅子太郎さん アドバイスや参考になるページを紹介していただきありがとうございます。 >マルチコアが当たり前なのに、アプリケーションがシングルでしか処理できないのは辛いですね。 そうみたいですね、知恵袋でこう言ってた回答者を見かけました。 >出来高を削減してバックテスト効率を上げる。 私のヒストリカルデータのDL元はAutoForexiteのソフトで行ったものです。 データに出来高の列はありませんでした。 そしてヒストリカルセンターでインポートしたそのデータの出来高は少なめでしたが元データに出来高は載ってなかったのに、どうやって出来高を決めたか不思議です。 http://d.hatena.ne.jp/fai_fx/20100405/1270393215 より出来高削減スクリプトをDLしましたがインポートしたHSTファイルにセキュリティーが掛かってしまった為に スクリプトによるファイルアクセスが不可能になり処理できません。また出来高ですがバックテスト期間においてですが1Var当たり平均的に30程度です。 |
作成者: | 獅子太郎 [ 2013年2月05日(火) 19:26 ] |
記事の件名: | Re: MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
出来高に信憑性がないなら、faiさんのサイトはあまり意味は無いですね。 昨日も書きましたが、単純な計算のEAならテストモードを変更してみて下さい。 テストモードを変えると文字通り、バックテストの速度は桁違いに早くなります。 |
作成者: | matadfg [ 2013年2月06日(水) 10:28 ] |
記事の件名: | Re: MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
獅子太郎さん テストモードというのはストラテジテスタの"モデル"タブの「every tick」、「Control Point」、「Open Price」の事でしょうか? これらも試してみましたが速くなりませんでした。 またテスト対象のEAのソース量も2000行以上と膨大です、なのでバックテストの効率を考えなるべくループ処理は少なくしてますが、自分の意図してるロジックを実現させる為にも、時間幅の拡大やEAを縮小させる訳にもゆかず、 色々なページを見て回りましたが、これ以上のMT4でのバックテストの改善は難しいです。 |
作成者: | sgtega [ 2013年2月06日(水) 19:51 ] |
記事の件名: | Re: MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
こんにちは。 内容的には fai さんの方法と(たぶん)同じことだと思いますが、私が配布している Forex Studio の Datacenter にはティック数を分足ごとに4に固定して HST を出力する機能を付けています。 http://www.softgate.co.jp/ja/blog/item/ ... ickfile-ja ティック数が平均で30もあるのであれば、それを4に削減するだけで単純に時間を1/7にできるはずです。 あとは MT4 のインストールフォルダごと複製し、多重起動&並行処理をさせるというのが現実的かつ効果的なアプローチかと思います。 |
作成者: | 獅子太郎 [ 2013年2月06日(水) 20:08 ] |
記事の件名: | Re: MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
Forex Studio の Datacenter、なかなか興味深い機能ですね。 matadfg さんが書きました: テストモードというのはストラテジテスタの"モデル"タブの「every tick」、「Control Point」、「Open Price」の事でしょうか? これらも試してみましたが速くなりませんでした。 私は今までに相当数なEAのバックテストをしてきましたが、テストモデルを every tickとそれ以外で時間に違いが現れなかったEAは皆無です。 変わらないなら、EAのソースコードに何か問題があるかもしれません。 少なくとも1分足のみの特殊EAであってもevery tick以外ではティック ベースの計算をしなくなるので確実にバックテストは早くなるはずです。 もし差が出ないなら、ティックベースの計算を遥かに凌ぐほどの 膨大な計算か読み込み処理があるのではないでしょうか。 プログラミングは詳しくないですが、経済指標を避けるバックテストなどで 外部ファイルを読み込むと極端にバックテストが遅くなると聞きます。 mq4ファイルのソース最適化までは私の知りえる部分では無いので、 あとはご自身で研究して下さい。 |
作成者: | matadfg [ 2013年2月07日(木) 20:38 ] |
記事の件名: | Re: MT4の最適化が時間がかかりすぎる (膨大なヒストリカルデータを用いた最適化について) |
sgtegaさん、獅子太郎さん ご教授ありがとうございます。 sgtegaの紹介されたForexStudioを使ってヒストリカルデータのVar毎全ての出来高を4にしました。 その成果もあってか倍程度最適化のスピードが上がった感じです。 でも無数パターンの最適化するにはそれでも相当時間が掛かるのでまだまだスピードが欲しいですね。 |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |