テクニカル分析の自動化とスクリーニング:ツール、作業手順、落とし穴

スクリーナーは、記録した銘柄リスト全体に同じルールを適用すべきです。そのためスキャン後の重要な問いは、結果が空ならセットアップがないのか、それともデータがないのか、という点です。本章は、 セットアップ の定義から、完全な擬似コード、アラート記録、パラメーター選択に使わなかった標本での検証までを扱います。候補の特定と注文送信は分けます。自動化は作業を省けますが、誤りも素早く一貫して繰り返します。

説明用の形状を用いた教育目的のイラストです。正確な定義、データ、計算は本文で説明します。
60秒で押さえる要点
  • スクリーナーは候補を選びます。 リストの確認範囲を維持しつつ、確認時間を短縮できる点に価値があるかもしれません。金融上の結果への影響を評価するには、エントリー、決済、費用について固定したルールも必要です。
  • アラートには定義された範囲があります。 その範囲外の条件の確認を代替しません。画面を見る時間の短縮は測定できますが、規律や成績が自動的に改善するとは仮定しません。
  • バックテストはモデルです。 テスターには過去の スプレッド、手数料、仮定した スリッページを組み込めます。しかし、利用可能だったすべての価格や、 リクオートを含むブローカーの将来の対応を再現することはできません。履歴への適合は、将来の 優位性を証明しません.
  • 自動化の段階は、説明のための慣例です。 アラート、フィルター、注文を執行するシステムは責任範囲が異なります。完全な執行には、エラー、重複、口座状態の処理も必要であり、シグナルだけでは足りません。
仮定のスキャン:予定28、評価26、欠損2、候補4
仮想結果の概念図:網羅率26/28 = 92.8571%、26 = 候補4 + シグナルなし22。欠損二件の結果は不明です。候補は注文ではありません。

1. 自動化する理由と、何を自動化するのか

USD、EUR、GBP、JPY、CHF、AUD、NZD、CADの八通貨からは、8 × 7 / 2 = 28組の順序を区別しない通貨ペアができます。選んだ銘柄集合であり、FX市場全体や「最も注目される」商品の測定ではありません。ブローカーの提供リストは異なる場合があります。スキャン前に銘柄、表示方向、リストの版を記録します。本記事が評価するのは、 移動平均, オシレーター および サポート/レジスタンス帯 のフィルターで、同じデータ仕様に従います。

スクリーナーは記録した条件をリスト全体に適用し、候補集合と網羅状況を出力します。後の手動・自動判断で候補を除外する場合は、その結果を別に残します。

スクリーナーは、お気に入りのチャートだけを選ばず、繰り返せる確認を行います。ただし設定した範囲内に限られます。設定に28通貨ペアがあっても、すべてに最新データが届いた証拠にはなりません。報告には、シグナルのないペアと、評価できなかったペアの記録も必要です。

RSIが30未満なのは条件の結果であり、買いの指示ではありません。追加の プライスアクション や背景分析でエントリーを決めるなら、却下も記録します。そうしなければ、スクリーナーの検証は都合よく選んだ取引だけを含むことになります。

2. 自動化の範囲:アラートからアルゴリズムへ

次の五段階は機能の範囲を整理します。本コースの慣例であり、大多数のトレーダーに最適な経路の順位ではありません。段階が上がると追加の確認が必要ですが、特定の仕事に必ず優れているわけではありません。

段階機械の役割トレーダーの役割例
1. 価格アラート価格が水準に達すると通知分析、判断、執行EUR/USD = 1.0700のアラート
2. 指標アラート指標が条件を満たすと通知背景を分析し、判断D1でRSI(14) < 30
3. スクリーナー基準に沿って銘柄リストを選別結果を確認、分析、判断TradingView スクリーナー
4. 半自動システムシグナルとパラメーター案を生成承認または却下し、ポジション管理カスタム指標とPine Scriptアラート
5. 完全自動化分析、建玉、管理、決済監視し、緊急時に介入エキスパート・アドバイザー(EA) の動作環境は、 MT4/MT5

既製のフィルターやアラートは、必ずしもプログラミングを要求しません。それでも設定、データ提供元、動作試験は必要です。半自動・自動の執行には別の問題があります。正しく検出した条件でも、想定と異なる約定になったり、約定しなかったりします。

図は機能を、通知と選別、銘柄集合の選択、執行の三つにまとめます。執行へ進むには、指示とエラーへの追加の確認が必要です。品質の順位や口座成績の予測を示す図ではありません。

本記事は段階1から4を中心に扱います。完全自動化のEAは主に落とし穴の文脈で登場します。早すぎる段階でロボットに頼ると、そこへ進んでしまうからです。

スキャン、アラート、執行:別々の機能
処理の順序を示します。各段階には別々の条件と記録があります。

3. 実務でのスクリーニング基準

見つけたい観測から始め、条件に置き換えます。絞り込みが役立つのは、意図した事例を探し、評価できないものも報告する場合です。件数だけでは良し悪しは分かりません。

ルールを客観化するチェックリスト

条件をスキャナーに渡す前に、直感の言葉を機械の言葉へ変える必要があります。以下の項目を明示的に決めなければ、スキャナーが代わりに決めます。通常は、想定と違う形で決まります。

要素確認する問い
銘柄集合どの商品を調べるか。「すべて」ではなく、固定したリストか。
データ提供元誰の配信で、Bid、Ask、Midのどの価格か。実際の取引と同じものか。
時間足と評価時点どの足を使うか。確定足だけか。条件を正確にいつ計算するか。
指標と実装どのパラメーターで、誰の実装か。ワイルダーのRSI ≠ SMAに基づくRSI。
演算子と閾値閾値を横切る事象か、上下にある状態か。許容幅はどれだけか。
スキャン頻度確定足ごと、一日一回の定時、または継続的か。
欠損データ欠けた足、ギャップ、銘柄変更をルールはどう扱うか。
重複排除六本連続で条件が続けば、六回通知するのか、一回なのか。
リセット条件何がシグナルを無効にし、ルールの再発動を許すか。

三つの測定を分けます。 スキャン時間とデータ網羅率は、便利さと信頼性を測ります。独立にラベル付けした基準パターンとの一致は、条件検出を測ります。金融上の結果には、却下候補、反応時の価格、費用を含む戦略全体が必要です。TP到達だけで「正しい」スクリーナー結果とは定義できず、勝率が上がらなくても時間短縮を否定しません。事前に取り分けた同じ標本上で、フィルターなしの方式と比較します。

トレンドフィルター

  • 価格とEMA/SMA. D1で上向きの 200 EMA より上にある価格を方向フィルターとして定義できます。この条件を満たさない候補を除くのであって、あらゆる市場定義でのすべての「逆張り」を除くわけではありません。平均と同じ価格や水平な傾きには、明示的な判断が必要です。
  • 移動平均のクロス。 直前のEMA 50 ≤ EMA 200、現在は > EMA 200という条件は、状態の変化を検出します。これは、 クロスレート でも、将来の価格方向の変化を示す証拠でもありません。両方の値は、同じ系列の完全な足から得る必要があります。
  • 閾値より高いADX。 定着した慣例の例では、ADX(14) > 25をトレンド相場、< 20を持ち合いと扱います。ただし、ADXは方向ではなく動きの強さを測ります。主に除外フィルターとして有用で、閾値未満なら、選んだパラメーターに従ってトレンドのルールが銘柄を除きます。

モメンタムとオシレーターのフィルター

  • 極端なゾーンにあるRSI。 例として、 RSI(14) の閾値は30と70です。その頻度は商品、時間足、期間、初期化方法に依存します。売られ過ぎは単独の買いシグナルではなく、買われ過ぎも売りシグナルではありません。調査なしに、D1の極端値がH1より情報量が多いとは扱いません。
  • ダイバージェンス。 スイング、価格とオシレーターの極値の対応、確認時刻を定義する必要があります。定義があれば複雑なパターンも計算できます。ルールなしに「複数波の」ダイバージェンスを手動評価すると、検証で公正に再現しにくい裁量的な選択が残ります。
  • MACDヒストグラムの符号変化。 ヒストグラムが下からゼロを横切ることは、この実装ではMACD線とシグナル線の関係の変化を意味します。価格方向の変化を証明するものではありません。プログラムしやすく、その後の分析に向けた初期フィルターとしてよく使われます。

価格と構造のフィルター

  • サポート/レジスタンスへの近さ。 ゾーンと許容幅を価格と同じ単位で定義します。手描きのゾーンのアラートは確認を簡単にするかもしれませんが、有効性は検証が必要です。設定しやすいことから有効性は導けません。
  • N本の足のレンジからのブレイク。 たとえば、確定足の終値 > 直前20本の完全な足の最高値という条件です。評価中の足は最大値の窓から除き、厳密な方式では同値はブレイクではありません。ドンチャンの一つの慣例であり、自動的な利益の約束ではありません。
  • フィボナッチ. 確認済みスイングの端点と、リトレースメントの周りの許容幅を定義します。確認の遅れは、 記事5.11で説明しています。水準を計算できても、価格がそこへ反応する証拠にはなりません。

全仕様を読む前に1本を処理する

サポートS=1.1000と固定ATR A=0.0040を使います。ゾーンは[1.0992;1.1008]、無効化はC < 1.0980、再待機はC ≥ 1.1040かつL > 1.1008です。シグナル評価時のEMA条件は成立していると仮定します。

  1. 欠損・無効データはその状態を記録し、新規アラートを停止します。
  2. 無効化境界未満の終値で、この背景を終了します。
  3. 待機無効なら次の足に向けた再待機を確認し、この足では通知しません。
  4. 待機有効なら、値幅とゾーンの交差とC > Sがあり、EMA条件も満たすと候補になります。

以下に数値の処理記録を示します。市場履歴の復元ではなくモデル入力です。後の仕様では、データや要求が繰り返されてもこの意味を保つ制御を加えます。

次の足を見ずにアラート状態を再現

S、固定A、分岐順、背景を保ちます。最初の6判断は再試行を含む公開記録で、最後の欠損は別事例です。確認前に選び、メモ未入力でも解答は読めます。

段階1。 待機有効。L=1.1007,H=1.1015,C=1.1010。

任意のメモです。ブラウザーに保存できない場合はコピーを残してください。

この段階を確認して次を表示

SIGNALです。値幅がゾーンと交差し、C > Sと仮定したEMA条件を満たします。この背景の待機を無効にします。

段階1 — 再試行。 同じキーと入力ハッシュが再度届きます。

任意のメモです。ブラウザーに保存できない場合はコピーを残してください。

この段階を確認して次を表示

既存のSIGNALを返します。現在の待機無効状態で再評価せず、通知も再送しません。

段階2。 待機無効。L=1.1010,H=1.1042,C=1.1040。

任意のメモです。ブラウザーに保存できない場合はコピーを残してください。

この段階を確認して次を表示

次の足に向けてREARMです。Cは許容閾値と等しく、Lは1.1008より上です。今は通知しません。

