システムトレード 게시글

移動平均線に基づくEAのご紹介 - MetaTrader 4でのトレード手法

첨부파일
13617.zip (118.38 KB, 다운로드 0회)

こんにちは、トレーダーの皆さん!今日は私が開発した移動平均線に基づくエキスパートアドバイザー(EA)についてお話しします。このEAは、セルゲイ・デュバキンによってコーディングされ、私自身のトレードアイデアを実現しました。

このバージョンのEAはPAMMアカウントでのトレードに使用されましたが、私の人為的要因(つまり、私自身の介入)もあって、最終的な純利益は20%でした。最高利益は初期入金の84%に達しました。

実際のトレード期間は2015年2月23日から2015年7月23日までです。

私の観察によれば、このEAでのトレードには大きな資金(最低15,000〜20,000)が必要です。

このEAは、移動平均線の指標値を使ってトレードを行います。速い移動平均線が遅い移動平均線の上にあり、二つのラインの距離が設定した値より大きければ、買い注文が開かれます。

逆の指標の値を使って売り注文を開きます。注文のクローズは移動平均線の指標値に基づいて行われます。

このEAには、速い移動平均線と遅い移動平均線の距離、テイクプロフィット、ストップロス、トレーリングストップ、注文間の距離(上下)、テイクプロフィットの平均化方法、トレード時間、ターン、前の注文が損失でクローズされた場合のロットの増加など、追加のプラグインモジュールもあります。

EAのアルゴリズム:

  1. EAは以前に開いた注文があるかどうかを確認します。
  2. 開いている注文がなければ、EAはチャートを分析し、設定した条件がすべて満たされていれば、最初のメイン注文を開きます。
  3. 最初のメイン注文を開いた後、EAはテイクプロフィットとストップロスのレベルを設定します(これらのモジュールが有効な場合)。
  4. 最初のメイン注文が損失でクローズされた場合、次の注文はサイズを増やして開かれる可能性があります。
  5. 最初のメイン注文が開かれ、ステップアップおよびステップダウンモジュールが有効で、価格が指定された値に達した場合、これらのモジュールのための追加注文が行われます。ただし、EAが以前に最初のメイン注文を開いたことがあるか、未クローズの追加注文がある場合にのみ追加注文が行われます。
  6. このEAには2つの運用モードがあります:
    • a) モード1: 速いMAが遅いMAの上にある場合、EAは買い注文をします。トレンドが変わると(速いMAが遅いMAの下になる)、すべての開いている注文がクローズされ、売り注文が開かれます。
    • b) モード2: EAが買い注文を開いている場合、トレンドが変わっても注文は開いたままとなります。EAは速いMAが遅いMAよりも低くなるまで売り注文を行いません。
  7. このEAにはトレード時間モジュールがあり、これを有効にすると、EAは指定された時間にのみ最初のメイン注文を開くことができます。ただし、ステップアップ、ステップダウン、ターンモジュールの追加注文には適用されません。つまり、EAが以前に開いた注文があり、いずれかのモジュールが有効であれば、時間に関係なく追加注文が行われます。

