





DynamicTrailingStop
商品概要
DynamicTrailingStopは、決済に特化したEAです。ポジションの加重平均価格を計算し、利益に応じてトレイリングストップの距離を自動的に調整することで、効率的な決済管理をサポートします。
このEAは2つのロジックを組み合わせています:
- 加重平均価格計算 - 複数回に分けて建てたポジションの真の平均コストを把握
- 動的(線形)トレイリングストップ - 利益の大きさに応じてトレイリングストップ距離を自動調整
これら2つのロジックの組み合わせにより、複雑な建玉管理とリスク調整型の決済を同時に実現します。
主な特徴
⚖️ 加重平均価格の正確な計算
複数回に分けたエントリーやマーチンゲール、ナンピンなど様々な建玉戦略における真の平均コストを正確に計算。各ポジションのロットサイズを考慮した本当の損益分岐点を把握します。
📈 動的(線形)トレイリングストップ
加重平均価格に基づく総利益の大きさに応じてトレイリングストップの距離を線形に調整。利益が小さいときは広めに設定し、利益が大きくなるにつれて徐々に狭めることで、利益を逃さず確保します。
⚙️ 決済条件の細かな調整
最大/最小トレイリングストップ距離、最小/最大利益などのパラメータを調整可能。異なる相場環境や取引スタイルに適応できます。
📊 バックテスト検証機能
MT4ストラテジーテスターでの動作検証用のテストエントリー機能を内蔵。実際の運用前にパラメータの最適化が可能です。
2つのロジックの詳細
1. 加重平均価格計算
通常のMT4プラットフォームでは、複数回に分けて建てた同一方向のポジションの真の平均コストを把握することが困難です。DynamicTrailingStopは、各ポジションのロットサイズと価格を考慮して加重平均価格を計算します。
加重平均価格の計算方法
上記の例では、3つのポジションが異なる価格とロットサイズで建てられています:
- ポジション1: 0.1ロット @ 1.2050
- ポジション2: 0.2ロット @ 1.2100
- ポジション3: 0.5ロット @ 1.2150
このときの加重平均価格は1.2125です。
計算式 | 結果 | |
---|---|---|
加重平均 | (1.2050×0.1 + 1.2100×0.2 + 1.2150×0.5) ÷ (0.1 + 0.2 + 0.5) | =1.2125 |
これにより、マーチンゲール戦略やナンピン戦略など、複数回に分けてエントリーする手法でも真の損益分岐点が分かり、適切な決済判断が可能になります。
2. 動的(線形)トレイリングストップ
通常のトレイリングストップは固定距離での設定しかできませんが、DynamicTrailingStopは利益の大きさに応じて自動的にトレイリングストップの距離を調整します。 利益は加重平均価格に基づいて計算され、対象となる全ポジションに同一のストップ価格を設定します。
動的トレイリングストップの仕組み
上のグラフは、利益の大きさに応じてトレイリングストップの距離が線形に調整される様子を示しています:
- 利益が最小利益(MinProfit = 300ポイント)に達した時点:最大トレイリングストップ距離(MaxTrailingStop = 500ポイント)を適用
- 利益が最小利益と最大利益の間:利益の増加に比例して、トレイリングストップ距離を徐々に縮小
- 利益が最大利益(MaxProfit = 1500ポイント)以上:最小トレイリングストップ距離(MinTrailingStop = 100ポイント)を適用
通常の固定トレイリングストップ(オレンジの点線)と比較すると、動的トレイリングストップ(赤の実線)では:
- 利益が小さいうちは広めのトレイリング距離で価格の自然な揺れに対応
- 利益が大きくなるにつれてトレイリング距離を狭め、獲得した利益を確実に確保
この線形調整により、小さな利益は逃さないよう緩やかに、大きな利益はより確実に確保することができます。これはトレンドに沿った取引において特に効果的です。
決済専用EAとしての位置づけ
DynamicTrailingStopはエントリー(注文)機能を持たない決済専用EAです。既存のトレード戦略やEAと組み合わせて使用することを前提としています。以下のような用途に最適です:
- 手動エントリーしたポジションの効率的な利益確定
- 他のEAで自動発注したポジションの決済管理
- 複数のポジションを持つポートフォリオの一括決済管理
- 長期保有ポジションの利益確保
通常、MetaTrader上ではトレイリングストップは固定値のみ設定可能ですが、このEAでは利益に比例して動的に調整することで、より効率的な決済管理を実現します。
パラメータ説明
パラメータ | 説明 | 初期値 |
---|---|---|
Symbol_Name | トレイリングストップを適用するシンボル名(空白の場合は現在のシンボル) | 空白(現在のチャート) |
MaxTrailingStop | 設定可能な最大トレイリングストップ距離(ポイント) | 500 |
MinTrailingStop | 設定可能な最小トレイリングストップ距離(ポイント) | 100 |
MinProfit | トレイリングストップを開始する最小利益(ポイント) | 500 |
MaxProfit | 最小トレイリングストップ距離に到達する最大利益(ポイント) | 1500 |
MagicNumber | 注文を識別するためのマジックナンバー | 0(裁量ポジション) |
UpdateInterval | トレイリングストップの更新間隔(秒) | 0(ティック毎に更新) |
使用例
DynamicTrailingStopは以下のようなシナリオで特に効果を発揮します:
- 段階的にポジションを積み増すトレード戦略(ナンピン、マーチンゲールなど)
- トレンドフォロー型の取引で、利益を最大限に引き出したい場合
- 既存のEAの決済ロジックを改善したい場合
バックテスト機能
DynamicTrailingStopにはエントリー機能はありませんが、MT4ストラテジーテスターで動作確認ができるテストエントリー機能が内蔵されています(実稼働時には動作しません)。この機能により、様々な市場環境でのEAの動作を検証し、最適なパラメータを見つけることができます。
バックテスト用の追加パラメータ:
- EnableTestEntries - バックテスト用エントリーを有効/無効化
- TestLotSize - テスト用のロットサイズ
- MaxBuyLots/MaxSellLots - 買い/売りポジションの最大保有量
- TestStopLoss - 初期ストップロス(ポイント)
- TestTakeProfit - 利確レベル(ポイント)
For those using GogoJungle for the first timeEasy 3 steps to use the product!
At GogoJungle, we provide services to enrich your investment life for our members. In addition, product purchases are normally limited to members. Why not register as a member now and make use of GogoJungle!