無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
スクリプトを気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ビュー:
28
評価:
(2)
パブリッシュ済み:
\MQL5\Include\SAX\
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

概要

チャートを読み解くために私たちが開発するツールのほとんどは、数字の世界にとどまっています。しかし、このツールはそれを飛び越えます。 2003年にジェシカ・リン、イーモン・キーオらによって提唱された「記号的集計近似(SAX)」は、価格のウィンドウを取り込み、それを「bddcbbba」のような短い文字列に変換します。 市場の一部分が「単語」になれば、コンピュータサイエンスがテキストに対してすでに可能としているあらゆる処理――照合、計数、ハッシュ化、検索――を適用できるようになります。

本論文では、この手法をある実用的な問いに適用している。つまり、「市場は現在このような動きをしているが、過去に同様の動きを見せたのはいつか、そしてその後どうなったか」という問いである。 この指標は、現在のウィンドウを符号化し、過去のデータから同様の形状を持つウィンドウをスキャンし、各一致項目の既知の将来を読み取り、その結果として得られる結果の分布を、チャート上の予測ファンコーンとして描き出し、その背後にある統計情報を報告する判定パネルを表示します。

この変換自体は3つのステップから成り、それぞれに理由があります:

  • ウィンドウをZ正規化 することで、純粋な形状のみを残します。EURUSDの上昇と金の上昇が同じパターンで上昇する場合、それらは同じ正規化曲線にマッピングされます。
  • 区分ごとの集計近似:正規化されたウィンドウをw個の 等しい区間に分割し、各区間をその平均値で置き換えます。w = 8の48バーのウィンドウは8つの数値となり、これは次元削減によってノイズを平滑化するものです。
  • 離散化:標準正規分布を等確率帯に分割するブレークポイントを用いて、各区間の平均を文字にマッピングします。これにより、すべての文字が先験的に同等の確率で出現することになります。

価格ウィンドウに対するSAX変換の3つのステップ

SAXパイプライン:ウィンドウをz正規化し、セルごとに平均化した後、ガウスの区切り点を使用して各セルを文字にマッピングする。

SAX検索が単に高速であるだけでなく、確かな根拠を持つとされる理由は、MINDIST にあります。これは2つの単語間の距離を表す指標であり、z正規化された系列間の真のユークリッド距離の下限を 証明可能に定めます。実際の距離を過小評価することしかできないため、真の一致を誤って除外するリスクなしに候補を排除するために使用できます。 これが、ここでの2段階検索を可能にしている理由です。まず、計算コストの低い単語間距離を用いて候補を絞り込み、次に残った候補を真のユークリッド距離でランク付けします。公開されている検証用データセットによれば、このパイプラインは、多くの処理を省略しながらも、ブルートフォース法と全く同じ一致結果を返すことが確認されています。

使用前に必ずお読みください:SA X 洗練されたものにするz正規化のステップでは、価格水準とボラティリティが意図的に除外されていますが、トレーディングにおいては、まさにこれらこそが重要な要素であることがよくあります。このツールは、各結果をその時点で支配的だったボラティリティの単位で測定することで、可能な範囲で補正を行っていますが、この制限は現実のものであり、調整によって解消されるものではありません。 「優位性なし」という判定が、他のどの結果よりも頻繁に表示されることを想定してください。ランダムウォークに近い市場においては、それが正しい答えであり、不具合ではありません。


指標が描き出すもの

2つのオブジェクトがあり、いずれも新しいバーが引けた際に再構築されます。

ファンコーンは、 直近の終値バーから先行き分布を将来に向けて投影したものです。実線は各ステップにおける先行き変動の中央値を示し、上下の点線は25パーセンタイルと75パーセンタイルを示しているため、過去のデータ間の一致度が薄れるにつれてコーンは広がっていきます。 各ステップごとの分布はATR単位で保持され、現在のATRを乗じて実際の価格軸上にプロットされます。これにより、相場が穏やかな局面でも激しい局面でも、先行データが同じコーンに寄与できるようになります。コーンは強気または弱気の判定が出た場合にのみ描画されるため、コーンが表示されないこと自体が、表示の不具合ではなく重要な情報となります。

判定パネルには、円錐が隠している数値が報告されます:


意味
word
現在のウィンドウのSAXエンコーディング。検索が実際に実行されたクエリ。
analogs
見つかった先行例の数と、それらの平均一致距離。平均距離が不十分な状態で件数が多い場合は、一致度の高い例が少数ある場合よりも、その事例の信頼性は低い。
fwd H
ホライズンまでのフォワード移動の中央値。ATR倍数およびパーセントで表示。
band
それらのフォワード・ムーブの25~75パーセンタイル範囲:数値として表されたコーンの幅。
上昇率
上昇した先行事例の割合とそのばらつき。上昇率が51%で上向き傾向を示す中央値は、単なる1件の先行事例の偶然の結果であり、傾向を示すものではない。
結論
強気、弱気、優位性なし、類似事例が少なすぎる、またはデータなし。