段階3。 待機有効。L=1.1007,H=1.1025,C=1.1010でEMA条件も成立。

任意のメモです。ブラウザーに保存できない場合はコピーを残してください。

この段階を確認して次を表示

この新しい足のキーでSIGNALを記録し、待機を無効にします。

段階4。 待機無効。L=1.0975,H=1.1014,C=1.0980。

任意のメモです。ブラウザーに保存できない場合はコピーを残してください。

この段階を確認して次を表示

DISARMEDです。同値はC < 1.0980を満たさず、再待機も不成立です。

段階5。 待機無効。L=1.0974,H=1.0982,C=1.0979。

任意のメモです。ブラウザーに保存できない場合はコピーを残してください。

この段階を確認して次を表示

INVALIDATEDです。古い中心を廃止し、新たな確定フラクタルを待ちます。

別の欠損事例。 完全記録の代わりにデータエラーがあり、評価できません。

任意のメモです。ブラウザーに保存できない場合はコピーを残してください。

この段階を確認して次を表示

NO_DATAです。欠損内でNO_SIGNALや再待機・無効化を推測せず、背景を再構築するまで通知を停止します。

処理記録の全体を読む

同じ水準と、アラート状態の推移

結果を見て閾値を変えず、ルールを順に確認します。サポートS = 1.1000は、最初の評価日より前に確認済みのフラクタルから得ました。その時点で固定したATR A = 0.0040、すなわち40pipが、ゾーン[1.0992; 1.1008]、無効化C < 1.0980、再有効化C ≥ 1.1040かつL > 1.1008を定めます。モデルのパラメーターで、EUR/USDの推奨値ではありません。フラクタルの中心点とAは、例全体で同じままです。

各終値受信後に評価する架空のD1 Bid記録の抜粋
段階L / H / C直前の状態結果
11.1007 / 1.1015 / 1.1010待機有効値幅がゾーンと重なりC > S:通知し、待機を無効化
1:再試行1と同じkeyと入力hash既存のSIGNAL記録前の結果を返し、再評価、状態変更、再通知はしない
21.1010 / 1.1042 / 1.1040待機無効Cが再有効化閾値と等しくLがゾーン上:次の段階へ待機を有効化。通知なし
31.1007 / 1.1025 / 1.1010待機有効新しい試し:二回目の通知。足の終了時点とkeyは別
41.0975 / 1.1014 / 1.0980待機無効厳密なルールでは同値は無効化ではない。再有効化も通知もなし
51.0974 / 1.0982 / 1.0979待機無効C < 1.0980:背景を無効化

段階1と3は、指定したEMAフィルターを満たします。終値がEMAより上で、現在のEMAは20本前の値より上です。表は初期計算の500本を再現しておらず、この二条件は論理モデルの入力で、市場の実測値ではありません。段階1を再試行すれば同じSIGNALを返す必要があり、すでに無効になった待機状態で再計算してDISARMEDと上書きしてはいけません。改訂時には、その足より前の状態とその後の依存する状態を別に再現し、元の実行記録を残します。段階2は評価開始時に待機無効だったため、同時に有効化と通知を行えません。分岐順序は定義の一部で、単なる技術上の詳細ではありません。

段階5の後も、古いフラクタルは無効として記録に残します。翌日のスキャンで「最新サポート」と呼び直し、同じ中心点から新しい通知を作ってはいけません。新しい確認済みフラクタルが必要です。60本後の期限切れは別の状態で、無効化水準を超えなくても起きます。段階間のデータがなければ、空白中に再有効化や無効化が起きたかは分かりません。中断を報告し、背景が復元されるまで新しい通知を停止します。

高値や安値の訂正は、フラクタルの成立を変える場合があります。元のスナップショット、当時利用可能だった結果、後の訂正を関連付けて保持します。「最終データでルールはどう動いたか」と「当時、実際に何を送れたか」は別の実験です。両方を行っても構いませんが、記録を混ぜてはいけません。添付した、 状態CSV で、注文せずに実装を検証できます。

RSI:30未満でも新しいクロスとは限らない
処理の順序と時間軸。各条件はデータが利用可能になった後に使います。

直感から条件へ:完全なルールと、書き換えで失うもの

直感は「D1上昇トレンドのサポートで反発を買う」です。同じ考えを、スキャナーが実行できる形で記述します。

完全版は、版付きスナップショット取得、背景固定、元の状態からの足評価、結果確定と重複しない通知配信の4役割です。分岐を順に読んでください。再試行は新しい足ではなく、訂正は元のアラートではありません。

データ・状態・配信の全仕様を読む
擬似コード:「サポート試し」の候補であり、注文ではない
固定した設定:版、28ペア、BID配信、D1、カレンダー、
  EMA:α=2/201、最初の200個のCのSMAで初期化。ワイルダーATR(14):
  初期値 = 直前Cがある最初の14個のTRの平均、その後はα=1/14。
  少なくとも500本の完全な足での初期計算はモデルの選択で、収束保証ではない。
銘柄の状態:水準S、ATR A、特定区間、待機有効/無効。
tの開始時、start_tより前に既知だったデータから、不変の背景スナップショットを記録する。
  tへの入力を記録するもので、稼働中の待機状態は変えない。再試行もこのスナップショットを使う。
  t前の状態と中心点の記録は、直前に処理した足から引き継ぐ。
  両側に2本ずつある厳密な下側フラクタルのうち、
  start_tより前に確認・受信済みで、経過が60本以内の最新のものを選ぶ。
  同じ安値は厳密なフラクタルにならない。該当なし = NO_LEVEL。
  配信とフラクタル中心点で新しい背景を識別する。無効になった中心点も、
  記録に残し、同じ中心点から背景を再作成しない。
  新しい背景ではA := start_tより前に既知のATRとし、
  期限切れ、無効化、新しい確認済み中心点まで変えない。
  中心点から60本後にEXPIREDを記録し、通知しない。
  A ≤ 0、または値が欠ける場合はNO_VALUEとし、シグナルを出さない。
  ゾーン[S − 0.2A; S + 0.2A]と無効化条件C < S − 0.5Aを記録する。
  新しい確認済みフラクタルは新しい背景を作り、テスト前に待機を有効にする。
t終了後、全銘柄集合のすべての銘柄について:
  Key := (version, feed, symbol, D1, end_UTC)。
  tの完全OHLCとknown_at、start_t前に保存した背景スナップショットを取得する。
  入力ハッシュにはOHLC、指標履歴、背景、設定、データの版を含める。
  同じkeyとhashがあれば、評価や状態変更をせず以前の結果を返す。
  keyがありhashが異なるなら、改訂を追記し、t前に固定した状態から別の再現処理を行う。
    t自身がすでに変えた状態で、tを評価しない。
    t前の履歴を訂正する場合は、最初に変わった入力から再現する。
    元の結果/known_atを保持し、再現結果は後の訂正と明記する。
    訂正を新しい初回アラートとして送らず、その銘柄の処理を終える。
  初回評価では、t前の状態のコピーと背景スナップショットを使い、
    L ≤ min(O,C) ≤ max(O,C) ≤ Hを検証する。
  セッションの連続性、配信、価格の種類、価格刻み、初期計算を確認する。
  データエラーならNO_DATAを記録し、状態を保持して通知しない。
  C_t < S − 0.5AならINVALIDATEDを記録し、背景を除いて銘柄の処理を終える。
  待機が無効だった場合:
    C_t ≥ S + A AND L_t > S + 0.2Aなら、次の足に向けて待機を有効にする。
    REARMまたはDISARMEDを記録し、同じ足では通知しない。
  待機が有効だった場合:
    trend := C_t > EMA200_t AND EMA200_t > EMA200_(t−20)。
    test := H_t ≥ S − 0.2A AND L_t ≤ S + 0.2A AND C_t > S。
    signal := trend AND test。
    すべての演算対象とともにSIGNALまたはNO_SIGNALを記録する。
    シグナルがあれば待機を無効にし、将来のREARM後にのみ新しい通知を許す。
  終了する各分岐で、結果、入力、t前とt後の状態を記録する。
  一意のkeyを持つ一つのトランザクションで、記録と状態を一度だけ確定する。
    再試行の競合では、二度目の変更を行わず既存記録を返す。
  配信を再開する場合も、このkeyで通知を識別する。
  足の終了を時系列順に処理し、データ欠損があれば背景の復元まで、
    その後の通知を止める。欠損をNO_SIGNALに置き換えてはいけない。
スキャン後はexpected/evaluated/missing/candidatesを報告する。candidates = 0の場合も同様。
アラートはend_t、known_at、version、S、A、条件を含み、執行機能は持たない。

条件への変換で選択が明確になります。サポートは確定フラクタル、ゾーンは±0.2 ×固定ATR、試行には記録した値幅交差と終値が必要です。W1背景と裁量的な足評価は含みません。再待機とサポート無効化は別事象で、別定義には別の版が必要です。

マクロ背景と費用フィルター:スクリーナーだけでは分からないこと

経済カレンダー、スプレッド、ロールオーバーのフィルターは別のルールです。30分や60分の窓が最適だとは、ここでは示していません。対象の出来事、日時の提供元、新候補や新注文を止めるのか、既存ポジションの扱いも変えるのかを記録します。

  • 経済カレンダーのフィルター。 選んだ発表の二時間前から新候補を除く手順も考えられます。検証すべきパラメーターであり、普遍的な要件ではありません。発表元で日付を確認し、予定時刻と実際の公表を区別します。「High impact」はカレンダー提供者の分類です。
  • スプレッドのフィルター。 単位と比較基準を含め、閾値を明示します。そのペアと時間帯で事前に測った水準の二倍なら、新しい指示を止めることもできます。スプレッド拡大の原因は説明せず、既存ポジションを保護するものでもありません。
  • ATRフィルター。 ATR > 1.2 × 直前N個の値の平均、という条件は選んだ閾値の超過を示します。閾値未満だからといって、自動的に「薄い市場」ではありません。SL、TP、数量の変更には記録したルールが必要で、ATRだけから必然的に決まるわけではありません。

その後の評価では、 パターン, 背景 、リスクを別のルールとして保ちます。行動を変える条件があれば、入力と棄却理由を残してください。

個人向けFXのレベル2/注文フロー:見かけの厚み。 OTCスポットで見えるのはブローカーの注文板であり、市場全体の板ではありません。ショックでは、成行注文が約定する前に表示された厚みが消えることがあります。いわゆる、 ゴースト流動性 、つまり見かけの流動性です。数pipから十数pip以上離れて約定することもあり、短い時間足のブレイク戦略でバックテストと実際が食い違う主因の一つです。集中注文板の注文フローは先物(CME)に存在します。OTCの市場構造は、 第3章で扱います.
相場の局面:スクリーナーは万能ではない

