「○○だけで勝てる」←本当? 全検証結果を公開中

ChatGPTでFXインジケーター20本を検証した|PF比較表と全結論

このページについて

当サイトでは「○○だけで勝てるのか?」をテーマに、FXの定番インジケーターをChatGPTでバックテスト検証しています。

これまでに検証した記事は21本、うちプロフィットファクター(PF)まで算出した手法は20本です。

このページには、その20本の結論をひとつの表にまとめました。あわせて、使用しているAI・データ・条件・出力指標・そして限界も公開しています。

個別の記事を読む前に、まずこの表を見てください。あなたが今使っているインジケーターが、5年分のデータで実際どうだったかが一目で分かります。

検証した20手法の全結論【PF比較表】

条件はすべて共通です。USDJPY・5分足・約5年間・固定ロット・同時1ポジションのみ。手法名をクリックすると、その検証記事に移動します。

手法PF勝率トレード数判定
ダイバージェンス2.1356.1%3,285回明確な優位性
ZigZag1.9549.3%7,358回明確な優位性
ゴールデンクロス(精密化)1.9048.9%458回明確な優位性
ダウ理論1.8937.1%569回明確な優位性
移動平均線(複数MA)1.7847.0%470回明確な優位性
ローソク足1.1254.1%13,112回優位性あり
200MA1.0638.0%568回トントン
RSI1.0364.1%2,554回トントン
ボリンジャーバンド1.0232.2%15,701回トントン
RCI1.0134.7%40,689回トントン
パラボリックSAR1.0140.2%29,799回トントン
ADX1.0039.6%2,153回トントン
MACD1.0033.2%1,817回トントン
GMMA1.0024.0%12,663回トントン
一目均衡表1.0050.0%15,699回トントン
ラウンドナンバー0.9849.5%11,393回負け
EMA(単体)0.9817.1%24,496回負け
Supertrend0.9334.1%9,306回負け
CCI0.9162.6%585回負け
フィボナッチ0.6630.5%174,219回負け

※リスクリワードの検証(1対1・1対2・1対3の比較)はインジケーター単体の検証ではないため、この表には含めていません。

20本を集計して分かったこと

ここから先は、個別の記事には書けない話です。1本ずつ検証していては見えず、20本並べて初めて見えたものだけを書きます。

① 20本中14本は、スプレッドを乗せれば消える

PFの分布はこうなりました。

PF 1.3以上(明確な優位性)5本
PF 1.1〜1.3(優位性あり)1本
PF 1.0〜1.1(実質トントン)9本
PF 1.0未満(負け)5本

PFの中央値は1.01でした。

当サイトの検証はスプレッドを含まないバックテストベースです。つまりPF1.0〜1.1の9本は、実際の取引コストを乗せた時点でマイナスに転落する可能性が高い。負けの5本と合わせると、20本中14本は「単体では使えない」という結果になります。

定番と呼ばれているインジケーターの、7割です。

② 勝率とPFは、ほとんど関係がない

20手法の勝率とPFの相関係数を計算すると +0.32。ほぼ無相関でした。

具体例を並べると、この意味がはっきりします。

手法勝率PF実際は
RSI64.1%1.03勝率6割超えでトントン
CCI62.6%0.91勝率6割超えで負け越し
ダウ理論37.1%1.89勝率4割未満で大きく勝ち

RSIとCCIは、10回中6回以上勝っています。それでも資金は増えない、あるいは減る。勝ちが小さく、負けが大きいからです。

逆にダウ理論は10回中6回負けます。それでもPF1.89。

「勝率○%」という数字だけで手法を評価するのは、意味がないどころか危険です。この20本のデータは、それを正面から示しています。

③ エントリー回数が多い手法ほど、負けている

トレード数(対数)とPFの相関は −0.52。はっきりとした負の相関が出ました。

トレード数 1万回以上(9本)平均PF 0.98
トレード数 1,000回未満(5本)平均PF 1.51

最も極端なのがフィボナッチで、5年間で174,219回のシグナルを出してPF0.66。EMA単体は24,496回でPF0.98。

一方、ダウ理論は569回でPF1.89、精密化したゴールデンクロスは458回でPF1.90です。

シグナルが頻繁に出るインジケーターは、一見すると「チャンスが多い」ように見えます。しかし5年分のデータが示したのは逆でした。回数を絞れる手法だけが生き残っている。

言い換えれば、勝てない原因の多くは「インジケーターが悪い」のではなく「入りすぎている」ことにあります。

ここから先は、検証方法の全公開です

上の結論をどう出したのか。使用したAI、データ、前処理、条件、判定基準まで、すべて開示します。同じ手順を踏めば、あなたも同じ検証を再現できます。

使用しているAI

ChatGPT Pro(統計モジュール搭載)

Pythonベースの統計処理が可能なモデルを使用しています。ヒストリカルデータを直接読み込ませ、指定したロジックでバックテストを実行させています。

ChatGPTに渡すのはデータとプロンプト(売買条件)だけです。裁量判断や恣意的なフィルタリングは一切入れていません。

データソース

exnessのヒストリカルティックデータ(USDJPY)

ティック精度のデータを使用しているため、バー内の高値・安値の到達判定が正確に行えます。

他社口座のデータではティック精度が異なるため、同一条件でも結果が再現できない場合があります。これはデータの品質差によるものであり、手法の優劣とは無関係です。

データの前処理

ChatGPTにデータを渡す前に、以下の前処理を指定しています。

  1. datetimeのユニーク化(重複削除)
  2. 全1分足の時系列インデックスを生成し、欠損部分は直前値で補完
  3. そこから改めて5分足にリサンプリング

この前処理により、データの欠損や重複によるバックテストの歪みを排除しています。

標準検証条件