この判定は、意図的に得るのが難しいように設定されている。 まず「類似事例が少なすぎる」かどうかが判断され、次に「五分五分」のケースが検討され、両方の 確信度バンドをクリアしたサンプルのみが方向性を与えられる。すなわち、中央値の変動幅がATRベースで優位性の閾値を超え、かつ 上昇率が0.5前後のバンドから外れている必要がある。いずれか一方でも満たさない場合、中央値がどうであれ、答えは「優位性なし」となる。

EURUSDのM30チャートにおけるSAXアナログ予測ツール:ファンコーンと判定パネル

EURUSD、M30の予測モデル:類似ケースの中央値と四分位範囲を投影したファンコーン、その背後には判定パネルがサンプル情報を表示している。


主な特徴

設計上の公正性

  • 先読みなし。 マッチの結果ウィンドウは、クエリウィンドウが始まる厳密な時点以前に終了していなければならない。これにより、クエリ自体の未来からの情報が、その先行事例のセットに漏れ込むことは一切ない。これが、アナログ検索とカーブフィッティングを区別する唯一の防護策である。
  • ATRで正規化された結果。 価格変動幅は、マッチ時点でのATRの倍数として表現されるため、値動きが穏やかな期間の先行例と、激しい値動きの期間の先行例が同等の基準で比較可能となる。これは、z正規化によって失われた要素を補うための措置である。
  • 「ノー」と判定できる仕組み。 サンプル数が少なすぎる場合、あるいは両方の指標において傾向が明確でない場合、このツールは予測を保留し、予測コーンを表示しない。

近似ではなく、真のSAXライブラリ

  • Z正規化、ウィンドウ長がワード長で均等に割り切れない場合の分数値を含むPAA、アクラムのプロビットによるガウスブレークポイント、エンコーディング、そして真の距離の下限を証明可能なMINDIST。これらはいずれも、以前このプラットフォームには存在しませんでした。
  • アルファベットのサイズ2から10までをサポートしており、ブレークポイントは設定時に一度構築され、キャッシュされます。
  • フラットなウィンドウは、黙ってエンコードされるのではなく「フラット」として報告されます。標準偏差がほぼゼロの場合、正規化する形状が存在せず、無理に形状を付与すると意味のない単語が生成されてしまうためです。
  • ブルートフォースによるユークリッド距離メトリクスが、本番パイプラインにスイッチとして同梱されているため、剪定結果は単に信頼するのではなく、再現すべき答えと照らし合わせて検証することができます。

ライブチャートでの実用性

  • 検索はティックごとではなく、クローズしたバーごとに1回実行され、バー1からの履歴を読み込むため、形成中のバーはクエリにも先行セットにも決して含まれません。
  • パネルボックスのサイズは実際にレンダリングされるテキストに基づいて決定されるため、フォントサイズやコンテンツに関係なく切り取られることはありません。また、明るいテーマと暗いテーマが用意されており、どちらのチャート背景でも読みやすいようになっています。
  • すべてのチャートオブジェクトには共通のプレフィックスが付与されており、deinit時に削除されるため、孤立したオブジェクトが残ることはありません。


推奨される設定

設定
推奨値
備考
シンボル
任意の流動性のある金融商品
形状マッチングは、その構造上、スケールフリーである。開発およびスクリーンショットではEURUSDを使用した。
時間足
M30~H4
先行パターンが意味を持つためには、十分な過去のデータが必要です。ウィンドウ、ホライゾン、および履歴スキャンはすべてバー単位で測定されるため、時間枠が変わっても変更されることはありません。
履歴
6000バー
デフォルトのスキャン深度です。履歴が長ければ長いほど、先行事例が増え、分布もより確固たるものになりますが、検索時間にはそれに比例してコストがかかります。
パネルテーマ
チャートに合わせて
デフォルトはダークモードです。白いチャートではライトモードに切り替えてください。そうしないと、本文が読みづらくなります。


ファイル構造

1つのインジケーターと2つのヘッダー。ヘッダーは<SAX\...> として含まれるため、独自のSAX サブフォルダに配置する必要があります。

