タグ: 要件定義

  • EA開発はコードを書く前に決まる: 条件設計とt値・スプレッド会計・Bid歪みの実務チェック

    EA開発はコードを書く前に決まる: 条件設計とt値・スプレッド会計・Bid歪みの実務チェック

    「この条件を足せば、EAはもう少し勝てるはず」。そう考えてコードを一行変え、バックテストを回す。数字がよくなると、すぐ実運用に入れたくなるものです。

    でも、改善したのは売買ルールでしょうか。それとも、たまたま過去の値動きに合うよう調整しただけでしょうか。

    EA開発で怖いのは、動かないコードだけではありません。動くのに、根拠が弱いコードです。この記事では、エントリー条件を追加する前に決めたい仕様、検証の順番、t値・取引コスト・Bidデータの点検方法を、実務で使えるチェック表にして整理します。

    この記事でわかること

    • EAの条件を「思いつき」から検証可能な仕様に変える方法
    • t値を使うときの意味と、過信を避ける確認手順
    • スプレッド・スリッページ・スワップを損益へ反映する考え方
    • Bidデータの歪みや欠損を見つけるチェックポイント
    • 今日からできる、小さなEA開発の一歩

    EA開発の検証設計を考えるデスクのイラスト

    EAの条件追加は、コードを書く前に文章で固定する

    先に「何を、いつ、どう判定するか」を文章で決めると、テスト結果を読み違えにくくなります。曖昧な条件は、実装者の解釈やテスト後の後付け判断を混ぜるからです。

    たとえば「押し目で買う」だけではEAの仕様になりません。どの時間足の、どの確定足を使うのか。押し目の幅を何で測るのか。条件が成立した瞬間に発注するのか、次の足の始値で入るのか。停止条件は何か。これらが未定なら、同じ言葉から別のEAができあがります。

    まず、条件を次のように分解します。数値は例です。実際の採用値は、対象通貨ペアと取引時間、データの仕様に合わせて決めてください。

    仕様項目 決める内容 曖昧なままのリスク
    判定時点 確定足のみか、ティックごとか 未来情報の混入、再現性の低下
    価格系列 Bid、Ask、仲値のどれを使うか 発注価格と判定価格のズレ
    シグナル 指標、期間、閾値、比較方法 後から条件を増やす余地
    決済 損切り、利確、時間決済、反対シグナル 損失が想定外に伸びる可能性
    例外処理 取引停止時間、注文拒否、最大保有数 異常時に意図しない注文を繰り返す

    仕様を文章で残すと、検証で変えたものも追えます。つまり、勝ちやすい条件探しより先に「同じ条件を誰でも再現できる状態」を作るのです。

    例外条件こそ、損益グラフに出る前に決める

    EAは通常時より、想定外の場面で設計品質が表れます。週明けの窓、指標前後の急変、通信断、約定拒否、最小ロット未満の計算などは、平均損益だけでは見えにくいからです。

    最低限、注文に失敗した場合の再試行回数、同一シグナルの重複発注防止、最大ポジション数、損切り注文を置けない場合の動作を決めます。「失敗したらもう一度」では危険です。何秒後に何回まで試し、どの条件なら停止するかを明記します。

    こうした仕様は、見栄えのよいバックテストを作るためではありません。実運用でEAが何をするかを、先に人間が理解するためにあります。

    t値は「勝てる証明」ではなく、偶然を疑う入口

    t値は平均的な成績がばらつきに比べてどれほど大きいかを見る指標で、将来利益を保証しません。サンプル数、独立性、分布の偏り、試した条件の数を無視すると、数字だけが一人歩きします。

    単純な平均リターンの検定では、t値は「標本平均 ÷ 標準誤差」で計算します。標準誤差は、標準偏差を標本数の平方根で割った値です。たとえば取引ごとの損益を使う場合、損益の平均とばらつき、取引数が必要になります。

    ただし、FXの取引損益は常に独立とは限りません。同じ相場局面で連続してポジションを持つと、隣り合う取引の成績が似ることがあります。大きな利益が数回だけ含まれる場合も、平均値は見かけ上よくなります。通常のt値をそのまま「有意」と読み替えないでください。

    確認 見る理由 手順
    損益単位 ロットや通貨で比較が歪む R倍数、pips、資産比率などを明記
    取引数 少数の大勝ちに左右される 期間別・相場局面別にも分ける
    連続性 取引の独立性を損なう 日・週単位の集計やブロック再標本化を検討
    試行回数 多数試行から良い結果だけ選ぶ 試した条件数と選定ルールを記録
    未使用期間 作成データへの過剰適合を検出 条件決定後の期間で一度だけ評価

    検証済みの個別案件では、バックテスト表示上の勝率96%が、元データを再点検すると52%になった例もありました。これは全EAに当てはまる割合ではありません。数字が派手でも、元データと計算過程を確かめる必要がある、という監査事例です。

    t値を出す前に、まず取引履歴の欠損・重複、損益計算、試行回数を確認します。t値は最後の飾りではなく、検証設計の一部として扱いましょう。

    価格データからコスト計上と未使用期間の検証へ進む流れ

    スプレッド会計を入れると、勝ちトレードの見え方が変わる

    取引コストは、勝ち負けを決めたあとに引くのではなく、売買の成立条件に組み込みます。特に短期EAでは、小さなコスト差が期待値を削るからです。

    基本の損益は、決済損益からスプレッド、手数料、スリッページ、スワップを差し引いて考えます。口座タイプによって、スプレッドが狭い代わりに取引手数料がある場合もあります。比較するときは「表示スプレッド」だけでなく、同じロット・通貨ペア・時間帯で総コストをそろえます。

    例として、1回の取引で往復コストが平均0.8pips、年間取引数が1,000回なら、単純合計は800pips相当です。これは特定口座の実測値ではなく、計算方法を示す仮定例です。1pipの金額は通貨ペア、ロット、口座通貨で異なるため、自分の条件で換算してください。

    だから何か。バックテストの利益が800pips未満なら、この仮定のコストだけで優位性が消える可能性があります。実際には各取引のコスト分布を使い、平均だけでなく悪化側も検証します。

    正直会計では、バックテストの設定値を「実測」と呼びません。固定スプレッドを設定したなら固定値テスト、変動スプレッドのティックデータを使ったならそのデータ範囲のテスト、と記録します。約定遅延を再現できない環境なら、その制約も結果に添えます。

    コスト表は平均だけでなく、時間帯ごとに作る

    平均スプレッドだけでは、EAが実際に入る瞬間のコストが隠れます。流動性が薄い時間や指標時には、通常時間と異なる値が出ることがあります。

    取引履歴にエントリー時刻を残し、時間帯別にスプレッドとスリッページを集計します。取引の多い時間がコストの高い時間と重なれば、月平均より悪い条件で運用しているかもしれません。曜日、セッション、指標前後を分けるのも有効です。

    費目 記録するもの 見落としやすい点
    スプレッド 発注時のBid/Ask差 固定値で全時間を代用していないか
    手数料 往復・片道、ロット単位 口座通貨への換算時点
    スリッページ 要求価格と約定価格の差 バックテストでゼロ扱いになっていないか
    スワップ 保有日数、通貨ペア、方向 日々変動や付与日の違い

    口座のスプレッド、手数料、スワップは変更されることがあります。利用前に各社の公式ページで、対象口座・取引時間・適用条件を確認してください。広告や比較ページの数字だけで判断しないことが、検証の再現性を守ります。

    Bidの歪みは、ローソク足の外側に潜む

    Bid系列だけの異常は、チャートの形より先にデータ品質の問題として調べます。FXの多くのチャートはBid価格を基準に表示され、買い注文はAskで成立します。Bidだけ見て売買条件を作ると、実際の約定可能価格とずれる場合があります。

    たとえば、短時間だけ価格が飛ぶ、同じ時刻に重複したティックがある、High/Lowが前後の値とかけ離れる、BidとAskの差が不自然に広がる、といった異常です。これが実市場の急変か、データ配信の欠損かは、一本のチャートだけで断定できません。

    確認では、(1)タイムスタンプの重複・逆行、(2)OHLC整合性、(3)隣接ティックの変化幅、(4)スプレッドの分布、(5)別データソースとの同時刻比較を行います。比較元が異なる場合は、サーバー時刻、夏時間、価格更新頻度が一致しているかもそろえます。

    怪しい値を見つけても、都合よく削除してはいけません。元データを保管し、除外条件を先に定義し、除外前後の結果を両方報告します。データを整える操作そのものが、EAの成績を変えるからです。

    BidとAskの差や急変データを点検するイメージ

    検証は「作った期間」と「触っていない期間」を分ける

    条件を決めた期間だけで成績を評価すると、偶然に合った設定を選びやすくなります。開発用データで調整した後、未使用期間や別の相場局面で同じルールを試します。

    実務では時系列を崩さず、過去側を設計・調整に使い、後ろ側を検証用に確保します。検証結果を見て条件を変えたら、その期間はもう「未使用」ではありません。再び別の期間を用意するか、評価を探索的な結果として扱います。

    結果はPFや勝率だけでなく、最大ドローダウン、取引回数、連敗、平均保有時間、月別損益、コスト控除前後を並べます。相場環境別に分けると、利益が特定の数か月だけに集中しているかも見つけやすくなります。

    過去記事の監査事例では、勝率96%と表示されたEAを元データから再検証したところ52%になったケースがありました。原因が違えば必要な対策も違います。数字の大きさより、再現可能な計算過程を確かめることが先です。

    今日できる最初の一歩は、条件を一枚に書くこと

    いきなりEAを作り直す必要はありません。まずは一つのエントリー条件を、検証可能な文章にします。この作業なら、今日30分ほど確保して始められます。所要時間は内容による目安です。

    1. 対象通貨ペアと時間足を書く
    2. シグナル判定を確定足・ティックのどちらで行うか決める
    3. Bid/Askのどの価格を条件と発注に使うか記す
    4. 損切り、利確、時間決済、最大保有数を書く
    5. スプレッド・手数料・スリッページ・スワップの前提を記録する
    6. 開発用期間と未使用の検証期間を分ける
    7. 条件変更のたびに、変更理由と試行回数を残す

    そして小さなデモ検証へ進みます。最初からリアル口座で試す必要はありません。デモ環境でも、注文拒否や価格更新、EAログの読み方を確認できます。ただし、デモの約定条件が実口座と同じとは限らないため、差は別途記録します。

    「勝てそうな条件を見つける」より、「何を試し、何がわかり、次に何を変えるか」を残す。これが、再現できるEA開発の出発点です。

    まとめ: 良いEAは、結果より先に検証の筋道がある

    EAの開発では、条件をコードにする前に文章で固定し、t値を過信せず、取引コストを損益へ反映し、Bidデータの品質を確かめます。さらに、調整に使った期間と未使用期間を分けます。

    派手な勝率の裏に、データ欠損や過剰な条件調整が隠れていないか。最初に抱いた不安への答えは、数字を一つ増やすことではなく、数字がどう作られたかを追える状態にすることです。

    まずは今あるEAのエントリー条件を一つ、紙に書き出してみませんか。そこから、次の検証が始まります。

    関連記事

    EAの条件を、検証できる形に整理しませんか。

    EA作成代行では、売買条件や例外処理を確認し、仕様に沿った実装と検証を進めます。納期は3営業日以内が目安です。内容や難易度により対応可否・納期が変わるため、購入前にご相談ください。

    EA作成代行の内容を確認する

    EAを動かす土台はVPSです

    MT4を24時間止めずに動かすにはVPSが必要です。まずは無料のお試しで動作を確認できます。

    ABLENET VPSを公式サイトで見る(最大10日間無料) →

    ※本記事にはアフィリエイト広告も含みます。

    EAの検証・監査・制作を承っています

    このブログで使っているのと同じ検証の目線で、買う前の数字の検品から、実データでの監査、死因の解剖、月次の健康診断、インジケーター制作まで承っています。

    EA監査・検証の出品一覧を見る

  • EAが稼がない理由を数字で特定する5つのチェックポイント

    EAが稼がない理由を数字で特定する5つのチェックポイント

    「バックテストでは稼いでいたのに…」を、推測ではなく数字で切り分ける

    「バックテストは絶好調だったのに、リアル口座に投入した途端に右肩下がりで大切な資金が減っていく…」
    「いくら設定を変更しても一向に利益が出ず、どこを修正すればいいのか皆目見当がつかない…」
    期待を込めて稼働させたEAが期待通りに稼がないとき、焦って勘や思いつきでパラメータを弄ってしまうのは最も危険な悪手です。

    相場での損失拡大を防ぐためにまず行うべきなのは、感情や推測を一切排して『数字』で原因を冷静に切り分けることです。
    当サイトの監査実録でも、稼がない原因を正しく数値化することで、無駄な資金消失を防げた事例が多数あります。
    この記事では、不調なEAを診断する際に必ずチェックすべき5つのポイントを、実際の監査業務で使っているプロの視点から詳しく解説します。

    チェック1: 1トレードあたりの「期待値(R)」は本当にプラスか?

    EAの真の性能は、単なる表面上の勝率だけでは決して測れません。
    最も重要なのは、1トレードあたりの平均期待値(平均損益 ÷ 損切り幅 = 期待値R)が明確にプラスであるかという一点に集約されます。
    例えば勝率70%のEAであっても、リスクリワード比(損益比)が悪ければ、一度の負けで利益を吹き飛ばし期待値は簡単にマイナスへと転落します。

    期待値の異常を素早く察知するには、MT4/MT5のストラテジーテスターレポートを活用するのが近道です。
    レポート内の「Total Trades(総取引数)」「Profit Factor(プロフィットファクター)」「Expected Payoff(期待利回り)」という3つの数字を確認するだけで、最初の見当を付けることができます。
    この3つの数字を用いた正確な分析手法については、バックテストの報告書を3つの数字で読むで詳しく解説しています。

    チェック2: トランザクションコストを「正直会計」で計上できているか?

    バックテスト上のスプレッド設定がリアル運用環境より楽観的すぎる場合、テスト結果は綺麗な黒字でも実運用は無惨な赤字になります。
    特に注意すべきは、エントリー時刻における実測スプレッドの拡大であり、早朝のロールオーバー時間帯では平常時の数倍に膨れ上がります。
    薄利多売を狙うスキャルピング系や深夜・早朝エントリー系のEAでは、わずか1〜2pipsのコスト見積もり誤差によって期待値のすべてが消失してしまいます。

    当方の監査現場でも、取引コストの過小評価によってリアル口座の資金を削られているケースが後を絶ちません。
    実測スプレッドの計測方法と、取引コストが期待値に与える影響の計算手順については、トランザクションコストの正直会計を参考にしてください。

    チェック3: 過去データに過剰適合(カーブフィッティング)していないか?

    パラメータを過去のヒストリカルデータに過剰に最適化させると、バックテストのグラフは完璧な右肩上がりになりますが、未来のリアル相場に投入した瞬間に脆く崩れ去ります。
    過剰適合を見抜く検証方法は非常にシンプルで、検証期間を前半と後半に2分割し、前半のみで最適化を行って後半期間で再テスト(フォワードテスト)を実行することです。

    もし前後半で期待値のプラス・マイナスが逆転してしまうなら、その設定は単に過去の相場ノイズを拾い上げただけの危険な「カーブフィッティング」です。
    パラメータ設計時に陥りやすい典型的な失敗例と対策については、EAのパラメータ設計で最も失敗しやすい3つのパターンでまとめています。

    チェック4: 運用環境(口座タイプ・VPS)は検証時の前提条件と一致しているか?

    EAが叩き出す期待値は、実際に取引を行う口座の約定スピードやサーバー環境に大きく依存します。
    どれほど優れたロジックであっても、スプレッドが広い口座・注文処理が重いサーバー・通信遅延の大きいVPS環境では、本来あったはずのエッジが完全に相殺されてしまいます。
    検証時に前提としていた口座タイプ(スワップフリー設定やボーナス口座の可否など)と、現在のリアル運用環境が正しく合致しているかを必ず再確認してください。

    通信遅延によるパフォーマンス悪化を防ぐための適切なVPS選びに関しては、EA用VPS徹底比較にて遅延・コスト・操作性の観点から厳選4社を比較検証しています。

    チェック5: その成績は統計的に「本物」と言えるか?(サンプル数とt値)

    5つのチェックの中で最も重要かつ本質的なのが、取引結果の統計的信頼性です。
    総トレード数が極端に少ない場合、どんなに素晴らしい利益が出ていたとしても、それは単なる偶然の偏りに過ぎないリスクが残ります。

    信頼性の客観的指標となるのがt値2.0以上という基準であり、これは偶然によってその成績が発生した可能性が極めて低い(統計的に有意である)ことを意味します。
    最低でも10年以上のバックテストデータと数百回以上のトレードサンプルが揃って初めて、期待値が本物であるかの議論が可能になります。
    当ブログのリスクオンドリフトの実測検証でも、このt値を用いた厳格な基準で売買シグナルの真偽を判定しています。

    原因が分かったらどうする?「改善」か「停止」かの判断基準

    5つのチェックポイントを通じてEAが稼がない原因を特定できたら、次にとるべきアクションは以下の3つに整理されます。

    • コスト・環境問題が原因の場合:利用する口座の変更やVPS環境の見直しを行うことで、運用成績を劇的に改善できる可能性が高いです。
    • 設計・パラメータ問題が原因の場合:エントリー時間帯の絞り込み、手仕舞いロジックの変更、各種フィルタの再構築によって期待値を復活させられる可能性があります。
    • そもそもロジックにエッジがない場合:これ以上の資金消失を避けるため、未練を捨てて即座に稼働を停止し、次の有望な戦略にリソースを集中するのが正解です。

    「自分で数字を切り分ける時間がない」「第三者の客観的なデータで正確な診断をしてほしい」と感じたなら、プロによるEA監査サービスをご活用ください。
    当方では10年分以上の実データを用いた正直会計の再検証を行い、あなたのEAが「運用可能・条件付き運用・運用不可」のいずれに該当するかを明確なt値とともに判定いたします。
    実際の監査報告書の精度については、以下の匿名化サンプルレポート(PDF)でご確認いただけます。

    🔎 EAの稼がない原因を、10年データで数字で判定

    このブログの運営者は、統計検証の思想を踏まえたEA監査(ライト監査/フル監査/フル監査+救済案)をココナラで承っています。ソースコード不要で始められるライト監査から、改善構成の設計まで含むフル監査+救済案まで。納期は3営業日以内です。

    ライト監査は初回限定3,000円(通常5,000円)です。

    EA監査サービスを見る(ココナラ) →

    まず気軽に試すなら: レポートの数字だけで1営業日で判定するEAクイック診断(1,000円)もあります → EAクイック診断を見る(ココナラ) (無料のセルフチェックシート(20問)も公開中です)

    あなたが現在お使いのEAは、これらの5つのチェックポイントを無事にクリアできていますか?
    大切な自己資金を守り着実に増やしていくために、まずは1つの数字から診断を始めてみませんか?


    実際のMQL4ソースコードを見たい方は、無料EA公開記事(ドンチャンブレイクアウト)で全文を確認できます。

    EAを動かす土台はVPSです

    MT4を24時間止めずに動かすにはVPSが必要です。まずは無料のお試しで動作を確認できます。

    ABLENET VPSを公式サイトで見る(最大10日間無料) →

    ※本記事にはアフィリエイト広告も含みます。

    EAの検証・監査・制作を承っています

    このブログで使っているのと同じ検証の目線で、買う前の数字の検品から、実データでの監査、死因の解剖、月次の健康診断、インジケーター制作まで承っています。

    EA監査・検証の出品一覧を見る

  • EAのパラメータ設計で最も失敗しやすい3つのパターン — 過剰最適化を防ぐ実践ガイド

    EAのパラメータ設計で最も失敗しやすい3つのパターン — 過剰最適化を防ぐ実践ガイド

    「バックテストで年利200%を出したはずのEAが、リアル口座に投入した途端に右肩下がりで大切な資金を溶かしていく…」そんな悪夢のような運用失敗に頭を抱えたことはありませんか?実は、トレードロジック自体の不備よりも「パラメータの決め方」で致命的なミスを犯しているケースが後を絶ちません。素晴らしいエントリーロジックであっても、数値設定ひとつでバックテストの成績は天国にも地獄にも化けてしまうのです。

    当サイトの監査現場でも、パラメータ過剰調整による口座破綻のご相談が絶えません。損失回避のためにまず重要なのは、過去データへの過剰適合(カーブフィッティング)の恐怖と仕組みを正しく理解することです。本記事では、EA監査実録で繰り返し見つかった3つの典型的な失敗パターンと、過剰最適化を防ぐ実践的な設計ルールを詳しく解説します。

    前回の「要件定義チェックリスト」では外注前の準備工作を扱いましたが、今回はその先について解説します。具体的には、パラメータをどう設計し、どう検証するかという実装レベルの話題です。

    なぜパラメータ設計だけでEAの命運が分かれてしまうのか?

    EA開発において最も危険な瞬間は、「バックテストの成績があまりにも良すぎた時」です。プロフィットファクター(PF)が2.5を超え、最大ドローダウンが5%未満という美しい右肩上がりのグラフを見たとき、多くの開発者は「ついに聖杯を完成させた」と錯覚してしまいます。しかし当方の監査現場の経験が教えるのは、バックテストが完璧で美しすぎるEAほど、リアル運用で瞬時に崩壊するという恐ろしい現実です。

    その根本的な原因は、「過剰最適化(オーバーフィッティング)」の罠にあります。過去の相場データにパラメータを極限までフィットさせるほど過去成績は跳ね上がりますが、未知の未来相場には一切通用しなくなります。リアル口座の資金を一瞬で失うリスクを避けるには、設計段階から「頑健性(robustness)」を組み込むことが不可欠です。

    失敗パターン1 — なぜ「全通り最適化」はリアル運用で崩壊するのか?

    最も頻出する第1の失敗は、EAに含まれる全パラメータを広範囲で総当り最適化し、最も利益が出た組み合わせをそのまま採用する手法です。例えば、移動平均線の期間を10〜200、ストップロスを20〜100pips、テイクプロフィットを10〜200pipsでそれぞれ1刻みでテストしたと仮定します。この場合、パラメータの組み合わせは数十万通り以上に達し、その中から最高成績の数値を抽出するため、見かけ上は完璧なバックテスト結果が完成します。

    しかし、これは過去相場に存在するランダムなノイズに合わせて無理やり曲線を引いているに過ぎません。市場構造やボラティリティがわずかでも変化した瞬間に期待値はマイナスへ転落し、一気に口座資金を食い潰す結果となります。

    過剰最適化の危険な兆候を「t値」でどう見抜くのか?

    当サイトの監査実録において、ロジックの優位性を判定するコア指標として活用しているのが「t値(t-value)」です。t値とは、トレード群の平均利益が偶然ではなく統計的に有意(実質的な優位性がある)かどうかを示す数値です。一般的にt値が2.0以上であれば、その成績が偶然の産物ではない可能性が高くなります。

    しかし、数十万通りの最適化結果から選ばれた最高点のt値が高くても、それは単に「最も運が良かった数値」を拾い上げただけに過ぎません。当方の監査では、最適点単体だけでなく、その前後左右に位置する「周辺パラメータ」のt値分布を詳細に追跡します。

    最適点の周辺でt値が急激に悪化・低下する場合、その数値はパラメータの僅かなズレで成績が急落する「破局的な崖」の上に立っています。逆に、パラメータを前後にずらしてもt値が2.0前後で安定して推移するならば、その設計はリアル相場でも耐えうる堅牢な構造であると判断できます。

    失敗パターン2 — なぜスプレッドの変動を無視すると期待値が消え去るのか?

    第2の失敗パターンは、バックテスト時にスプレッド(bid-ask spread)を固定値などの楽観的な条件で計算し、パラメータを決定してしまうことです。ここで必須となるのが、リアル運用時の取引コストを正確に織り込む「スプレッド会計」の思想です。

    多くのEA開発者は、バックテストの設定画面で「固定1.0pip」などの理想的なスプレッドを入力して検証を行います。しかし、実際のライブ口座ではスプレッドは常に変動しており、早朝のロールオーバー時や指標発表時には平常時の3〜5倍以上に拡大します。ストップロス(SL)が20pipsのEAにおいてスプレッドが5pips広がれば、実質的なリスクは25pipsに跳ね上がり、想定リスクが25%も増大していることになります。

    バックテストの盲点となる「bid歪み」とは何か?

    さらに見落とされがちな落とし穴として「bid歪み」の問題が挙げられます。MT4/MT5のバックテストではBid価格ベースで計算が進みますが、買いポジションの決済や売りポジションの約定はAsk価格で行われます。このBidとAskの構造的ズレを無視してパラメータを組むと、特に取引回数の多いスキャルピングEAではバックテストとリアル運用で深刻な乖離が発生します。

    当方の監査実録データによると、変動スプレッドとbid歪みを正確に反映して再検証した結果、バックテスト上でプロフィットファクター1.8を誇っていたEAが1.2まで急落した事例が多数存在します。PF1.2であれば耐えられますが、最悪のケースではPF1.0を割り込み、運用した瞬間に損失を生み出す「期待値マイナスのEA」であったことが露呈します。

    失敗パターン3 — なぜ隠れコストを排除した「正直会計」が必要なのか?

    第3の失敗パターンは、トレードにかかる全コストを誤魔化さずに計上する「正直会計」の欠如です。バックテストでいくら利益が出ていても、リアル運用で発生する実コストを排除していては資金を守ることはできません。正直会計で必須となるコスト要素は以下の通りです。

    • スプレッド(早朝や指標発表時の広がりを含む変動スプレッド)
    • 外付け取引手数料(往復7〜10ドル/ロット相当のコスト)
    • スワップポイント(日をまたいでポジションを保有する際の金利差調整額)
    • スリッページ(発注価格と約定価格の間に生じる不可避な価格ズレ)

    これらの隠れコストを差し引いた純利益(net pips / net R)でパラメータを評価しない限り、リアル運用の成績はバックテストを確実に下回ります。当サイトの監査現場で最も多い指摘事項も、「スワップコストの無視」や「スリッページ0設定」であり、これらはパラメータ設計の段階で修正すべき重大な欠陥です。

    特にスワップポイントは、数日〜数週間保有するスイング系EAにおいて無視できない固定費用となります。週末をまたぐトリプルスワップなどで数pips分の利益が吹き飛ぶことも珍しくありません。スワップを無視したパラメータ設計は、「金利ゼロで無限に資金を借りられる」という現実離れした妄想の上で運用しているのと同じ状態なのです。

    過剰適合を防ぐ!正しいパラメータ設計の4ステップとは?

    上記の失敗パターンを回避し、リアル相場でも安定した利益を生み出すための正しいパラメータ設計手順をまとめました。当方の監査業務でも推奨している標準手順は以下の4ステップです。

    • 1. 最適化範囲を論理的に絞り込む:全パラメータの同時最適化を避け、インジケーターの計算根拠に基づき「意味のある範囲(例:短期MAなら3〜50、長期MAなら50〜200)」に限定してテストします。
    • 2. Walk-Forward分析(フォワード検証)を行う:ヒストリカルデータを「学習期間」と「検証期間」に分割し、学習期間で導いたパラメータが未知の検証期間でも機能するかを期間をずらしながら検証します。
    • 3. 周辺パラメータの分布で堅牢性(robustness)を判定する:決定した数値の前後(±10%〜20%)にズラした際、t値やプロフィットファクターが急落せず平坦な高水準を維持できるか確認します。
    • 4. 正直会計で純期待値(net)を再計算する:変動スプレッド・手数料・スワップ・スリッページを全計上した上で、1トレードあたりの純期待値が明確にプラスであることを実証します。

    これら4つのステップを愚直に実行することこそが、大切な資産を相場の波から守り抜く唯一の道筋となります。

    まとめ:あなたのEAは本当にリアル相場に耐えられますか?

    EA運用の成否を決めるのは、華やかなエントリーロジックの凄さではなく、パラメータ設計と検証における「誠実さ」です。全通り最適化の甘い誘惑を捨て、正直会計でリアルな取引コストを計上し、周辺パラメータで頑健性を証明する。この基本原則を徹底するだけで、リアル口座で資金を溶かすリスクを劇的に低減させることができます。

    あなたが現在運用しているEAや開発中のパラメータは、本当に過剰適合の罠をクリアできていますか?少しでも数値の信頼性に不安を感じたなら、一度立ち止まって設定を見直してみることを強くおすすめします。

    当方のEA監査サービスでは、これらの高度な統計検証手法を用いてパラメータの健全性を徹底的に診断しています。大切な自己資金を投入する前に、第三者の客観的な数字でリスクを洗い出してみませんか?


    関連記事

    🔧 EA開発・パラメータ設計でお困りではありませんか?

    当方では、FX EAの開発代行およびパラメータ設計の検証を承っております。過剰最適化を防ぐ設計ルールの適用、Walk-Forward分析、正直会計に基づく期待値検証まで、実運用で機能するEAを3営業日以内でお納めします。

    ▶ EA作成代行サービス(coconala)

    ▶ EA監査サービス(coconala) — 既存EAの過剰最適化チェック・期待値検証初回限定3,000円(通常5,000円) / まずは1,000円のEAクイック診断

    なお、稼がない原因を上から順に数字で切り分ける手順は、EAが稼がない理由を数字で特定する5つのチェックポイントでまとめています。パラメータ以外に原因がある場合の診断にも使えます。


    EAを動かす土台はVPSです

    MT4を24時間止めずに動かすにはVPSが必要です。まずは無料のお試しで動作を確認できます。

    ABLENET VPSを公式サイトで見る(最大10日間無料) →

    ※本記事にはアフィリエイト広告も含みます。

    EAの検証・監査・制作を承っています

    このブログで使っているのと同じ検証の目線で、買う前の数字の検品から、実データでの監査、死因の解剖、月次の健康診断、インジケーター制作まで承っています。

    EA監査・検証の出品一覧を見る

  • EA作成を外注する前の要件定義チェックリスト — 失敗しない7項目

    EA作成を外注する前の要件定義チェックリスト — 失敗しない7項目

    「月利◯%で放置して稼げる勝てるEAを作ってください」— ココナラなどでEA作成を外注する際、実はこれが最も失敗しやすい危険な依頼文です。「プロに頼めば良い感じに作ってくれるだろう」と丸投げした結果、納品されたのはバックテストすらまともに動かない欠陥プログラムだった…というトラブルが後を絶ちません。

    なぜこのような失敗が起きるのでしょうか?開発者は相場の予言者ではなくプログラマーだからです。検証されていない曖昧なロジックを丸投げされると、開発側は「それっぽく動作するシステム」を作るしかなく、期待値の裏付けがないEAが完成してしまうのです。

    貴重なお金と開発期間を無駄にするリスクを回避するために、外注前の要件定義で必ず決めておくべき7つのチェックリストをまとめました。

    外注トラブルを防ぐ!発注前に確定すべき7つの要件定義リスト

    開発者との認識ギャップを防ぎ、意図通りの動作を実現するために、発注前に以下の7項目を文章化しておきましょう。

    • 1. 対象通貨ペアと時間足: 稼働させるシンボルと時間足を明確に指定します。複数ペア運用の場合はマジックナンバーの分離方針も併せて定義します。
    • 2. エントリー条件と発生頻度: 時刻ベースの固定エントリーか、インジケーター等のシグナル判定か。エントリーのタイミングと想定頻度を正確に取り決めます。
    • 3. SL/TP(損切り・利益確定)の計算基準: 固定pipsで指定するのか、ボラティリティ(ATR等)基準か。最小値の設定やTP未設定(SLのみ)の可否も明記します。
    • 4. マジックナンバーによる個別管理: 1つの口座内で複数のEAや複数通貨ペアを同時運用する場合、注文の混同を防止するために必須となる仕様です。
    • 5. スプレッドガードの設置: エントリー時刻のスプレッドが設定値を超えた場合、当日のトレードを自動送信スキップする機能です。スプレッド感度の高いEAには欠かせません。
    • 6. 詳細なログ出力機能: 注文が通った瞬間の実効スプレッド・約定価格・損益を毎日ログに残す仕様です。運用開始後の期待値照合を行うために最も重要な項目と言えます。
    • 7. ソースコード(.mq4/.mq5)納品の有無: 納品物が実行ファイル(.ex4/.ex5)のみか、ソースコードも含まれるか。将来のロジック改修や第三者による統計監査の可否を左右します。

    なぜ「監査→設計→実装」の順番が安全なのか?

    開発者にロジックを完全丸投げするのではなく、統計的に優位性が実在する現象(例: 特定時間帯の価格アノマリー)を出発点に設計することで、期待値の見通しは劇的に向上します。

    もしすでに手元にアイデアや既存EAがあるなら、いきなり新規開発を発注するのではなく、まずは統計監査で期待値を確定させることが資産を守る鉄則です。

    その上で判明した課題を設計に落とし込み、実装へ進む流れこそが、無駄な開発費用と資金消失を防ぐ最も安全な手順となります。

    納品後に必ず実行すべき「期待値の答え合わせ」

    無事にプログラムが納品されたら、いきなりリアル口座で稼働させるのではなく、以下の検証プロセスを必ず実行してください。

    • バックテストでの再現性確認: 指定した条件通りにトレードが再現されるか、ストラテジーテスターでチェックする
    • デモ口座での期待値照合: 実運用ログ(項目6の仕様)を出力させ、1ヶ月のデモ稼働で検証値と整合しているか数字で確認する

    この照合を行うことで、今回の外注開発が成功だったのかを客観的な数字で判定できます。

    なお、当ブログの運営体制では、事前の要件定義サポートから開発・監査まで3営業日以内で柔軟に対応可能です。

    📦 EAの作成・監査を承っています

    このブログの運営者は、EAの統計監査(ソースコード不要・ex4のみで可能)とEA作成代行(MQL4/MQL5)をココナラで承っています。いずれも納期は3営業日以内です。

    ライト監査は初回限定3,000円(通常5,000円)です。

    EA監査サービス → | まずは1,000円のEAクイック診断 | EA作成代行 →

    関連記事: EAのバックテストはこう読む — 見抜く3つの数字 / EA運用は口座で決まる — 正直会計の考え方


    検証の前提になる取引条件を確認する

    スプレッドや手数料はEAの成績を左右します。公式で最新の条件を確認しておきましょう。

    FXTFの口座開設・最新のスプレッドを見る →

    ※本記事にはアフィリエイト広告も含みます。

    EAの検証・監査・制作を承っています

    このブログで使っているのと同じ検証の目線で、買う前の数字の検品から、実データでの監査、死因の解剖、月次の健康診断、インジケーター制作まで承っています。

    EA監査・検証の出品一覧を見る