すべての検証記事で共通している条件は以下の通りです。

環境: MT4

通貨ペア: USDJPY

期間: 約5年間

時間足: 5分足

ポジション管理: 固定ロット、同時に1ポジションのみ(保有中は新規シグナル無視)

スプレッド: 含まないバックテストベースでの分析

ChatGPTに指定している内容

「AIに検証させた」とだけ書かれても、再現できなければ意味がありません。ChatGPTに何を指定しているかを、そのまま公開します。

すべての検証記事で、以下の5項目を必ず指定しています。

① 役割とデータヒストリカルデータ(USDJPYティックデータ)を読み込ませ、Pythonでバックテストを実行させる
② 前処理datetimeのユニーク化 → 全1分足の時系列インデックス生成と直前値補完 → 5分足へリサンプリング
③ 売買ルール対象インジケーターの設定値、エントリー条件、決済条件を数値で明示。曖昧な表現は使わない
④ ポジション管理固定ロット、同時に1ポジションのみ(保有中の新規シグナルは無視)
⑤ 出力形式総トレード数・勝率・平均リスクリワード比・トータル損益(pips)・PFの5指標を必ず出力させる

重要なのは、裁量が入り込む余地を一切残さないことです。

「良さそうなところでエントリー」のような曖昧な指示を与えると、ChatGPTは都合の良い解釈をします。エントリー条件は必ず数値と論理式で指定し、判断を挟ませません。

検証の質は、プロンプトの厳密さでほぼ決まります。同じインジケーターでも、条件の書き方が甘ければ結果は簡単に変わります。当サイトが全記事で条件を統一しているのは、そのためです。

出力指標

すべての検証で、以下の5つの指標を統一フォーマットで出力しています。

① 総トレード数 ── 検証期間中に発生したトレードの総数。サンプルサイズが小さい結果は信頼性が低い。

② 勝率 ── 勝ちトレードの割合。ただし勝率だけでは手法の優劣は判断できない。

③ 平均リスクリワード比 ── 平均利幅÷平均損失幅。勝率と合わせて初めて意味を持つ。

④ トータル損益(pips) ── 検証期間全体の累積損益。

⑤ プロフィットファクター(PF) ── 総利益÷総損失。当サイトが最も重視する指標。

PFの解釈基準

当サイトでは、プロフィットファクター(PF)を判定の中心に据えています。

PF 1.0未満 ── 負けている。スプレッドを加味すればさらに悪化する。

PF 1.0〜1.1 ── トントン。スプレッド・スリッページを含めると実質マイナスの可能性が高い。

PF 1.1〜1.3 ── 優位性あり。ただしスプレッド環境によっては消える水準。

PF 1.3以上 ── 明確な優位性。実運用でも利益が残る可能性が高い。

勝率が高くてもPFが1.0付近なら「勝っているようで負けている」状態です。逆に勝率が50%を切っていてもPFが高ければ、リスクリワードの設計で利益が出ている構造です。

検証の流れ

すべての検証記事は、以下の手順で進めています。

Step 1 ── 単体検証。 対象のインジケーターや手法を「それだけ」で使った場合の結果を出す。デフォルト設定、最もシンプルなルールで検証する。

Step 2 ── 結果の分析。 なぜ勝てないのか(あるいは勝てるのか)をChatGPTの出力データから分析する。

Step 3 ── 条件追加で再検証。 フィルター(他のインジケーター、時間帯制限、パラメータ変更など)を加えて再検証する。

Step 4 ── TradingViewコードの提供。 検証で使用したロジックをPineスクリプトとして公開し、読者自身が再現・検証できるようにする。

リペイントについて

シグナル系のインジケーターを検証する際は、リペイント(過去のシグナルが書き換わる現象)が発生しない条件で検証しています。

具体的には、バー確定後のシグナルのみを有効とし、「次の足の始値」でエントリーする設計にしています。リアルタイムで消えるシグナルに基づいた検証は行っていません。

スプレッドについて

当サイトの検証は、スプレッドを含まないバックテストベースです。

これは「手法そのものに優位性があるかどうか」を純粋に評価するためです。スプレッドを含めると、使用する業者・口座タイプ・時間帯によって結果が変わり、手法の評価が業者の評価と混ざってしまいます。

実運用では、スプレッドの狭い環境(ECN口座など)を選ぶことが前提になります。PFが1.0〜1.1の手法は、スプレッドで優位性が消える可能性があることを念頭に置いてください。

参考検証:TradingView

一部の記事では、TradingViewのストラテジー機能を使った参考検証も掲載しています。

この場合のデータソースはOANDA(TradingView内蔵データ)であり、exnessのヒストリカルデータとは異なります。ティック精度も違うため、結果に差が出ることがあります。

TradingViewでの検証は「別のデータソースでも同じ傾向が出るか」を確認する目的で使用しており、メインの検証結果はexnessデータに基づくものです。

この検証方法の限界

過去データに基づいている。 バックテストはあくまで過去の値動きに対する検証であり、将来の相場を保証するものではありません。

USDJPY・5分足に限定している。 他の通貨ペアや時間足では異なる結果が出る可能性があります。

スプレッド・スリッページを含まない。 実運用では取引コストにより、検証結果より成績が悪化します。

ChatGPT自体の限界。 ChatGPTは指定された条件を忠実に実行しますが、条件設定(プロンプト)の質がそのまま結果の質に直結します。

これらの限界を理解した上で、検証結果を参考にしてください。

最後に

当サイトは「○○だけで勝てる」という主張を肯定も否定もしません。

数字を出す。それだけです。

判断するのは、読者自身です。

※当サイトの内容は投資助言を目的としたものではありません。FX取引にはリスクが伴い、投資元本を失う可能性があります。投資判断はご自身の責任でお願いいたします。