ダリル・ガッピーはプロのトレーダーであり、『トレンドトレーディング』、『トレーディングタクティクス』、および『より良い株式トレーディング:資金とリスク管理』の著者です。彼はオーストラリア、アジア、中国、アメリカでトレーディングセミナーを行っています。
GMMA(Guppy Multiple Moving Average)は、移動平均のグループ間の関係に基づいた指標です。このGMMA指標の各移動平均グループは、トレーダーと投資家という二つの主要な市場グループの行動を理解する手助けをします。これにより、トレーダーはチャート上で示される市場の関係性を理解し、最も適切なトレーディング手法やツールを選択することができます。GMMA指標は、日次または短期のトレンド動向を理解するために設計されています。
トレーダーの活動は、短期移動平均のグループを使用して追跡されます。トレーダーは常にトレンドの変化を始めます。彼らの行動は、下落から上昇へのトレンド変化を期待して価格を押し上げます。この活動は、3、5、8、10、12、および15期間の指数移動平均のグループに表示されます。
トレンドが続くためには、他の買い手も市場に参加する必要があります。強いトレンドは、長期の投資家によって支えられています。投資家はトレンドの変化を認識するのにもっと時間がかかりますが、常にトレーダーの後を追います。私たちは、長期移動平均のグループを使用して、投資家の活動を追跡します。このグループには、30、35、40、45、50、60期間の指数移動平均が含まれます。
GMMA指標は以下の6つのトレーディング状況で使用されます:
- 標準的なトレンドブレイクアウト
- トレンドへの参加
- 価格の弱さの利用
- ラリーとトレンドブレイクアウト
- 最適なエグジットの選択
- バブルのトレーディング
スムージングアルゴリズムは、次の10種類から選択できます:
- SMA - 単純移動平均
- EMA - 指数移動平均
- SMMA - 平滑移動平均
- LWMA - 線形加重移動平均
- JJMA - JMA適応平均
- JurX - 超線形スムージング
- ParMA - パラボリックスムージング
- T3 - ティルソンの複数指数スムージング
- VIDYA - Tushar Chandeのアルゴリズムを使用したスムージング
- AMA - Perry Kaufmanのアルゴリズムを使用したスムージング
なお、Phase1とPhase2のパラメータは、スムージングアルゴリズムによって全く異なる意味を持ちます。JMAの場合、外部Phase変数は-100から+100まで変化します。T3では、視覚化を良くするためにスムージング比率が100倍されます。VIDYAではCMOオシレーターの期間、AMAでは遅いEMAの期間として使用され、他のアルゴリズムではスムージングには影響しません。AMAの高速EMA期間は固定値で、デフォルトは2です。また、指数の累乗比率もAMA用で2として設定されています。
この指標は、SmoothAlgorithms.mqhライブラリのクラスを使用しています(terminal_data_folder\MQL5\Includeにコピーする必要があります)。クラスの使用については、『追加バッファを使用せずに中間計算のための価格系列の平均化』の記事で詳しく説明されています。

指標の入力パラメータ:
//+-----------------------------------+ //| 指標の入力パラメータ | //+-----------------------------------+ input Smooth_Method xMA_Method=MODE_EMA; // 平均化方法 input int TrLength1=3; // 1トレーダーの平均化期間 input int TrLength2=5; // 2トレーダーの平均化期間 input int TrLength3=8; // 3トレーダーの平均化期間 input int TrLength4=10; // 4トレーダーの平均化期間 input int TrLength5=12; // 5トレーダーの平均化期間 input int TrLength6=15; // 6トレーダーの平均化期間 input int InvLength1=30; // 1投資家の平均化期間 input int InvLength2=35; // 2投資家の平均化期間 input int InvLength3=40; // 3投資家の平均化期間 input int InvLength4=45; // 4投資家の平均化期間 input int InvLength5=50; // 5投資家の平均化期間 input int InvLength6=60; // 6投資家の平均化期間 input int xPhase=100; // スムージングパラメータ input Applied_price_ IPC=PRICE_CLOSE; // 価格定数 input int Shift=0 // バーにおける指標の水平シフト