ファイル
役割
説明
Include\SAX\SAXTransform.mqh
変換
Z正規化、PAA、ガウス・ブレイクポイント、ワードエンコーディング、および下限のMINDIST。チャートや取引に依存せず、あらゆるシリーズで再利用可能です。
Include\SAX\SAXAnalogs.mqh
検索
2段階の「プルーニング→ランク付け」マッチング、ノールックアヘッドガード、ATR正規化された結果、コーンの背後にあるステップごとの分布、および判定分類。
Indicators\SAX\SAXAnalog.mq5
インジケータ
新しいバーごとに検索を実行し、予測ファンコーンと判定パネルを描画します。バッファには何もプロットされず、すべてチャートオブジェクトとして描画されます。


入力パラメータ

入力
デフォルト
制御対象
InpWinLen
48 バー
ウィンドウの長さのクエリ:1 バーが先行パターンとしてカウントされるために、直近の形状がどの程度一致する必要があるか。
InpHorizon
12バー
予測期間:各先行パターンの既知の将来のうち、どの程度の期間にわたって結果が測定され、予測コーンがどの程度まで広がるかを指定します。
InpWordLen、InpAlphabet
8, 4
SAXの解像度。単語が長く、アルファベットの数が多ければ多いほど、識別精度が高くなり、一致頻度は低くなる。逆に、単語が短く、アルファベットの数が少なければ、類似度の低い先行例がより多く集められる。
InpMaxAnalogs、InpMinAnalogs
50, 10
保持する最も近い先例の数、およびその数がこの値を下回った場合、その少数の先例の内容にかかわらず、判定が「少なすぎる」となる閾値。
InpEdgeATR
0.25
確信度閾値:フォワード移動の中央値がATRの4分の1を上回って初めて、「傾向あり」とみなされる。
InpMetric
MINDIST
2段階の「剪定→ランク付け」パイプライン。これが本番環境の設定です。すべての候補に対して総当たり処理を行う場合は Euclid に切り替えてください。ランク付けは同じですが、剪定は行われません。正確性と速度のベースラインとして有用です。
InpATRPeriod
14
結果を正規化し、コーンを価格軸上にスケーリングするために使用されるATR。
InpMaxHistory
6000バー
先行事例を検索する期間(過去から遡る期間)。
色、コーナー、テーマ
青 / 赤 / グレー、左上、ダーク
評決ごとのコーンおよびパネルのアクセントカラー、帯線の色、パネルのアンカーコーナー、および明るいテーマまたは暗いテーマ。


研究の根拠

この実装は、ジェシカ・リン、イーモン・キーオ、および同僚たちによるオリジナルのSAX研究に基づいており、彼らのSAXページには 関連論文がまとめられています。

SAXは価格を予言する水晶玉ではなく、このツールは他の何よりも「エッジなし」と報告することが多いでしょう。その価値は、多くの確かな前例が同じ方向を指し示す、稀で裏付けのしっかりした状況にあり、また、それ以外のことを装うことを拒むツールの厳格さにもあります。 このライブラリは、さらなる研究の可能性も開いています。例えば、機械学習モデルのカテゴリカル特徴量としてのSAXワード、異常検知のためのモチーフや不一致の発見、あるいは単語辞書に基づくマルコフ遷移モデルなどが挙げられます。

関連記事では、変換と下限の導出、検索とそのガードの解説、および検証ハンスの通過結果を示しています:『MQL5における記号的集約近似(SAX):歴史的類似検索と予測』

MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/75543

Trade Journal and Performance Analytics Dashboard Trade Journal and Performance Analytics Dashboard

取引履歴を読み取り、勝率、プロフィットファクター、連勝・連敗の記録、エクイティ曲線を表示する、軽量なチャート上ダッシュボードです。戦略の設定は不要で、自身のデータのみを使用し、自動的に更新されます。

SHK Heikin Ashi MACD Signal Arrows SHK Heikin Ashi MACD Signal Arrows

ヘイキンアッシュのローソク足を表示し、売買の確認用矢印、オプションのMACDヒストグラムのダイバージェンスフィルタリング、および設定可能なアラート機能を備えたMetaTrader 5用チャートインジケーターです。

Global Macro Soros Global Macro Soros

グローバル・マクロ・ソロス。 ジョージ・ソロスのマクロ取引スタイルに着想を得た、複数の時間軸におけるトレンド一致指標。

Trade Manager Panel Simple Interactive Chart Trading Tool with Risk Management for MT5 Trade Manager Panel Simple Interactive Chart Trading Tool with Risk Management for MT5

ドラッグ&ドロップでチャートラインを追加できる機能、リスク比率に基づく動的なロットサイズ設定、ATR/ポイントストップロスモード、リアルタイムの変動損益モニタリングを備えた、シンプルなMQL5取引管理パネルです。