局面が違えば、フィルターが返す結果の数も変わる場合があります。トレンド用とレンジ用を切り替えるなら、切替ルールをテスト前に記録し、当時利用可能だったデータを使います。過去の各区間に最良のフィルターを後から選ぶのは、別の最適化です。データが完全なまま候補が一週間ゼロでも、有効な結果です。その場で閾値を緩める理由ではありません。

ブレイクは意図を明かしません。 通知後に価格が水準を下回っても、ストップの集中や大口参加者の行動の証拠にはなりません。ADX > 25も原因を裏付けません。ADXは方向を示さないからです。もう一度水準上で閉じることを条件にできますが、その分シグナルは遅れ、別の測定が必要です。損失になったブレイクを、結果を見てからすべて「罠」と呼んではいけません。
公開した例を再計算する。 例、検証プログラム、説明をダウンロード。ZIP全体を展開し、 node reproduce-real-examples.cjs をそのフォルダーで実行します。 実行前に説明を読む か、 期待値を確認してください。検証プログラムは50の検証条件を確認し、結果を次に書き込みます: ./reproduced。必要な元ファイルはすべて含め、関連するH1/H4と3銘柄の例で同じ検証プログラムを使います。

実際のH1スキャン:ヒゲの除外と新候補

同じICMarketsSC-Demo出力のEURUSD、GBPUSD、USDJPYを使う、別の単純な実験です。完全H1の終了後にBidで評価し、元のMT5時刻を保持します。時差は未確認です。Rは左右各2本のHighより厳密に高い最新転換点のHighです。同値は除き、中心iはi+2確定後に分かり、次の足から使います。許容幅は0です。

候補には両条件が必要です: Ct > RかつCt−1 ≤ Rです。各転換点の候補は最大1つで、キーは版、配信元、銘柄、H1、対象足の開始です。再試行は記録済み結果を返します。中心から後続24本で期限切れになり、1時間刻みでない中断があれば背景をリセットし、新たな連続転換点が必要です。中断原因は推測しません。候補フィルターで、参入・決済戦略ではありません。

実際のEUR/USD H1:ピボット確定、ヒゲの棄却、その後の水準超え終値
ICMarketsSC-Demo、Bid、2026年10月13–14日、元のMT5時刻。厳密な2+2ピボットで、シグナルには終値が必要です。スキャンの論理を示し、約定や収益性を示しません。

EUR/USD:10月13日21:00の転換点のHigh = 1.12037です。右側H1の2本が終わるのは10月14日00:00で、それ以前にRは分かりません。H1 [03:00, 04:00)はH = 1.12044ですがC = 1.12034なのでヒゲだけの突破を除外し、「罠」の物語は作りません。H1 [04:00, 05:00)で初めて終値が 1.12064になり、前のCは≤ Rです。その終値の受信後、早くても05:00に候補が成立します。

H1 [04:00, 05:00)、2026年10月14日 — 実験の全銘柄
銘柄RCスキャン結果
EURUSD1.120371.12064新候補
GBPUSD1.325931.32669この転換点は報告済み — 再通知なし
USDJPY158.466158.392除外:C ≤ R

3銘柄中3すべてを評価しました。新候補1つは取引1件を意味しません。除外と10月1日からの全結果も記録します。同じRへの却下された突破が直前12本以内にある、その日以降最初のEURUSD候補を選び、後の利益では選んでいません。出力にはライブ受信時刻、Ask、約定、完全な改訂履歴がありません。固定データの因果順序で、当時実際に送った通知ではありません。

検証用: チャートの元H1足, 例の状態の推移、および 3銘柄の全記録, メタデータとSHA-256、ならびに 再現スクリプト。先頭部分の検証では、その時点までの履歴だけの結果を、全再現の同じ区間と比べます。後の足を加えても過去の結果は変わってはいけません。

4. TradingView:スクリーナー、アラート、Pine Script

組み込みスクリーナー

TradingViewは通貨のフィルターとアラートを提供しますが、正確な範囲は現在のツールとプラン次第です。列、時間足、提供元を確認します。スポットFXの「出来高」は集中した取引記録ではなく、ある配信の更新回数かもしれません。二つの提供元の結果が異なっても比較はできますが、データの特定と方法が必要です。

最初の実装は目的を1つにします: このD1下落フィルター内で売られ過ぎ候補を探す。記録した全銘柄と配信元の利用可能な確定足を評価します。ルールは C < EMA(200) AND RSI(14) < 35 AND ADX(14) > 20です。同値は各厳密比較を満たしません。指標計算と初期化は宣言したデータ仕様に従います。確認用候補を返すだけで、売りも買いも指示しません。

設定したD1検証3例 — 市場履歴なし
モデル行Close / EMA200RSI14 / ADX14結果
A1.0900 / 1.100032 / 24候補:3比較すべて成立
B1.1100 / 1.100032 / 24除外:終値がEMA未満でない
C1.0900 / 1.100068 / 24除外:RSIが35未満でない

この入力は論理を確認するもので、指標履歴の復元ではありません。5セッションのリターンは別条件です: 100 × (C_t / C_(t−5) − 1) には符号があり、絶対値にはありません。加える前に符号、閾値、系列を指定し、典型的な日次件数を約束せず、予定数・評価済み・欠損・候補を報告します。

TradingViewのアラート

アラートは条件を知らせます。終値を要求することも、足の内部の反応を対象にすることもあります。どちらでも、データ時刻、検出時刻、通知受信時刻を記録します。他のすべてのアルゴリズムがすでに取引したとも、通知の遅れがすべて同じとも仮定しません。

アラート上限は現在の TradingViewプラン、種類、期間によります。全銘柄を選ぶ前に確認してください。有効アラート数と評価銘柄数は別の制約です。

Pine Script:独自の指標と戦略

Pine Scriptは指標、アラート、模擬戦略を扱えます。手計算できる小さな条件から始め、確定足と形成中の足で動作を確認してください。 公式文書 が実行モデルを定義しています。

  • 独自指標はRSI、確定フィボナッチゾーン、EMA関係を組み合わせられます。各入力に計算法、出典、利用可能時刻が必要で、矢印だけでは定義できません。
  • 独自指標に基づくアラート :条件がそろうと、スクリプトが自動で通知します。携帯電話で受信し、分析の準備ができたチャートを開きます。
  • 戦略のバックテスト :Pine Scriptには、組み込みの、 strategy() モジュールがあり、過去データでロジックを試せます。「Strategy Tester」タブには資産曲線、 ドローダウン、勝率、プロフィットファクターが表示されます。

Pine ScriptはTradingViewのエミュレーターで、指標、アラート、模擬注文を計算します。注文管理のための標準的なブローカー連携があっても、戦略スクリプト自体がブローカーへ取引を送る意味ではありません。Webhook後の自動執行には、正しく設定した別の層が必要です。重複、応答確認、エラーを識別しなければなりません。環境はデータと要件次第で、測定なしに低いスリッページを保証するプラットフォームは指定しません。

RSI事象の擬似コード。 これはロジックの説明で、貼り付けて動くコードや注文送信システムではありません。実装は完全性と時刻の仕様、および初期化ルールを守る必要があります。規定は、 記事5.8を参照してください.

擬似コード:アラートのみ、注文なし
設定:ルールの版、銘柄集合、BID配信、時間足D1、
  日次の区切り、RSI(14)とEMA(200)の実装、少なくとも500本の過去足。
予定する各D1終了後、すべての銘柄について:
  完全性、OHLC、カレンダーの連続性、利用可能時刻を確認する。
  欠損があればNO_DATAを記録し、閾値の状態を保持して銘柄の処理を終える。
  同じ指定方法で、連続する完全なD1足二本のRSIとEMAを計算する。
  結果が未定義ならNO_VALUEを記録し、銘柄の処理を終える。
  Event := 直前RSI ≥ 30 AND 新しいRSI < 30 AND 新しいC < 新しいEMA。
  Key := (version, feed, symbol, D1, end_UTC)。
  event = FALSEでも、データ時刻とhashを付けて結果を記録する。
  eventが成立しkeyが未送信なら、アラートを記録して通知する。
  同じkeyで再実行しても、新しい通知を送らない。
  履歴訂正では訂正版を追記し、元の判断を置き換えない。
  足の間にデータの空白があれば、連続したクロスがあったと見せかけない。
  次の事象には、新しい一組の連続した完全足が必要。

直前の足のRSI = 30なら移行を認めますが、現在の足の同値では条件を満たしません。演算子の明示的な選択です。次の足でも30未満のままなら、新しい移行ではありません。スキャン再実行時の同一結果は、別途重複排除します。欠損データがあっても、存在しないRSIや観測していないクロスを作ってはいけません。

検出と反応。 終値は足が完了し、受信されてから利用できます。その後に通知、判断、執行の試行が続きます。TradingViewの既定エミュレーターは、新規注文を早くても次のティックで約定させます。終値での執行をモデル化する選択肢もありますが、通知受信後にその価格を得られた証拠にはなりません。区間終了前に未来のHTF終値を使えば、設定名にかかわらず先読みです。時間軸は、 記事5.11に示しています.

遅延モデル。 足の完了から三秒後に通知を受信し、反応時のAskは基準モデルより12pip高かったとします。架空の価格差であり、CPIの観測例ではありません。D1シグナルでも、その三秒間に価格が飛ぶ可能性があります。データ、通知、指示、約定の時刻を記録します。遅延の影響は時間足の長さだけでは決まりません。
指標のロジックから記録されたアラートへ
処理の順序と時間軸。各条件はデータが利用可能になった後に使います。

5. MT4/MT5:スキャナー、指標、EA

MetaTraderはMQL4/MQL5のローカル指標とEAを扱います。端末、口座、提供元が許可すればEAは注文・管理が可能です。条件の報告だけをするスキャナーは、より狭い役割です。

独自の指標とスキャナー

ダッシュボードでMarket Watch銘柄のトレンド状態、RSI、平均からの距離を表示できます。ルール、版、対象範囲、データ処理を確認し、商品名やレビューだけで判断しないでください。

ローカルMT4/MT5スキャナーはPCやVPSで端末プロセスを動かし続ける必要があります。TradingViewアラートは同社サーバーです。どちらもデータの鮮度、サービスエラー、通知受信を確認し、検出と通知を区別します。

エキスパート・アドバイザー:完全自動化

EAは自律的に取引できるプログラムです。「50 EMAが200 EMAを上抜けたら買う」という単純なものから、動的なポジション管理、トレーリングストップ、複数時間足分析を備える複雑な仕組みまで、可能性は幅広くあります。

既製EAの評価には、文書化したルール、変更履歴、データ、費用、弱い時期も含む結果が必要です。滑らかなグラフだけで不正や過剰適合は断定できませんが、その情報なしには否定もできません。以降で確認事項を説明します。

スキャナーの外にある執行。 急変中に反応するなら、価格と遅延の関係はD1にも当てはまります。VPSや短い通信経路は約定を保証しません。方針、利用可能な価格、個別提供元の応答確認は別々の変数です。これらは執行の、 品質 と、 インフラの記事で扱います.

MT5とMT4の比較

