Forex Tester vs MTのStrategy Tester——どのバックテストが誰のため?
ある土曜日、まだプライスアクションを学んでいる最中のクシシュトフは、EUR/USDの過去のセットアップを一晩で二百回もクリックして検証し、判断のたびにチャートを止めていました。同じ日、彼のプログラマーの友人は自作のExpert Advisorを5年分の値動きに通し、1時間後には数百件の取引が並んだレポートを受け取りました(これは説明のための例です)。二人ともバックテストをしていたのに、まったく異なる目的のために、まったく異なるツールを使っていたのです。この記事では、MetaTraderに組み込まれたStrategy Testerと、独立したプログラムForex Testerを具体的な基準で比較し、あなたの実際のトレード方法にどちらが合うのかをはっきりさせます。
MetaTraderのStrategy Tester——その全体像
Strategy Testerは、MetaTrader 4とMetaTrader 5のターミナルに組み込まれたモジュールです。無料であり、その主な役割は、MQL言語で書かれたアルゴリズム——Expert Advisor——を過去のデータに対して自動で走らせることにあります。通貨ペア、時間足、対象期間、そしてモデリングモードを設定すると、テスターはあなたの手を借りずにローソク足を1本ずつ処理しながら戦略を実行し、すべての取引を数え上げます。最後に得られるのはレポートです——取引回数、資産曲線、ドローダウン、そして損益の統計。これはチャートを眺める人のための道具ではなく、エンジニアのための道具です。
MT5版の最大の強みは、ローソク足内部のモデリングの精度です。ドキュメントで「every tick based on real ticks(実ティックに基づく全ティック)」と呼ばれる最も正確なモードは、ティックを人工的に生成する代わりに、FX会社が保存した実際のティックを使います。さらにパラメータの最適化——すべての組み合わせを順に数えるのではなく賢く変種を探索する遺伝的アルゴリズムのオプションを含む——や、1台では処理が追いつかないときにMQL5 Cloud Networkで計算を分散させる機能も備わっています。古いMT4の有名な弱点はその「モデリング品質」でした。1分足のデータからローソク足内部の動きを描き込むため、結果は現実より楽観的に見えがちだったのです。
Strategy Testerの弱点は、手動で下した判断を検証したいときに現れます。MT5にはビジュアルモードや「リプレイ」もありますが、ここでライブのように建玉をクリックしていくのは、どこかぎこちなく不自然に感じられます。さらに古典的なデータ問題もあります——無料の値動きはしばしば不完全で、その品質はFX会社ごとに異なります。この仕組みを順を追って解説した内容は、実践に関するカテゴリでまとめて扱っています。
Forex Tester——その全体像
Forex Testerは、FX会社のプラットフォームとは独立して購入する別個のプログラムです。その思想はロボットのそれとは正反対で、手動のバックテストと練習のために設計されています。選んだペアの履歴を読み込み、過去の任意の時点でチャートを止めてローソク足を1本ずつスクロールでき、いつでも注文を出し、損切り(ストップロス)と利確(テイクプロフィット)を置き、ポジションを決済できます——まるでライブでトレードしているかのように、ただし時間は早送りで。これは単なる結果計算機ではなく、判断のシミュレーターなのです。
チャートの読み方や自分の規律を鍛えている人にとって、これは計り知れない価値があります。週末のうちに、ライブで1か月かけて出会うよりも多くの相場局面に取り組めますし、しかもトレード記録(トレードジャーナル)をつけて、自分が本当にどこで間違えるのかを目で確認できます。販売元は長い履歴を持つ自社の高品質なティックデータも提供しており、これが無料のFX会社の値動きの寄せ集めでのテストとはこのプログラムを一線を画させています。トレード手法をまだ形作っている段階なら、まずは戦略に関するカテゴリから読み始めるとよいでしょう。
弱点もはっきりしています。第一に、このプログラムは有料です——Strategy Testerには不要な出費です。第二に、MetaTraderのようにMQLで書かれたExpert Advisorをその中で走らせることはできません。Forex Testerには独自のストラテジーエンジンと独自の言語があるからです。ですから、あなたのエッジが完成したアルゴリズムであるなら、これはあなたのためのツールではありません。こうしたロボットの作成の基礎については、プラットフォームに関するカテゴリで扱っています。
基準ごとの比較
二つのツールを並べ、選ぶときに本当に重要な点に照らしてみると、その違いが最も速く見えてきます。
表から導かれる結論は単純です。これらは同じ仕事を争う競合ではなく、二つの異なる作業台なのです。一方は機械に、もう一方はチャートの前にいる人間に仕えます。
「ウォークフォワードのシミュレーション取引は、実際の取引にできる限り近い条件下でトレード戦略を測定する、唯一のテストである。」 — Robert Pardo, 2008
Strategy Testerを選ぶべきとき
アルゴリズムをテストするなら、組み込みのテスターを選んでください。MQL5でExpert Advisorを書いた場合や、出来合いのものをダウンロードした場合、その自然な環境はMetaTrader 5のStrategy Tester、できれば実ティックモードです。ここではコードのネイティブ実行、ローソク足内部の動きの正確なモデリング、そして数年分のデータにわたるパラメータ最適化が現実的な時間で得られます。外部の手動ツールでこれを代替することはできません。なぜなら、その中ではロボットそのものを起動できないからです。
また、設定の広い空間を探索したいとき——たとえば、ある戦略が異なる移動平均の期間や指標のしきい値に対してどう振る舞うかを確かめたいとき——にも、こちらが優れた選択です。ただし、最適化の結果はアウトオブサンプルでの検証を要求することを忘れないでください。最適化したまさにそのデータ上での高いスコアは、まだ何も証明していません。
Forex Testerを選ぶべきとき
手動で下す判断を鍛えるなら、Forex Testerに手を伸ばしてください。あなたのエッジがプライスアクションを読むこと、パターンを認識すること、そしてエントリーの瞬間に自分を制御し続けることにあるなら、相場を「巻き戻し」てそうした判断を何百回も練習させてくれるツールが必要です。ここで意味を持つのは、時間的プレッシャーの下での反復であって、自動売買の千回の取引から得られる曲線ではありません。ブラウザで作業したいなら、TradingViewのバーリプレイ(bar replay)モードがある程度まで同じ役割を果たします。
Forex Testerにはもう一つ、教育上の強みがあります。トレード記録(トレードジャーナル)と組み合わせると、あなたが繰り返し間違える状況を示してくれるのです。手法をまだ作り上げている段階で、ライブ口座が訓練の場としてはあまりに高くつくとき、これは値千金です。多くのトレーダーは両方のツールを意図的に同時に使います——手動練習にForex Tester、ロボットのテストにStrategy Tester——なぜなら、この二つは異なる問いに答えるからです。
選ぶときに最もよくある落とし穴
第一の落とし穴は、それぞれのツールが何のためのものかを取り違えることです。あるトレーダーは「自分のボットをテストする」ためにForex Testerを買い、それがMQLファイルを読み込まないと気づきます。あるいはその逆で、Strategy Testerで手動のプライスアクションを練習しようとして、扱いにくいインターフェースと格闘します。流行っているものではなく、あなたが実際にやっていることにツールを合わせてください。
第二の落とし穴はより危険です。テストそのものの信頼性に関わるからです。手動のバックテストでは自分を欺くのは簡単です——次のローソク足が視界の隅に入ったとき、あなたは無意識に、ライブでは下さなかったであろう「より良い」判断を下してしまいます。Forex Testerは未来を隠してリアルタイムでクリックを強いるので、この問題を抑えてくれます——とはいえ、規律はやはりあなた自身の側に残ります。第三の落とし穴は、結果への盲信です。過剰に適合したパラメータと貧弱なデータ品質は、ライブでは崩れ去る美しい曲線を表示してしまいます。テストとフォワードテストのための道具一式については、forexmechanics.comのプラットフォームとツールのセクションで解説しています。
結論——どのバックテストが誰のためか
一つの判断にまとめましょう。コードをテストしているなら——MT5のStrategy Testerにとどまり、実ティックとアウトオブサンプル検証に気を配ってください。自分の手と頭を鍛えているなら——Forex TesterかTradingViewのバーリプレイを選んでください。この技に最も真剣に取り組む者は両方を手元に置き、それらを代替案としてではなく、一つの箱に入った二つの別々の道具として扱います。何を選ぶにせよ、鉄則を忘れないでください——どんなに美しいバックテストも、ライブの結果を約束するものではなく、さらに検証すべきヒントにすぎないのです。なお、これは投資助言ではありません。
今すぐやるべきこと
- 何をテストするのか正直に名指ししましょう。5分間腰を据えて、たった一文を書いてください——あなたのエッジはMQLアルゴリズムなのか、それとも手でチャートを読むことなのか。その一つの答えが、どんな機能一覧よりもツールの選択を決めます。ロボットならStrategy Testerへ、手ならForex Testerかバーリプレイへ。
- 1円も使う前に、無料のテストを走らせましょう。MetaTrader 5でStrategy Testerを開き、ペアを一つ、直近2年、実ティックモードを選び、二本の移動平均のクロスのような単純な戦略を通してみてください。Forex Testerの購入を決める前に、レポートの読み方を自分の目で確かめられます。
- 自分の過去データの品質を確認しましょう。テスターの画面で、FX会社が実際に実ティックを持っている期間を——1分足だけでなく——調べてください。履歴が短かったり、欠落だらけだったりするなら、結論をそこに置く前に、より長いデータのダウンロードか、より良いデータソースを計画しましょう。
- アウトオブサンプル検証を計画しましょう。戦略を「良し」と判断する前に、直近6か月分のデータを、パラメータ調整には使わない別個のテスト用に取り分けてください。ライブ口座でそれに気づくのではなく、過剰適合を早めに捕まえるための簡単な方法です。
出典・参考文献
-
MetaQuotes Trading Strategy Tester — MetaTrader 5 · Oficjalny opis wbudowanego Strategy Testera: testowanie i optymalizacja robotów handlowych, tryby modelowania ticków, optymalizacja genetyczna oraz rozproszone obliczenia w sieci MQL5 Cloud Network. www.metatrader5.com ↗
-
MetaQuotes Strategy Testing — MetaTrader 5 Help (Algorithmic Trading) · Dokumentacja trybów generowania ticków: „Every tick", „Every tick based on real ticks" (na realnych tickach brokera) oraz „1 minute OHLC", wraz z różnicami w dokładności i szybkości. www.metatrader5.com ↗
-
MQL5 Reference (MetaQuotes) Testing Trading Strategies — MQL5 Reference · Techniczny opis działania testera: zdarzenie NewTick jako główne zdarzenie Expert Advisora i sposób wywoływania funkcji OnTick w zależności od wybranego trybu modelowania. www.mql5.com ↗
-
Forex Tester Software Manual Backtesting for Trading — Forex Tester · Opis ręcznego backtestu na Forex Testerze: przewijanie wykresu słupek po słupku bez skryptu, pełna kontrola nad każdą operacją handlową, pauza i odtwarzanie oraz dane tickowe z długą historią deklarowane przez producenta. forextester.com ↗
よくある質問
MetaTraderのStrategy Testerは無料ですか?
はい。Strategy TesterはMetaTrader 4とMetaTrader 5のターミナルに組み込まれており、どちらのターミナルもFX会社か製造元から無料でダウンロードできます。ツールそのものにも、パラメータ最適化にも料金はかかりません。実際に発生する唯一のコストはデータ品質です。FX会社のサーバーから得られる無料の過去データはしばしば不完全なので、実ティックでの本格的なテストには通常、より長いダウンロードか、より良い有料のデータソースが必要になります。分散最適化のためのMQL5 Cloud Networkは、無料の割り当てを超えると有料になりますが、個人投資家のテストのほとんどはそもそもこれを必要としません。なお、国内の店頭FXを使う場合は、金融庁(FSA)の登録を受けた業者を選び、無登録の海外業者には注意してください。
MT4のExpert AdvisorをForex Testerの中で動かせますか?
MetaTraderでやるようなやり方ではできません。Forex Testerには独自のストラテジーエンジンと独自のスクリプト言語があるため、MQLでコンパイルされた出来合いのファイルをそのまま読み込むことはできません。あなたのエッジがMQL4やMQL5で書かれたアルゴリズムなら、自然なテスト環境は対応するターミナルに組み込まれたStrategy Testerのままです。一方でForex Testerが輝くのは、手で下した判断をテストする場面です。チャートをローソク足1本ずつスクロールし、エントリーとエグジットを自分でクリックします。これらは二つの異なる仕事であり、だからこそ多くのトレーダーは両方のツールを並べて手元に置き、それぞれを別の目的に使うのです。
MT5の「every tick based on real ticks」モードとは何ですか?
これはMetaTrader 5で最も正確なモデリングモードです。ローソク足内部の値動きを人工的に生成する代わりに、テスターはFX会社が収集・保存した実際のティックを使います。これにより、Expert Advisorのテストは、損切り(ストップロス)注文や指値・逆指値注文を発動させる微細な値動きまで含めて、市場で本当に起きたことを可能な限り忠実に追えます。ただし、その正確さには代償があります。実ティックはFX会社が実際にアーカイブした期間しか利用できないため、履歴はあなたが望むより短いことがあり、品質はFX会社ごとに異なります。MetaTrader 5は、より速く精度の低いモード——「1 minute OHLC」と「open prices only」——も提供しており、アイデアを大まかに最初にふるい分けるのに役立ちます。
バックテストは素晴らしいのに、ライブでは戦略が負けるのはなぜですか?
たいてい三つのことが原因です。第一は過剰適合(overfitting)です。パラメータを過去に完璧に合うよう調整したのに、その後で相場が変わってしまったのです。第二はデータ品質です——不完全な値動き上でのテストや、現実的なスプレッドとスリッページのないテストは、結果を水増しします。第三は、手動テストにおいて、自分を欺くことです。チャートで次のローソク足が見えると、無意識に、ライブでは下さなかったであろう「より良い」判断を下してしまいます。Forex Testerは未来を隠してリアルタイムでのクリックを強いるため、この最後の問題を抑えます。とはいえ、最も強力な備えはやはり、ウォークフォワード分析と、以前に見たことのないデータでの正直なテストです。