移動平均を活用したトレード戦略
このEAは、シンプルなシステムにさまざまな取引と資金管理の戦略を適用するために作成されました。移動平均を基にしたバイアスを用いて、売買を自動で切り替えるトレーディングシステムを実装できます。また、スケーリングイン戦略を実行するオプションがあり、平均上げ、平均下げ、またはその両方を選択できます。移動平均に基づく方向転換を無効にし、新たなポジションを一方向に開くためのバイアスとして利用することも可能です。
ストップロスやテイクプロフィットの設定ができ、必要に応じてそれらを無効にすることもできます。ポジションサイズは、アカウントバランスの増減に応じて動的に調整され、ユーザーが設定した割合に基づいてポジションごとに使用するバランスが決まります。自由資金がユーザー定義のパーセンテージを下回ると、ボットは新しいオーダーを出さなくなり、全てのオープンポジションをクローズするように設定することもできます。この設定オプションにより、同じプログラムを使って多様な戦略を実行することが可能です。このEAは、特定のシンボルのすべてのトレードを管理することを目的としているため、マジックナンバーは使用していません。
このEAは意図的にヘッジを試みないように設計されています。もしあなたがボットとは逆方向にトレードを行うと、うまくいかない結果になるでしょう。市場の予期しない変動時の手動介入やポートフォリオの調整は必要とされます。このEAは、トレード管理オプションを迅速に探るために書かれており、バックテストを通じて最適化することができますが、取引中に自分の好みの設定で使うのにも非常に便利です。
いつも通り、このプログラムを使用して利益を保証するものではありません。設定を誤れば、一瞬で資金を失う可能性があります。ライブアカウントで運用するかどうかはあなたの判断にお任せしますが、まずはデモアカウントで自分の仮定や取引条件を検証することをお勧めします。もしコードにバグを見つけたら、ぜひ教えてください。修正します。
設定内容

- 取引方向の許可: ボットが買い、売り、またはその両方を許可するかを制御します。一度に両方向での取引は行いません。
- ヘッジの許可: 両方向での取引を許可するために、これをtrueに設定します(ブローカーがサポートしている必要があります)。
- 隠れたTP/SL: これをtrueに設定すると、実際にTPやSLを設定せずに、利益確定や損切りが発生した際にポジションを閉じます。ライブアカウントでは危険な場合があります。
- ポジションごとのレバレッジ: アカウントバランスに応じてポジションサイズが増加します。この数字は、1000単位のアカウントバランスごとに買ったり売ったりするマイクロロット数です。
- ストップロスのパーセンテージ: オプションで、0に設定することで無効にできます。この設定は、基準通貨における損失の際にストップロスを設定します。
- トレーリングストップロスのパーセンテージ: オプションで、0に設定することで無効にできます。この設定は、平均上げが有効な場合に、平均エントリ価格の上にストップロスを移動させます。
- テイクプロフィットのパーセンテージ: オプションで、0に設定することで無効にできます。この設定は、基準通貨における利益の際にテイクプロフィットを設定します。
- スリッページ: 注文の許容スリッページ量を設定します。
- 最小自由資本のパーセンテージ: 自由資本が指定されたパーセンテージを下回ると、新しいポジションを開くことを無効にします。
- 最小自由資本に達した時の全ポジションクローズ: 自由資本が最小値に達した時に全てのポジションをクローズする場合は、これをtrueに設定します。
- 平均上げ: 価格が有利に動いた場合にポジションを追加するために、これをtrueに設定します。
- 平均下げ: 価格が逆転した場合にポジションを追加するために、これをtrueに設定します。
- 平均化ステップサイズのパーセンテージ: 平均化オプションを使用する際のポジション間の距離を制御します。
- 平均下げステップ乗数: 平均下げの際のポジション間の距離を増加させます。
- MAクロスオーバー時の全ポジションクローズ: バイアスとなる移動平均が変わった時に全ポジションをクローズする場合は、これをtrueに設定します。
- MAの前の時間枠: 遅い移動平均に使用する時間枠。
- MAの現在の時間枠: 速い移動平均に使用する時間枠。
- MAの前の期間追加: 遅い移動平均の期間は、"現在の"期間にこの数を加えたものです。
- MAの現在の期間: 速い移動平均の期間。
- MAの前のシフト: 遅い移動平均に適用するシフト。
- MAの現在のシフト: 速い移動平均に適用するシフト。
- MAの計算方法: 遅い移動平均と速い移動平均の計算方法。
- MAに適用する価格: 遅い移動平均と速い移動平均に使用する価格。
- 取引開始日: 取引を開始する曜日。
- 取引終了日: 取引を終了する曜日。
- 取引開始時刻: 開始日に取引を開始する時刻。
- 取引終了時刻: 終了日に取引を停止する時刻。
テストと最適化
このプログラムは、新しいバーの始まりでアクションを取るべきかどうかを評価します。毎分チェックさせたい場合は、1分足のチャートに設定してください。週に1回チェックさせたい場合は、1週足のチャートに設定します。また、バックテストで「全ティック」でのテストは無意味ですので、オープンバーのみのオプションを使用することをお勧めします。これにより、テストがずっと早くなります。