MT5には複数銘柄のテスターがありますが、MT4の標準テスターは選んだ一銘柄を使います。ポートフォリオ戦略では重要ですが、データや執行モデルの品質は決めません。対応商品、テスト方式、個別ブローカーの条件を確認します。プラットフォームの名称だけで執行は評価できません。

6. 作業手順:スキャンから監視リストへ

次の手順は、スキャン、確認、反応を分けます。 スイング取引向けの整理の例であり、有効性研究の結果ではありません。却下を含め、各段階に記録を残します。

  1. 週の終了後のW1。 背景と、事前に確認済みの、 サポート/レジスタンス 帯を調べます。正式に定義すれば手動でも自動でも評価できます。特定した時刻とゾーンの境界を記録し、後で結果に合わせて動かしません。
  2. 指定終値後のD1スキャン。 全銘柄を固定ルールで評価し、記録した週足背景で候補を確認します。手動の除外と欠損状態も残します。
  3. 監視リストとエクスポージャー。 ペア数は確認能力に依存し、「理想」の2–5という範囲で決まりません。EUR/USDロング、GBP/USDロング、USD/CHFショートはUSDショートの脚を共有しますが、他方の通貨は異なり、一つの同一ポジションではありません。期間と窓を指定し、そろえた収益率で相関を測ります。DXYはこれらのレートと部分的に重なり、COTにはポジションと公表の別々の日付があります。 ポジションサイズの決定 を行うのは、実際の取引計画の段階です。
  4. アラートと待機。 監視ペアに、ゾーン到達の価格通知、RSIが極端な領域に入る指標通知、トレンドライン接触など描画物の通知を設定します。チャートを凝視せず、通知を待ちます。
  5. アラート → 確認 → 判断。 記録した候補と、別の発動、リスク、執行条件を確認します。通知自体が注文を許可するわけではありません。行動しない理由も残します。

実際の確認時間と網羅範囲を記録します。通知は正しい背景判断も完全なリストも保証しません。介入や発表後のデータ変更で結果が変われば、新しい記録として確認し、以前の読み取りを置き換えません。

データ仕様の五段階は、スナップショット、ルール、各銘柄の結果、事象key、改訂です。EAではありません。以前の記録を残すことで、当時利用できた判断と後の訂正を区別できます。
監視リストと執着の違い

候補数は確認能力に合わせます。空の結果をセットアップなしと解釈する前に、全銘柄の確認範囲とデータの新しさを調べます。障害、未完了の足、履歴不足は別の状態です。「今日はなし」は解釈であり、診断メッセージではありません。

7. 月曜の朝:28通貨ペアのスクリーニング例

月曜確認の例です。提供元は17:00 America/New_Yorkに終了する日付と、通常の一週間に完全なD1足五本を使います。最後に受信した完全D1を評価します。UTCでは月曜までに短い日曜足があるかもしれないため、週末に新D1ができないと一律には仮定しません。

8:15. TradingViewスクリーナーで、金曜セッション終値のデータにD1フィルターを設定します。RSI(14) < 35、価格が200 EMAより下、ADX(14) > 20です。狙いは、下落トレンド内の売られ過ぎペアです。

モデルのフィルターは、全28ペアの完全なデータから四ペアを返します。同じ提供元、D1終了時刻、指標初期化で確認します。

  • AUD/USD。 仮のRSI 28と200 EMA未満の価格は条件を満たします。事前記録したW1ゾーンを合わせて次の分析へ進めますが、サポートに近いだけでは買い指示ではありません。
  • NZD/USD。 フィルターは満たしますが、追加ルールが要求するW1ゾーンへの近さがありません。「確認段階で却下」と記録し、損失後に「偽シグナル」と名付けません。
  • EUR/GBP。 モデルでは、閾値 > 20に対してスキャナーのADXは21、別配信では18です。一つの整合的な測定ではありません。提供元を記録し、OHLC、日次の区切り、初期化を調べるまで比較を止めます。再計算なしに、ADX三ポイントの差をすべて配信の違いに帰してはいけません。
  • GBP/CHF。 仮のRSI 31とADX 27は条件を満たします。61.8%の戻しに近いと判断するには、事前に既知のスイングと指定した許容幅が必要です。価格通知とRSIは、別々の条件のままです。

モデルでは、4/28 = 14.2857%がフィルターを通過し、2/28 = 7.1429%が監視リストに残ります。作業時間は測っていません。二つのデータが欠けるなら、正しい報告は「評価済み26のうち候補4、網羅率26/28 = 92.8571%」であり、「28のうち4」ではありません。欠けた二つの結果は不明です。

四つのアラートと共通通貨。 モデルではAUD/USD、NZD/USD、EUR/USD、GBP/USDをロングし、各価格リスクを1Rとします。すべて実際に−1Rで閉じれば合計−4Rです。Rにすでに全費用を含めたなら、もう一度加えません。スリッページとギャップで約定は変わり得ます。共通のUSDの脚は共通感応度を増やしますが、四つの異なる基軸通貨を消さず、一定の相関も立証しません。 第9章 でエクスポージャーの測定を詳しく扱います。
28銘柄:候補、シグナルなし、データ欠損
処理の順序を示します。各段階には別々の条件と記録があります。

8. アラート:見続けずに見逃しを避ける

アラートは、条件を待つ時間とチャートを確認する時間を分けます。作業時間への影響は計算できますが、衝動的な取引が減る保証ではありません。通知後も計画を守る必要があります。

成行と指値:短い原則

成行注文は、どんな条件でも価格や執行を保証するものではありません。指値は商品ルールに沿って価格を制限しますが、未約定の可能性があります。データなしに、D1では指値が「通常勝つ」とは仮定しません。注文種別の選択とBid/Askでの発動は、 記事2.7で扱います.

アラートの種類

  • 価格。 「EUR/USDが1.0700に達したら知らせる」。サポート/レジスタンスの水準、 フィボナッチ・リトレースメント、注目ゾーンに設定します。コーディングは不要です。
  • 指標。 「D1でRSI(14) < 30」や「MACDヒストグラムの符号が変わった」などです。TradingViewは指標をクリック→アラート作成、MT4/MT5は通知機能を持つ独自指標を使います。MT4はローカル動作のため、プラットフォームを開くかVPSで動かす必要があります。
  • 描画オブジェクト。 TradingViewは描いたトレンドラインやゾーンに通知を設定できます。価格が週足の線に触れたら携帯へプッシュ通知が届きます。手描きの分析と自動通知を組み合わせる方法です。
  • 複合条件。 「価格が200 EMAより下、かつRSI < 35、かつADX > 25」という複数条件です。Pine ScriptかMQLが必要ですが、一度設定すれば使えます。

実務でのアラートの組み合わせ

ゾーンと指標の組み合わせ。 週末にW1/D1へゾーンを描き、価格通知を設定します。同時に監視ペアに指標通知RSI < 30も設定します。両方がほぼ同時に発動すれば選別性は高まりますが、独立した裏付けとは限りません。両方とも同じ価格から計算するからです。ゾーンの手法は、 サポートとレジスタンスの分析と組み合わせ、指標の手法はオシレーター主体の戦略と組み合わせます。

不要な繰り返しや期限切れ条件を減らします。有効な通知の数は確認手順次第で、全銘柄を調べながら重複のない新事象だけを送ることができます。通知を減らすために銘柄を省く必要はありません。

RSI < 30という状態は数本続き得ます。前RSI ≥ 30かつ現在RSI < 30は遷移の事象です。指定した確定足ごとに一度評価し、その足の再処理は重複排除します。別々の制御です。

スキャナー比較前に、出典、価格側、日次境界、初期化を揃えます。OHLC差で閾値判定は変わり得ます。サーバー時刻帯名だけでは差の大きさや方向は分かりません。 レッスン5.11 で時刻の対応を検討します。

ロールオーバーとD1の終了。 提供元の一日が17:00 America/New_Yorkに終わるなら、夏時間期間が合う時期はワルシャワ23:00、ずれる時期は22:00です。サーバーのGMT+2/+3だけでは、この慣例の証拠になりません。過去スプレッドと、遅れて反応する場合の別ルールを記録します。分析を朝へ延ばせば価格が変わり、セットアップが無効になるかもしれません。休止とロールオーバーの条件は、 記事4.6で説明しています.
アラートは取引を執行しません。 発表中にスプレッドは変わり得ますが、通知自体に約定価格はありません。商品固有の執行ルールが適用されるのは注文だけです。±15分の停止窓はパラメーターで、その外での安全保証ではありません。予定と時刻換算は、 記事4.5で詳しく扱います.
共通する情報と、異なるポジション。 AUD/USD、NZD/USD、EUR/USD、GBP/USDの通知は決済通貨を共有しますが、基軸通貨は異なります。独立した証拠として足し合わせず、同じ取引とも扱いません。 第9章 で、エクスポージャーと測定した相関を分けて説明します。
三つのポジションに共通するUSD売りの脚
この行列は三つのポジション方向における通貨エクスポージャーの符号を示すもので、相関のヒートマップではありません。相関には揃えたリターン、期間、計算法が必要です。ストレス下でも、すべての通貨ペアの相関が±1になるわけではありません。DXYにおけるEURの比率は57.6%であり、EUR/USDの独立した裏付けにはなりません。
例:EUR/USDのゾーン通知

架空モデルでは、W1ゾーン[1.0680; 1.0720]をテスト前に定義しました。別に、完全なD1でRSI(14)が30を下抜ける条件を定義します。組み合わせるには、同日中の両事象など、指定した時間窓が必要です。結果を見て任意の「似た時刻」を選んではいけません。成立後、完全なH4を、 パターン のルールで確認します。選別性は高まりますが、両シグナルとも価格から得るため、自動的に独立になるわけではありません。

9. バックテスト:何を検証し、結果をどう読むか

バックテストは過去入力にモデルを適用し、ルールの矛盾や仮定下の結果を検討できます。ただしライブ判断後の正確な利用可能価格を確定したり、新しい観測の結果を保証したりはできません。

検証する価値があること

過去の検証には、再現可能なルールと、その時点で利用可能だったデータが必要です。単純な不等式でも、提供元、時間足、初期化、反応時の価格がなければ不完全です。

  • 指標条件。 RSI(14) < 30は、出典、境界、計算法、評価時刻を固定して初めて再現可能になります。
  • 決済ルールとSL/TP。 固定50pipのSLと100pipのTP、あるいは2× ATRのトレーリングストップです。測定、比較できます。
  • 方式の比較。 別の閾値やストップで同じ手順を測ります。全検討案を記録し、選択に使わないデータを残してください。

バックテストに向きにくいのは、人の判断が必要なことです。

  • プライスアクション。 ローソク足 の形状、ゾーン、確認時点は数値で定義できます。裁量的な「説得力がある見た目」には、別の記録済み評価手順が必要です。目視がルールより優れていると実証済みだとは仮定しません。
  • 構造の背景。 手動でラベルを付ける対象が、 第2波 なら、ルール、ラベルの版、作成時刻が必要です。後からのラベル変更で、以前のテスト結果を改善してはいけません。
  • 裁量的な判断。 候補の却下を事前に記録できます。記録なしには、裁量が結果を改善したのか、成功例だけを選んだのか分かりません。アルゴリズムに見えない背景だけで採算性を説明できるとする根拠はありません。