EAの設定:

  1. 運用モード:

    • 1 — トレンドが変わると、すべての開いている注文がクローズされ、反対の注文が開かれます;
    • 2 — トレンドが変わっても、開いている注文はクローズされず、EAはテイクプロフィット、ストップロスが達成されるまで待ちます。
  2. 速いMA — 移動平均線指標プラグインの設定: 期間、オフセット、MAメソッド。MetaTrader 4に含まれる移動平均線を使用します。

  3. 遅いMA — 移動平均線指標プラグインの設定: 期間、オフセット、MAメソッド。MetaTrader 4に含まれる移動平均線を使用します。

  4. 初期ロット

    4.1. 初期ロット

    • LotConst_or_not — ユーザーが初めから同じロットで取引を開始するか、入金の変化に応じて初期ロットを再計算するかを選択できます:
      true — 最初のロットは一定で、以下で指定されたロットの値に等しい;
      false — 最初のロットは入金の変化に応じて動的に変化し、リスクパーセンテージパラメータおよび入金のサイズに依存します。 Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0
    • Lots — 取引の初期ロットを設定します;
    • RiskPercent — 入金に応じた初期ロットを設定します。

    4.2. ロットの増加

    • FirstLotMultiplicator — 前の最初のメイン注文が損失でクローズされた場合、次の最初のメイン注文の増加比率を決定するパラメータ;
    • First_LotSize — 最初のメイン注文がこの行に指定された値に達した場合、EAは次の行に設定されたレベルでテイクプロフィットを設定します;
    • First_LotSize_TakeProfit — 最初のメイン注文の新しいテイクプロフィットレベル;
    • First_MaxLotSize — EAが最初のメイン注文を増加させる最大値。
  5. 速いMAと遅いMAの距離の設定

    • Distance — 注文を開くために必要な速いMAと遅いMAの距離。
      true — 距離モジュールが有効(オン)、
      false — 距離モジュールが無効(オフ)。
  6. ポイントによる利益 — TP

    • テイクプロフィット — 注文またはグループの注文をクローズする際のポイントによる望ましい利益の値。
      true — テイクプロフィットモジュールが有効(オン)、
      false — テイクプロフィットモジュールが無効(オフ)。
  7. 平均化方法 — バリアント — テイクプロフィットレベルの平均化方法の選択(1または2の選択)。

    • バリアント1. 平均化のレベルは次のように計算されます: (開いた価格1 + 開いた価格2 + 開いた価格3 + 開いた価格N) / N + EA設定で指定されたテイクプロフィットレベル。
    • バリアント2. 平均化のレベルは次のように行われます: EAは各ポジションの「損失なしレベル」を決定し(EAがテイクプロフィットレベルの平均化を行う際のスワップや手数料を考慮)、その価格に設定されたテイクプロフィットレベルを追加します。
  8. ポイントによるストップ — SL

    • ストップロス — 開いている注文に対して価格が反対方向に動いた場合に受ける可能性のあるポイントによる損失の値。
      true — ストップロスモジュールが有効(オン)、
      false — ストップロスモジュールが無効(オフ)。
  9. 注文間の距離(ステップアップ) — トレンドに沿ったオーダーグリッドの間の距離(間隔)。

    true — ステップアップモジュールが有効(オン)、
    false — ステップアップモジュールが無効(オフ)。

    9.1. トレーリングストップ — 移動可能なストップロスレベル。

    true — トレーリングストップモジュールが有効(オン)、
    false — トレーリングストップモジュールが無効(オフ)。
  10. 注文間の距離(ステップダウン) — トレンドに逆らったオーダーグリッドの間の距離(間隔)。

    true — ステップダウンモジュールが有効(オン)、
    false — ステップダウンモジュールが無効(オフ)。

  11. EAの注文の識別子 — マジックナンバー — EAが同一ターミナルで取引する際に自分の注文を認識するのに役立つパラメータ。

  12. ロゴとデータ出力 — ShowTableOnTesting — 収益の表示(今日、昨日など)をオンまたはオフにするパラメータ: true - オン、false - オフ。

  13. 時間枠 — EAがトレードに使用するチャートの時間枠を決定するプログラムコード。

    • 現在 — ターミナルで指定されたチャートの時間枠。
    • M1, M5, M15, M30, H1, H4, D1, W1, MN1 — 固定時間枠。
  14. トレード時間 — 特定の時間に最初のメイン注文を開くためのモジュール。

    true — トレード時間モジュールが有効(オン)、
    false — トレード時間モジュールが無効(オフ)。

  15. ターン — 最初のメイン注文のストップロスレベルに基づいて反対方向にリミット注文を配置します。

    true — ターンモジュールが有効(オン)、
    false — ターンモジュールが無効(オフ)。

    • ターン — 反対の保留注文が配置される距離。
    • LotMultiplicator — ターンモジュールによって配置された注文の増加比率を決定するパラメータ;
    • Turn_TakeProfit — ターンモジュールによって配置された注文のテイクプロフィットレベル;
    • Turn_LotSize — ターンモジュールによって配置される注文がこの行に設定された値を超える場合、新しいテイクプロフィットレベルが次の行で指定されます;
    • Turn_LotSize_TakeProfit — ターンモジュールの注文の新しいテイクプロフィットレベル;
    • Turn_MaxLotSize — ターンモジュールによって配置される注文の最大サイズ。

トレード結果:

トレード結果

このEAはPAMMアカウントでのトレードに使用されました。実際のトレード期間は2015年2月23日から2015年7月23日までです。

最高利益は初期入金の84%に達しましたが、私自身の介入により純利益はわずか20%となりました。EAのテスト運用では、月あたり5%、10%、15%の純利益を達成し、ドローダウンは入金の20%を超えませんでした。

P.S. 添付されたセットは、私が取引していたアカウントでのみ動作しました。各DC/ブローカーおよびアカウント(デモまたはリアル)にはカスタムEA設定が必要です。

最適化に夢中にならないでください。最適化は常に効果的ではなく、急激な動きでの注文配置速度を無視する可能性があります。

연관 포스트

댓글 (0)