データ品質:あまり語られない問題

バックテストの信頼性は使うデータ次第です。分散したFX市場では深刻な問題で、ブローカーが違えばスプレッドやOHLCの小さな差が生じ得ます。OHLCでは足内部の動きが失われるため、SLとTPが近ければ、どちらへ先に触れたか分かりません。

MT5の「Every tick based on real ticks」は利用可能なティックを使いますが、すべての箇所に存在するとは保証しません。 MetaQuotes は欠損部分でのティック生成と、分足データと矛盾するティックの除外を説明しています。データ報告を確認します。過去のスプレッドと執行の遅れは別です。他の方式で固定する「現在の」スプレッドはシナリオであり、常に過小推定とは限りません。検証期間に比べ高い場合も低い場合もあります。

Bid/Ask、Mid、提供元の価格。 APIが無料という理由で価格の種類を推測しません。Bid、Ask、Mid、取引価格、その他の系列をメタデータで特定します。Mid基準のロングでは、pip単位のスプレッド費用は(建玉時スプレッド + 決済時スプレッド)/2です。両方1pipで往復200回なら、追加費用前の差は200pipです。実際のAskで買い、Bidで閉じるなら、差はすでに価格に含まれています。 Dukascopy と、 TrueFX は確認対象となる提供元の例です。名前だけで、列、網羅範囲、欠損の確認は省けません。

終値と足内部の事象は別のルールです。 到達は足の終了前に現れて消える場合があります。終値事象は確定と受信を待ちます。OHLCでは区間内の全順序を復元できず、どちらかの割合上の優位性を裏付けられません。

架空の急変。 後のH1終値が建値より上でも、注文は途中でストップに達する場合があります。OHLCは極値と約定の順序を示しません。M5で曖昧さを減らせても、すべてのティック経路は再現できません。データなしに提供元のアルゴリズムへ原因を帰しません。発表の時間窓を別に記録し、純損益と、 期待値を比較します.

資金調達には符号と単位があります。 スワップは商品と売買方向によって負にも正にもなり得ます。USD/MXNショートやUSD/TRYロングの符号を、通貨名だけで推測しません。テストには現在の表だけでなく、過去の仕様と日数倍率が必要です。たとえば価格損益+80 USD、手数料−7 USD、資金調達−18 USDなら+55 USDです。資金調達が+18 USDなら+91 USDとなります。実際の価格に含まれるスプレッドを再請求しません。詳細な単位と換算は、 記事2.8で説明しています.

EUR/CHF、2015年1月15日。 SNB は最低為替レート1.20の廃止と、金利の−0.75%への変更を発表しました。 FSCS はAlpari (UK)が1月19日に特別管理手続きへ入ったことを確認しています。資料は、以前のEA数、その3–5%のドローダウン、すべての気配値が消えた時間、顧客損失の規模を確認するものではありません。テストへの結論は限定的です。ある政策下のデータは後の政策変更を自動的に含まず、対応する契約条項なしにストップ価格は保証されません。

一つの足、二つの結果

ロングのモデルは、すでに1.1000で約定しています。次の足の、 Bid のOHLCはO = 1.1000、H = 1.1030、L = 1.0980、C = 1.1010です。TP = 1.1020、通常のSL = 1.0990とし、ギャップも追加費用もなく水準通りに執行すると仮定します。O→H→L→Cなら先にTPへ達して+20pip、O→L→H→Cなら先にSLへ達して−10pipです。OHLCは同じです。

想定元本10,000 EURなら、結果は+20 USDまたは−10 USDです。同じ実際の取引の結果が二つあるのではなく、不完全なデータと整合する二経路を示します。建玉・決済の約定価格は市場の側を含むため、スプレッドを再び加えません。OHLCから順序を仮定するテスターは慣例を選んでおり、報告で明かす必要があります。下位足やティックで解ける例は増えますが、欠損データは欠損のままです。

同じOHLC、起こり得る二つの順序
二つの経路のBidのOHLCは1.1000/1.1030/1.0980/1.1010です。買いの約定価格は1.1000、想定元本は10000 EURです。窓開けや手数料なしで指定水準に約定すると仮定します。

Midと約定:同じ往復取引の二つの計算

EUR/USDモデルです。建玉時Mid 1.1000、スプレッド2pipならAsk 1.1001で、ロング約定は1.1002です。決済時Mid 1.1020、スプレッド4pipならBid 1.1018で、売却約定は1.1017です。元本10,000 EUR、Mid利益20 USD。スプレッド半分ずつの費用は1 + 2 = 3 USD、Ask/Bidに対するスリッページは1 + 1 = 2 USDです。約定損益は(1.1017 − 1.1002) × 10,000 = 15 USDで、20 − 3 − 2と一致します。

往復手数料2 USDと、符号付き資金調達−1 USDで、純額は12 USDです。一律の仮定レート4.00 PLN/USDなら48 PLNですが、実際の記録では個々の金額の換算レートと計上時刻を使います。15 − 3 − 2をもう一度計算しません。CSVでは、 基準点と実際の価格を分けています.

結果の読み方

主なバックテスト指標を挙げます。

指標示すこと注意点
プロフィットファクター(PF)正の純損益の合計/負の純損益合計の絶対値ゼロはどちらにも含めません。損失がなければ比率は未定義で、無限の優位性の証拠ではありません。PF 1.5は普遍的な閾値ではありません。
最大ドローダウン直前の最高額からの口座純資産の最大減少通貨額または最高額に対する比率で、観測頻度に依存します。決済取引だけの損益では、未決済ポジションのリスクを見落とす場合があります。
勝率定義した標本のうち正の結果の割合30%が+3R、70%が−1Rなら、一取引の費用前期待値は+0.2Rです。往復費用0.25Rを引くと−0.05Rへ変わります。R:Rと勝率だけで将来の採算性は証明できません。
取引数標本数と実質的な多様性同じUSDの値動きの100取引 ≠ 独立な100観測です。集中、局面、不確実性を調べます。魔法の最低件数はありません。
シャープレシオ基準に対する平均超過収益/収益率の標準偏差頻度、基準、年率換算、時間的依存が重要です。> 1や> 2は品質検査でも過剰適合の証拠でもありません。

例:誤ったバックテストと修正方法

最適化モデルは、RSI閾値10〜30を1刻み、SL 30〜80pipを1刻み、TP 80〜200pipを1刻みで試します。格子には21 × 51 × 121 = 129,591通りあり、数十通りではありません。中止した試行や手動の変更も数えます。2020–2025データの最良PF例2.8は、そのデータ上の選択結果であり、RSI 22/SL 43/TP 167に優位性がある証拠ではありません。

一組の周囲だけに鋭い成績の山があれば、感度を調べます。それだけでは過剰適合の証拠にならず、費用、小標本、局面変化も関わり得ます。最良点だけでなく、格子全体と選択ルールを報告します。

2020–2025全期間でパラメーターを選んだ後、2024–2025を未使用標本と呼び直してはいけません。新しい将来の観測か、事前に定めた別の計画が必要です。訓練、検証、テストは役割が異なり、テストを使った後で再びそこで最適化しません。

テストと運用の差は、費用モデル、データ、執行、条件変化から生じます。実取引の成績低下がすべて過剰適合の証拠ではなく、すべてのバックテストが定義上楽観的なわけでもありません。同じルールと、シグナル、注文、実際の約定の記録で比較します。

フォワードテスト:バックテストと実口座の橋渡し

フォワードテストは新しい観測で動作を確認します。期間だけで代表性は確立せず、数か月では少数の事象と一局面しか含まない場合があります。デモはロジックと利用可能性を確認できますが、実口座と同じ執行とは限りません。悪化した結果を、データ、執行、費用、事象分布そのものの違いへ分解します。

モンテカルロ:単一路線でなくシナリオ分布

決済済み結果を、たとえば150取引の1,000通りの並べ替えで再配置すると、同じ標本と固定したサイズルールに条件付けた資産経路が得られます。新しいショックや分布変化は作らず、時間的依存を消す場合もあります。百分率リスクや同時保有なら、その構造を保持しなければなりません。そのシミュレーションの95パーセンタイルは、将来ドローダウンの限度保証ではありません。演習用ツールは、 モンテカルロ・シミュレーターです.

10. スクリーニングとバックテストのPython

Pythonで独自のデータ記録とテストを支援できます。費用と難度は提供元の品質、範囲、保守次第です。独自スキャナーにはエラー処理、依存関係の版管理、監視が必要です。本記事は論理仕様を説明するもので、本番コードや安価な完成品を約束するものではありません。

独自環境では次の部分を制御できます:

  • データ元の統合。 業者APIやデータライブラリは銘柄とメタデータが異なります。結合前にアクセス、対象範囲、改訂を確認します。
  • 統計分析。 ライブラリは検定や分布を計算しますが、問い、参照分布、依存の仮定、試行全体の範囲は正しく選ぶ必要があります。
  • 柔軟なバックテスト。 backtraderやvectorbtでは、多数ペアを同時に扱うポートフォリオ、動的な資本配分、銘柄間の相関を含む戦略をテストできます。Pine ScriptとMQLには、この点で制約があります。
  • つながった作業手順。 取得、スクリーニング、通知は同じ記録を使えます。執行には、独自の再試行処理を持つ別の指示・受領確認層が必要です。
  • センチメント分析。 ニュースや経済報告の自動センチメント分析を試し、スクリーニング処理へ入力するトレーダーもいます。単純なスクリプトから言語モデルAPIまで道具はありますが、個人取引では完成済みの解決策というより実験です。

処理系の擬似コード:データ、スキャン、保存。 APIトークンや注文執行機能は含みません。同じロジックをどの環境でも実装できます。

処理系の擬似コード:注文送信機能なし
固定した設定と、版管理した完全な銘柄リストを読み込む。
予定する足の終了は、パソコンの時計でなく提供元のカレンダーから求める。
各銘柄について、component、start、end、complete、
  received_at、revision、提供元識別子を含むデータを取得する。
不変のデータ・スナップショットとチェックサムを保持する。
OHLC、価格単位、セッションの連続性、指標の初期計算を検証する。
エラー時は原因とともにNO_DATAを記録し、NO_SIGNALを作らない。
有効なスナップショットに、基準全体のルールを計算する。
条件を満たさない銘柄も含め、各銘柄の結果を記録する。
version、feed、symbol、timeframe、end_UTCで通知の重複を除く。
訂正時は、以前のスナップショットと結び付けた新記録を追加する。
expected、evaluated、missing、candidates、スキャン時間を集計する。
手動の判断とその時刻を別に保存し、フィルター結果を上書きしない。
候補がゼロでも、処理の失敗と欠けた銘柄を報告する。

提供元を選ぶ前に、ライセンス、商品範囲、価格の側、タイムスタンプ、完全性、改訂、利用可能なBid/Askを確認します。すべてのYahooデータや無料APIに一律の評価は付けません。データ読込ライブラリは品質を自動的に改善せず、執行価格も提供しません。

データ要求の再試行と注文送信の再試行は別の操作です。スキャンは安全に同じkeyを作り、以前の結果を返せます。執行層には再試行前の個別指示IDと状態確認が必要で、ここで示すスクリーナーの範囲外です。

再試行と指示の状態。 応答エラーは、注文が受け付けられなかった証拠ではありません。再試行前に執行層が状態を確認し、そのAPIの対応する重複排除を使います。すべてのブローカーが任意の冪等性keyに従うとは仮定しません。要求数の上限と待ち時間は提供元との契約に従います。スクリーナーの擬似コードは注文しないため、その再試行を直接取引操作へ結び付けてはいけません。
スキャンの契約:シグナルがなくても結果を記録
処理の順序を示します。各段階には別々の条件と記録があります。

11. 自動化の落とし穴

自動化は指定手順を繰り返します。確認時間、網羅範囲、運用ミスへの効果を測ってください。誤りも一貫して繰り返せるため、以下の確認で見つけやすくします。

落とし穴仕組み抑える方法
Midモデル二約定の差は、建玉時の半スプレッドと決済時の半スプレッドの合計価格の種類を確認。実際のAsk/Bid約定にスプレッドを再加算しない
固定スプレッド低すぎる場合も高すぎる場合もある仮定シナリオBid/Ask履歴と欠損報告。「実ティック」方式だけでは完全性を保証しない
スリッページと手数料の省略特に短い時間足で、純損益が費用前より悪化慎重にスリッページをモデル化し、手数料をRに含める
先読み形成中の終値や未来のスイングなど、判断時点に利用できないデータを使う確認・配信遅延を含む判断時の入力と、その後の利用可能気配値での対応
過剰適合特定の履歴の雑音にパラメーターを合わせるパラメーターを絞る、未使用標本、ウォークフォワード
複数の試行最良方式の選択で偽発見のリスクが増える全試行を記録し、適切な補正と未使用のテストを使う
生存者バイアス生き残ったシステムしか見えない事前選別した結果でなく、過程を評価する
リペイント指標が確定済み履歴を描き直す指標をフォワードテスト。ルール内のZigZag型ツールを避ける
スワップの省略保有費用がスイングの成績を圧迫スワップポイントを含め、費用付きデータで検証する

過剰適合:過去への合わせ込み

過剰適合は、標本外では持続しない特定標本の性質に選択を合わせることです。初日の損失すべての同義語ではありません。パラメーター感度、試行数、新しい観測が評価を助けます。

過剰適合の警告兆候:[5]

  • 取引数や利用可能な履歴に比べ、自由パラメーターが多い。
  • RSI 14 → RSI 15のような小変更で結果が激変する。いわゆる脆弱性。
  • ある期間のバックテストでは好成績でも、別の期間では損失。
  • 高いPFやシャープレシオには、不確実性、試した方式数、結果の依存関係の評価が必要です。100取引未満も500取引超も、それだけで優位性の有無は決まりません。観測期間、まれな大損失、ルール選択に使わなかったデータでの成績も調べます。

未使用標本での検証は、その標本がルール選択に関わっていない場合にのみ意味があります。ウォークフォワードでは、前の窓で合わせた後、後の窓で評価します。閾値、更新、結果の集計をすべて事前に記録します。すべての窓で正の結果を要求することは、普遍的な統計ルールではありません。

例示モデル:遺伝的最適化と「奇跡のパラメーター」。 EUR/USDを五年分のデータと六つの可変パラメーターで試すとします。仮の結果はPF 4.3、ドローダウン6%、847取引で、選択値はRSI=16、SL=63.2pip、TP=214.8pip、ATRフィルター=1.237、EMA差=37、最小ADX=23.6です。別の窓のモデルPFは0.8、翌週の口座結果は−18%です。実装した戦略の実績ではなく、低下原因も確定しません。雑音への適合は一つの仮説で、結果の変動、条件変化、費用、ルール通りの執行も調べる必要があります。期間への感度は追加調査の理由ですが、それだけで過剰適合とは判定しません。全試行とテスト前の選択を保持します。自由パラメーターを減らすと探索空間は小さくなりますが、新しい標本の代わりにはなりません。ウォークフォワードは窓とルールを事前に記録して使います。結果へ手順を繰り返し合わせれば、再びテストデータを消費します。

データ・スヌーピング

真の帰無仮説について、有意水準5%の独立な検定を50回行うと、少なくとも一回誤って棄却する確率は1 − 0.95^50 = 92.3055%、期待回数は2.5です。高いリスクですが確実ではありません。同じデータ上の方式は普通は依存しており、独立の計算を、その実測確率として扱ってはいけません。

勝者を選ぶ前に試行のファミリーを記録します。50検定、ファミリー全体の水準5%なら、ボンフェローニは各有効p値の閾値を0.05/50 = 0.001にします。独立性を要求せず、少なくとも一回の誤棄却のリスクを制御します。FDRは別の問いで、以下の例で違いを示します。p値の補正は戦略の採算性を確立しません。

ボンフェローニ、FDR、結論の限界

事前定義した一ファミリーに五つの有効な検定があるモデルです。小さい順のp値は0.0004、0.008、0.019、0.021、0.070です。α = 0.05のボンフェローニは0.01となり、最初の二つを棄却します。q = 0.05のBenjamini–Hochberg法は、i × q / 5、すなわち0.01、0.02、0.03、0.04、0.05と比べます。条件を満たす最大の添字は4なので、最初の四つを棄却します。

FWERは少なくとも一回の誤棄却の確率、FDRはすべての棄却のうち誤棄却が占める割合の期待値を制御します。棄却がない場合の割合はゼロです。古典的BHには独立性や指定した正の依存など、適切な依存仮定が必要で、任意に相関するFX方式へ確認なしには適用しません。q = 5%は各選択戦略が95%の確率で機能する意味ではありません。 著者の論文(1995) と、 手法の文書 が対象範囲を説明しています。有効な検定には、問い、データ、基準分布、統計量の事前指定が必要です。ここのp値は架空の入力です。

標本分割はラベルの時刻も考慮する

分析前に固定した架空の計画で、訓練2018–2022、検証2023、未使用テスト2024–2025とします。ラベルの期間が最大五セッションなら、2022年12月末の訓練観測で、結果が2023年1月に判明するものは、12月31日で終わる訓練に属しません。境界をまたぐラベルを除くか、実際の終了時刻に合わせて切れ目を動かします。エントリー日だけの分割では不十分です。

境界前の価格が当時既知なら、テスト開始時の指標の初期計算に使えます。スケーラー、閾値、銘柄選択を未来の区間へ合わせてはいけません。検証は選択、テストは一度限りの評価です。テストに基づきルールを変えた時点で、その標本は消費済みです。ウォークフォワードも各窓で同じ原則と、事前記録した更新方法が必要です。確率の較正にも別の区間が必要です。小集団で0.8という十回の予測に八回の事象があっても、普遍的な較正や採算性は証明されません。

適合率、再現率、見逃しの費用

独立にラベル付けした100例のモデルです。基準は陽性20、陰性80です。スクリーナーは15通知を出し、12が基準と一致、3が誤りで、陽性8を見逃します。適合率 = 12/15 = 80%、再現率 = 12/20 = 60%、特異度 = 77/80 = 96.25%です。三指標から金融成績は導けません。基準ラベルはフィルターと独立でなければならず、手動で選んだ後の利益すべてを陽性とはしません。

基準に未来の結果を使うなら、ラベルは対象期間の終わりに初めて利用可能です。以前のシグナルへ影響させたり、訓練へ早く入れたりはできません。 計算済みモデルをダウンロードできます。このブロックの数値はすべて仮定です。

パターン検出:100事例の行列
ラベル付き100事例の行列:TP12、FP3、FN8、TN77。運用成績ではありません。

既製EAの生存者バイアス

今も販売・公表されるシステムだけを見ると、撤回された試みが抜けます。比較には既知の母集団と、失敗版の記録も必要です。撤回EAの「数千」という数やインフルエンサーの結果例は分からないため、証拠に使いません。

公開成績の読み方。 公開検証済み口座はスクリーンショットよりよい証拠ですが、検証範囲を理解します。最低限、(1)口座表示が、 Real でDemoではないか、(2)履歴と取引権限が検証済みか、Myfxbookの「Track Record Verified」「Trading Privileges Verified」を確認します。(3)表示成績の開始日も調べます。任意の開始日を設定でき、その旨は開示されるため、全期間も見ます。(4)入出金が見えるか、(5)表示期間が異なる相場やショック期(2015、2016、2022)を含むかも確認します。欠けた点があっても詐欺の証拠ではありませんが、説明の責任は販売者へ戻ります。

制御できるという錯覚

自動化には、処理状態、データの新しさ、未処理エラーの監視が必要です。夜間に動かすだけでスリッページや損失数は決まりません。条件成立だけでなく、欠損データやスキャン停止も通知します。

GBP/USD、2016年10月7日:報告の範囲と自動化。 BIS報告は00:07 BST頃からの急変を説明します。10月6日23:07 UTC、ワルシャワでは10月7日01:07 CESTです。プラットフォーム、価格、流動性、一部取引の問題は示しますが、すべての個人向けブローカーのストップ約定は含みません。[13] 既存ロングの結果は、想定元本、ストップ水準と種別、発動側、利用可能な約定価格次第です。発動済みのストップ成行は閾値より下で約定し得ますが、個別口座記録なしに損失を計算したり、すべての自動システムがストップ連鎖を受けたと主張したりはできません。スプレッドや欠損データのフィルターが止められるのは、 新しい 試行です。既存ポジションのリスクを、保証された決済価格には変えません。緊急決済にも利用可能な気配値と執行が必要です。出来事はシナリオ試験を支持しますが、全システムへ同じ結果を割り当てるものではありません。
単位を明示したフィルター。 仮のATRは0.0060 EUR/USD = 60pipです。スプレッド閾値0.15 × ATRは0.0009 = 9pipとなります。両辺を価格かpipにそろえ、9と0.0060を比較しません。モデルのパラメーターで、推奨上限ではありません。新しい試行を止めるだけで、決済価格は保証しません。許容乖離幅は商品方式によって異なり、気配値がなければ緊急決済指示も約定しない可能性があります。
執行方針。 指示時点の基準価格、実約定、拒否、遅れを記録します。D1でも正負のスリッページが起きます。全ブローカー共通の非対称性分布は分からず、ECN/STPという名称も品質を保証しません。テストモデルで遅れや拒否を指定できますが、パラメーターにはデータが必要です。ラストルックの仕組みは、 第3章で説明します.
プロップ・プログラムの契約。 遅延配信やシミュレーターの不具合の利用は、個別契約で制限されることがあります。チャレンジ後に報酬が取消された話を、確認済みの事実として提示しません。EAの許可と具体的な禁止行為を分けて確認します。自動化の許可で他の条件が消えるわけではありません。

ブラックボックス

文書がなければ、結果の変化がデータ、ルール、執行のどれによるか判断しにくくなります。期待通りに機能しなくなる可能性があり、停止条件と評価手順が必要です。「今までは動いた」では不十分です。

リペイントする指標

形成中の値の変化、スイング確認の遅れ、データ訂正、以前のシグナルの書換えを区別します。評価時刻と値のスナップショットを残し、後の履歴と比較します。ZigZagという名前だけですべての利用法は決まらず、確認前の点の使用や変更を隠すことが問題です。

プロップ会社と自動化

プロップ会社の規則は契約に基づき、プログラムや段階で変わります。多くの会社が自動化をすべて禁止すると主張しません。たとえば、 FTMO は、制限の下でアルゴリズムとEAを認めると説明しています。最新規則、模擬口座を含む口座の性質、限度、禁止行為を確認します。スクリーナーの許可が、すべての執行方法の許可を意味するわけではありません。

テストに欠陥が生じる四つの原因
テスト上の四つの問題は、利用可能になる前のデータの使用、OHLC内で不明なSL/TPの順序、既に使ったテスト標本、スプレッドの二重計上です。それぞれに個別の確認が必要です。この図は、損益曲線の見た目だけで過剰適合を診断するものではありません。

12. 初期段階で自動化すべきでないこと

執行を自動化する前に、シグナル以外の作業も記述します。以下は、別のルールと試験が必要な仕事です。手動執行が常に優れていると仮定してはいません。

  • ポジション管理。 数量、ストップ変更、部分決済は自動化前に定めます。練習で曖昧な判断は見つかっても、手動執行はルールの優位性の証拠ではありません。
  • 経済カレンダー。 スクリーナーは、 NFP を考慮できます。ただし、正しい予定と停止ルールが必要です。スプレッドや未公表発表の内容は予測できません。カレンダー不在は明示的な制約で、すべての自動システムに共通する性質ではありません。
  • 銘柄集合の選択。 テスト前にリストを定義し版を付けます。結果を見て成績の悪いペアを除くのは、別の選択試行です。ペアに固定した性質を割り当てず、指定データで測定します。
  • 週末と休止。 スプレッドフィルターは新注文を止めても、既存ポジションのギャップ損失は制限しません。想定元本を減らすと価格感応度は下がりますが、通常のストップは価格を保証しません。オプションのヘッジには別契約と口座が必要で、「ヘッジ」という名称だけでは足りません。休止リスクは、 記事4.4で扱います.
  • 口座状態。 商品、ヘッジ/ネッティング方式、新指示の証拠金、担保不足による決済ルールを確認します。清算順序は提供元次第で、最大の含み損から閉じると一律には仮定しません。証拠金と顧客保護は別途、 記事2.6で説明します。ある時点で注文を受け付けられても、その後のポジション維持は保証されません。
グリッドと倍増は別のルールです。 各1単位の同サイズ六ポジションなら、総エクスポージャーは6単位です。六段階の倍増1、2、4、8、16、32なら63で、七段階目64を加えると127です。グリッドだからといって指数的に増えるわけではありません。どちらの合計も往来相場での採算性を証明しません。元本上限と決済指示で、最悪のギャップ損失が保証されるわけでもありません。価格シナリオと商品条件を別に記述します。

明確で再現可能な作業を自動化し、その跡を残します。スキャン、アラート、判断、執行は、固有の誤りと限界を持つ連続した段階です。早く繰り返してもルールの質は上がらず、一貫した実装と検証ができるだけです。

13. ツールの比較

ツールスクリプト言語スクリーニングアラートバックテスト自動執行費用の目安
TradingView:基本プランPine Script標準フィルター現在のプランによる戦略エミュレーター戦略スクリプト自体は標準のブローカー注文を送らないプランとデータを確認
TradingView:有料プランPine Scriptツールにより範囲が異なる現在のプランによる戦略エミュレーターWebhookに別の執行層が必要。ブローカー連携でスクリプトが自動的にEAにはならない現在の料金
MT4MQL4独自の指標可:ポップアップ、プッシュ、メールStrategy Tester(1銘柄)エキスパート・アドバイザー0 USD:ブローカー提供
MT5MQL5独自の指標可:ポップアップ、プッシュ、メールストラテジーテスター(複数通貨対応)エキスパートアドバイザーUSD 0(ブローカーから提供)
cTraderC#/プラットフォームのツール設定による設定によるcBotのテストcBot — 注文執行のロジックは別途必要プラットフォームと提供会社の条件による
独自の環境例えばPython作成者が定義するルール独自のインフラ作成者のモデル/ライブラリー別途用意するAPI層データ、保守、インフラの費用

この表は機能の範囲を示すものであり、品質の順位ではありません。ツールのライセンス、データへのアクセス、VPS、取引コストはそれぞれ別の項目です。プランの上限と料金は最新のドキュメントで確認してください。

最小限のスターターセット — ここから始める
  • 主に使う時間足: D1でスクリーニングと分析を行い、W1から相場の背景を把握します。
  • ウォッチリスト: 確認・監視できる版付き銘柄集合を選びます。有効リストの件数はルールの出力であり、無理に合わせる目標ではありません。
  • フィルターは二つ。 例えば、価格を変換する方法としてEMA 200とRSI 14を明確に定義します。その閾値は評価すべき取り決めであり、大半のノイズを除去できると実証されたものではありません。
  • 最初のアラートは1種類: 週足のS/Rゾーンに価格アラートを設定します。指標のアラートは後から追加します。
  • 点検できる手順から始める。 スキャナーと1つのアラートルールは、扱いやすい最初の演習です。執行は口座状態とエラー処理のルールを定めてから加えます。
  • 手順の練習とフォワードテスト。 デモ口座での二、三か月は、操作、記録、ルールの遵守を練習するための仮の期間にはできます。しかし、検証に十分な最低期間という意味ではありません。必要な観測数と期間は、事象の発生頻度、結果の依存関係、変動の大きさによって変わります。デモ口座が実口座の執行条件を自動的に再現するわけではなく、自分で決めた時間が経過しても、代表性も収益性も保証されません。

ポジションサイズ — 本記事の範囲外

適切なポジションサイズを決めずにセットアップを選ぶだけでは、仕事は半分です。ただし、計算式、リスク予算におけるコストの扱い、数値を使った計算例は 第9章で説明します。対話型の ポジションサイズ計算機 と モンテカルロシミュレーター はツールのセクションにあります。

教育上の範囲。 スクリーニングは、商品の適切性を評価するものでも、結果を保証するものでもありません。一部の個人向けCFD制度における負残高保護は口座単位で適用され、ストップ価格を保証するものではありません。顧客区分、契約先の法人、金融商品は別々に確認する必要があります。ブローカーが示す損失口座の割合は、その会社の口座と明示された期間を対象とし、ForexやEAの利用者全体を対象にしているわけではありません。その範囲については 個人投資家市場のセクションで説明します.

実データの固定ルール:値幅外の終値か、ヒゲだけか

足は以前の高値を超えてその上で引けるか、値幅内へ戻ることがあります。この違いで、その後の価格変化も異なるでしょうか。集計前に比較を1つ固定しました。1提供元履歴の事後的記述です。一部期間はすでに学習例で見ており、計画の時刻や日付分割で未見の検証標本にはなりません。

入力はICMarketsSC-Demo / MT5のEUR/USD、GBP/USD、USD/JPY各6,000本の未変更Bid H1記録です。候補期間の全記録は17,995本、片側候補は3,140件です。間隔制限で1,086件を選び、1,039件に連続6記録の結果があり、47件は将来時刻の欠損を跨ぎます。47件も計数に残し、黙って除外しません。

終値とヒゲの突破:観測した変化
集計した記述的な平均と中央値。結果あり/選択の件数には欠損結果を残し、日付による区分は未見の検証用データではありません。
全標本の合計です。変化を直前の平均TR20で割り、売買リターンではありません。
方向・分類結果あり / 選択数平均中央値0超の割合
上方向・終値271 / 280-0.0689-0.14330.4613
上方向・ヒゲ258 / 2730.20770.05770.5078
下方向・終値226 / 2360.0934-0.12560.4823
下方向・ヒゲ284 / 297-0.0152-0.25690.4472

符号付き変化は、正なら突破方向、負なら逆方向です。平均、中央値、0超の割合は別の問いに答えます。下方向・終値では平均が正でも中央値は負で、正の観測は半数未満です。どれもコスト控除後の勝率ではありません。

正確なルールと比較の限界

候補tでは、直前の確定H1記録20本の最高Highと最低Lowを固定します。t−21からtまで1時間刻みで連続し、最古記録がTrue Range用の前Closeを供給します。両境界突破は先に除外します。それ以外でCloseが厳密に外ならCLOSE、High/Lowが突破してCloseは境界を含む内側ならWICKです。極値が同値だけでは突破ではありません。

銘柄ごとの最初の候補を採り、その後の結果の有無に関係なく次の6添字を抑制します。選択後にのみ後続6本の正確な1時間刻みを確認します。方向 × (t+6のC − tのC)をpips、および直前20本のTR算術平均で割った値で測ります。候補自体は参照値幅にも分母にも含めません。

事象をまとめるため、利用可能事象の多い銘柄ほど重くなります。同一銘柄の結果区間は重なりませんが、隣接事象の808組は過去履歴を共有し、通貨ペア間の結果区間は時計時刻で950回重なります。7月の群分けは候補の日付を使い、1つの結果は境界を跨ぎます。依存関係と時間構造のある欠損により、独立性や因果の解釈はできません。約定、スプレッド仮定、口座リターン、統計的優位性の主張はありません。

全48集計行(CSV) · 全分類記録(CSV) · 選択事象と欠損結果(CSV) · 方法と再現手順 · 出典、固定計画、コード、出力(ZIP).

総合演習:判断と次の6本を分ける

2026年9月1日以降、結果が利用可能な最初の選択EUR/USD UP_CLOSE、9月3日19:00開始のH1足です。それ以前の9月2日16:00と9月3日15:00のUP_CLOSE候補は既存の間隔制限で除外されました。選択は時刻順と利用可能性で、後の動きの符号や大きさではありません。該当するH1足をPと呼びます。

判断時の直前20記録の値幅は1.15826–1.16302、平均True Rangeは9.325pipsです。Pは固定上端より上の1.16368で引けます。最新の対象H4は16:00開始、PのH1終値と同じ20:00終了です。同じBid履歴の広い表示で、独立した確認票ではありません。両方とも期間終了後に最終記録の受信が必要です。

次の足を表示する前に: 成立条件、最も早い評価時刻、不明事項を記録します。この演習では、後の最初のH1 Closeが1.16302以下になったら観測を終えます。境界は固定してください。分析上の終了条件で、注文、ストップの約定、数量は指定しません。

  1. 画像0:2026-09-03 19:00のH1足まで

    PがUP_CLOSEに該当するのは最終記録の到着後、早くても20:00です。その後はまだ非表示です。該当だけでは執行可能Askもコストも得られません。

    総合演習:フレーム0/6
    EUR/USD Bid H1/H4。元のMT5時刻。この段階までのデータだけを表示。H4の背景は固定です。

    この画像のH1/H4記録のみ(CSV).

  2. 6本中1本目を表示

    画像1:2026-09-03 20:00のH1足まで

    表示したCloseは1.16328で1.16302より上です。終了条件はまだ起きておらず、次のCloseを予測するものではありません。

    総合演習:フレーム1/6
    EUR/USD Bid H1/H4。元のMT5時刻。この段階までのデータだけを表示。H4の背景は固定です。

    この画像のH1/H4記録のみ(CSV).

  3. 6本中2本目を表示

    画像2:2026-09-03 21:00のH1足まで

    表示したCloseは1.16346で1.16302より上です。終了条件はまだ起きておらず、次のCloseを予測するものではありません。

    総合演習:フレーム2/6
    EUR/USD Bid H1/H4。元のMT5時刻。この段階までのデータだけを表示。H4の背景は固定です。

    この画像のH1/H4記録のみ(CSV).

  4. 6本中3本目を表示

    画像3:2026-09-03 22:00のH1足まで

    Close 1.16286は1.16302以下です。この22:00足の確定後、早くても23:00に観測を終えます。以前のUP_CLOSE分類は正しいままです。

    総合演習:フレーム3/6
    EUR/USD Bid H1/H4。元のMT5時刻。この段階までのデータだけを表示。H4の背景は固定です。

    この画像のH1/H4記録のみ(CSV).

  5. 6本中4本目を表示

    画像4:2026-09-03 23:00のH1足まで

    Closeは今1.16257です。22:00の足で観測は終了済みで、新記録は条件が分かった時刻を変えません。

    総合演習:フレーム4/6
    EUR/USD Bid H1/H4。元のMT5時刻。この段階までのデータだけを表示。H4の背景は固定です。

    この画像のH1/H4記録のみ(CSV).

  6. 6本中5本目を表示

    画像5:2026-09-04 00:00のH1足まで

    Closeは今1.16229です。22:00の足で観測は終了済みで、新記録は条件が分かった時刻を変えません。

    総合演習:フレーム5/6
    EUR/USD Bid H1/H4。元のMT5時刻。この段階までのデータだけを表示。H4の背景は固定です。

    この画像のH1/H4記録のみ(CSV).

  7. 6本中6本目を表示

    画像6:2026-09-04 01:00のH1足まで

    6本目のCloseは1.16232、Pから−13.6pips、直前平均TR20単位で−544/373(約−1.4584)です。観測したBid価格変化であり、復元した売買損失ではありません。

    総合演習:フレーム6/6
    EUR/USD Bid H1/H4。元のMT5時刻。この段階までのデータだけを表示。H4の背景は固定です。

    この画像のH1/H4記録のみ(CSV).

各画像は見える価格だけで目盛りを決め、将来の極値で初期軸を決めません。H4は判断時点に固定します。元のMT5開始時刻を保持し、業者の時差は未確認、実受信時刻は未測定です。執行可能な対応のモデルには、さらに後の気配値が必要です。

総合演習データと時刻の注記 · 表示した後の経路を含む全H1記録28本(CSV)。上の全記録とZIPに、除外と計算過程を残しています。

FAQ — テクニカル分析の自動化とスクリーニング

スクリーニングを使うにはプログラミングができる必要がありますか?

いいえ。TradingViewに組み込まれたスクリーナーやMT4/MT5のダッシュボードは、「フィルターを選び、閾値を設定し、一覧を得る」という仕組みで動きます。Pine ScriptやMQLを使えば、独自の条件や複合アラートなどの機能を追加できますが、基本的なスクリーニングにコードを書く必要はありません。

市販のエキスパートアドバイザー(EA)を買う価値はありますか?

評価には、文書化されたルール、試行と変更の完全な履歴、コストモデル、新たな観測が必要です。検証済みの口座履歴であっても、代表性や将来の結果は保証しません。魅力的なバックテストやレビューだけで、これらの確認を代替することはできません。

アラートは同時にいくつ設定すべきですか?

普遍的な数はありません。確認できる量と条件の有効期限を記録し、重複排除によって繰り返し通知を減らします。同じ状態が続く足のたびに通知しなくても、対象銘柄全体をスキャンすることはできます。

Forexのバックテストはどの程度信頼できますか?

データ、ルール、執行モデルによって異なります。OHLCだけでは、同じ足の中でSLとTPのどちらが先だったかは分かりません。実ティックを使うモードでも、欠損部分が生成データで補われる場合があります。バックテストは結果を予測するものではありません。フォワードテストは新たな観測を確認するものですが、標本の長さと多様性による限界があります。

スクリーニングにはTradingViewとMT4/MT5のどちらを使うべきですか?

データの出所と足の区切り、利用可能なフィルター、アラートの動作、テスターの範囲を比較してください。TradingViewのアラートはサーバー上で動作しますが、ローカルのMTインジケーターには起動中のプラットフォームかVPSが必要です。TradingViewのストラテジースクリプト単体は、ブローカーで実際に取引するためのネイティブなシステムではありません。

バックテストにはPine ScriptよりPythonの方が適していますか?

独自の環境ではデータとモデルを自分で制御できますが、その正確性に対する責任も作成者に移ります。プラットフォームのテスターには、定められた規約と制約があります。どちらを選んでも、先読み、単位の誤り、コストの計上漏れがなくなるわけではありません。

スクリーナーは毎日実行する必要がありますか?

ルールがD1の確定ごとに評価するものであれば、スキャンもそのすべての確定を対象にする必要があります。月曜日と木曜日にしか確認しない場合、自動システムが引き続き記録していなければ、それ以外の日に生じた新しい条件を見逃します。手動で確認する頻度と、全対象をスキャンする頻度を分けて考えてください。

出典

主要文献

  1. Robert Pardo, The Evaluation and Optimization of Trading Strategies、第2版、Wiley、2008年 — バックテストの方法論、ウォークフォワード分析、過剰適合の見分け方を扱う、自動売買戦略の検証に関する重要な文献です。
  2. Ernest P. Chan, Quantitative Trading: How to Build Your Own Algorithmic Trading Business、第2版、Wiley、2021年 — スクリーニングからアルゴリズムによる執行まで、定量的戦略を構築するための実践的な手引きです。
  3. Perry J. Kaufman, Trading Systems and Methods、第6版、Wiley、2020年 — トレンドフィルター、スクリーニング、テスト、戦略の最適化など、取引システムを百科事典的に概観します。
  4. Andreas F. Clenow, Following the Trend、Wiley、2013年 — 銘柄のスクリーニング、ポートフォリオのバックテスト、ポジション管理を含む体系的なトレンド取引の手法と、自動化の実践面を扱います。

関連文献

  1. David Aronson, Evidence-Based Technical Analysis、Wiley、2007年 — データマイニングの偏り、有意性検定、多重比較の問題(データスヌーピング)など、テクニカル分析の統計的検証を扱います。戦略をテストする人にとって重要な文献です。
  2. Marcos Lopez de Prado, Advances in Financial Machine Learning、Wiley、2018年 — 関連文献です。未読の章をルールの根拠として扱ってはいません。
  3. Alexander Elder, The New Trading for a Living、Wiley、2014年 — 関連文献です。未読の章をルールの根拠として扱ってはいません。
  4. Kathy Lien, Day Trading and Swing Trading the Currency Market、第3版、Wiley、2016年 — 関連文献です。未読の章をルールの根拠として扱ってはいません。
  5. Lukas Menkhoff、Mark P. Taylor、「The Obstinate Passion of Foreign Exchange Professionals: Technical Analysis」、 Journal of Economic Literature、第45巻、第4号、2007年 — Forexでのテクニカル分析の利用状況を概観し、プロの通貨トレーダーにおける自動化の役割を考える背景を示します。
  6. Andrew W. Lo, Adaptive Markets: Financial Evolution at the Speed of Thought、Princeton University Press、2017年 — 適応的市場仮説を扱い、過去に機能した戦略が機能しなくなる理由と、自動化およびバックテストへの示唆を説明します。

機関資料とドキュメント

  1. スイス国立銀行(2015年)、 「スイス国立銀行、最低為替レートを廃止し、金利を−0.75%に引き下げ」、プレスリリース、2015年1月15日。
  2. FCA(2015年)、 「Alpari (UK) Limitedの顧客向け情報」 — Alpari (UK)の特別管理手続きへの移行について。
  3. BIS市場委員会(2017年)、 「2016年10月7日のポンドの『フラッシュ・イベント』」、2017年1月 — 薄い流動性、注文、アルゴリズムの反応、プラットフォーム間の違いを含む、当該事象の分析です。
  4. TradingView, Pine Scriptドキュメント — 進行中の足と確定済みの足でのスクリプトの動作(barstate)、アラート、strategy()を説明する公式言語ドキュメントです。
  5. MetaQuotes, MQL5リファレンス — インジケーター、エキスパートアドバイザー、ストラテジーテスターを説明するMQL5の公式ドキュメントです。
  6. ESMA(2018年)、 「ESMA、個人投資家保護のためバイナリーオプションの禁止とCFDの制限で合意」、2018年3月27日 — レバレッジ制限、負残高保護、リスク警告からなる商品介入措置です。監督上の分析では、個人向けCFD口座の74~89%が損失を出しているとされました。

学習の進捗

このレッスンを終えたら、ご自身で完了にしてください。ページを開いたりスクロールしたりするだけでは完了になりません。

進捗の保存にはJavaScriptとブラウザのストレージが必要です。

このブラウザ内だけに保存されます。アカウント登録や端末間の同期はありません。サイトデータを削除すると進捗が消えることがあります。

Jarosław Wasiński (ヤロスワフ・ヴァシンスキ)

編集長、ForexMechanics.com • マクロ・FXアナリスト

金融市場で20年以上の経験を持つ独立系プロアナリスト。2007年からFX市場で活動し、ファンダメンタル分析・OTC市場構造・規律ある資本リスク管理を専門としています。

  • 2004年より信頼性の高い金融教育を提供するMyBank.plの創設者兼編集長。
  • 投資家・トレーダー向けに数百本の詳細な市場解説、構造分析、教育コンテンツを執筆。
  • 市場の透明性を支持し、具体的なデータと機関投資家レポート(BIS・ESMA・CFTC)に基づく教育を推進。

すべてのコンテンツは教育・情報提供のみを目的としており、投資アドバイスや推奨を構成するものではありません。レバレッジ取引(Forex/CFD)は急速な資本損失リスクを伴います。