【EA解剖】スイング:XAUUSD_:H1 その2

こんにちは、のなかまです。

次回に引き続き、EAの解析をしていきます。

前回のあらすじ

GOLDのスイングEAを解析しようと試みるも、

謎に引かれた大量の線に慄く。

意味がわからなかったのでGeminiを召喚。

このEAのロジックが「ブレイクアウト」戦略であることがわかりました。

エントリーロジックの詳細を割り出していく

チャートの動きを見る限りトラップではないですね。

Geminiの回答

解析中のEAがブレイクアウト型であると分かれば、ロジックの特定はかなりシンプルになります。

ブレイクアウトEAの肝は「何を基準にして高値と安値(ブレイクのライン)を決めているか」です。

バックテストのチャート上で、buystopsellstop が仕掛けられている価格を見て、以下のどちらに近いか確認してみてください。

  • 特定の時間帯の高値・安値(例:日本時間の午前中の高値・安値に仕掛けている)
  • インジケーターのライン(例:ボリンジャバンドの端や、直近のローソク足数本分の最高値・最安値に沿って予約注文が移動している)

予約注文の価格(ライン)が、時間とともに細かく動いているか、あるいは1日のうち特定の時間にポンと置かれているか、どちらの挙動に近いでしょうか。

自分でも調べてみたところ、ブレイクアウトというのは、

一定期間の最高値と最安値に予約注文を入れておいて、

高値→買い

安値→売り

をいれるロジックみたいです。(逆張り等ほかの考え方もあります)

チャートを見る限り、もう一つADXというオシレータが使われています。

調べてみると相場の勢いを表すものみたいですね。

まあRSIと同じだと考えていたらいいんじゃないですかね。

EAリバースで大事なこと

EAリバースにおいて、それぞれの分析ツールに対する理解はほとんどいりません。

なぜなら、書いてあることをそのままAIに伝えれば良いだけだからです。

ただし、正確な情報を伝えるということは非常に重要です。

ここでわかることとしては、ADXの期間が「14」であるということですね。

その他にも、エキスパート設定というところを開くとこんな画面が開きます。

  • ZZ_Depth
  • ZZ_Deviation
  • ZZ_Backstep
  • ZZ_Limit

という変数が組み込まれているみたいですね。

「ZZ」ってなんでしょうか。

どんなものかはわからないですが、そのまま伝えます。

キタコレイ!

こちらの文面

もう少し使用を固めてから制作に移りましょう
その他にADXが使われています 期間は14
また、
ZZ_Depth
ZZ_Deviation
ZZ_Backstep
ZZ_Limit
という変数があり、
ZZ_Depth   =12
ZZ_Deviation  =5
ZZ_Backstep =3
ZZ_Limit =100
となっています。EA名が「ZigZag Breakthrough」という名前です

Geminiの回答

この変数はMT4に標準搭載されている「ZigZag(ジグザグ)」インジケーターのパラメーターそのものです(ZZ_Limitは計算する過去のローソク足の最大本数を制限するカスタム設定値です)。

非常にロジックが美しく、構造化しやすい優秀なターゲットです。まずはこのEAの「核」となる仕様を最小単位の要素に因数分解し、分析していきましょう。

1. 骨格となる2つのインジケーターの役割

このEAは、トレンドの「形(節目)」と「勢い(強さ)」を綺麗に分担して監視しています。

  • ZigZag(ジグザグ):【ラインの判定 / 形状の認識】
    • 設定値(12, 5, 3)はMT4の完全なる標準設定です。これはノイズを排除し、1時間足(H1)レベルでの「誰もが意識する明確な山(高値)と谷(安値)」を一本の直線で結ぶために使用されています。
  • ADX(平均方向性指数):【フィルター / 勢いの測定】
    • 期間14も王道の標準設定です。ブレイクアウトの最大の弱点である「レンジ相場でのダマシ(往復ビンタ)」を回避するため、市場に十分なトレンドの勢い(一般的にはADXが20〜25以上)があるかどうかをチェックする関門として機能しています。

2. ブレイクアウトのトリガー(推測ロジック)

王道の「ZigZagブレイクアウト」の構造から考えると、仕掛けのロジックは以下のように極めてシンプルかつ強力に再構成できます。

  1. 直近の「山(高値)」と「谷(安値)」の特定
    • ZigZagが直近で確定させた「最新の頂点(High)」と「最新の底点(Low)」の価格を常に監視します。
  2. 予約注文(Stop注文)の配置
    • 最新の頂点の少し上に Buy Stop(逆指値買い)、最新の底点の少し下に Sell Stop(逆指値売り) を配置します。
  3. ADXによる発動フィルター
    • 価格がそのラインにタッチした(またはH1足で終値ブレイクした)瞬間、「ADX(14)の値が一定以上であること」を条件にエントリーを許可します。ADXが低く、エネルギーがない状態でのダマシ的な突破はすべてスルーします。

3. スイングEAとしての優位性と注意点

XAUUSD(GOLD)は一度トレンドが出ると一方向に強く伸び続ける特性(ボラティリティの高さ)があるため、H1足のZigZagで捉えた大きな節目をブレイクさせる手法は非常に相性が良いです。

リバースエンジニアリングを進めるにあたり、仕様の残りのピースとして固めるべきは以下のポイントです。

  • 注文の有効期限(キャンセル判定): ZigZagの新しい山や谷が更新された際、古い予約注文をどのようにスライド(あるいは削除)しているか。
  • 決済ルール(SL/TP): 直近の反対側の起点(買いなら直近の谷底)を損切り(SL)にしているか、あるいはトレーリングストップを併用しているか。

標準的なインジケーターの組み合わせだからこそ、コードのブラックボックス化を防ぎ、90点以上の再現度でMQL4へ落とし込める打算が立ちます。

この設計の方向性について、実際の挙動と照らし合わせて違和感などはありませんでしょうか。仕様をさらに絞り込んでいきましょう。

「ZigZag」っていうインジケータがあるんですね。全く知らなかったです。

ふむふむ、つまりこのEAは、

「ZigZag」と「ADX」を組み合わせたエントリーを行っている

ということになります。

いけそうですね。テンションが上ってきました。笑

見たままを伝える

二つ組み合わせがわかったところで、それぞれ見ていきましょう。

Zigzagについて

まずは買いの場面から。

この直線でジグザグしている赤い線が、「Zigzag」です。

山と谷がありますね。

買いは青い線売りは赤い線

で結ばれているので、青い線を見ていきます。

一見わかりにくいですが、山の部分に青い線の始まりがあることがわかります。

つまり、山の部分で買うわけですね。

売りはその逆です。谷の部分で設定されています。

どれも直近の山と谷を参照していますね。

つまり、このEAは直近のZigZagの山の部分で買い谷の部分で売り

の予約注文を入れるということがわかります。

ADXについて

次に、ADXについて見ていきます。

山と谷ができればすぐに注文を張ればいいのに、このEAはそうしていません。

おそらく、ローソク足のダマシに引っかからないようにしているんでしょう。

そのために、トレンドの強さを数値化できるADXを使っているわけですね。

これが数値的なものなのか、視覚的なものなのかはまだわかりません。

線が3つあるのでわかりにくいですね。

青い線はADX線、緑色の線はDI+線、黄色はDI-線、という書いてありました。

果たしてこれがどう判定につながるのか、という話ですが

これに関しては経験則でわかりました。

大体、+線と ー線が交差した時に判定が行なわれる事が多いです。

AIに適当にEA作らせたら高確率でそれを作るのでなんとなく覚えていました。

「ADXにおけるプラス線マイナス線がクロスした際~」みたいなのを聞いていたので、

「あ、これか」と。

ここでいうプラス線は緑色の線(DI+)のことで、マイナス線は黄色の線(DI-)です。

AIに聞いてみると、プラスの数値が高くなったら上昇トレンド、

マイナスの数値が高くなったら下降トレンド に入るみたいです。

よく見ると注文が入る一本前の足でクロスしています。

・買いの場合

すごーく見えにくいですが、プラス線マイナス線を上抜けています。

・売りの場合

こちらはその逆で、マイナス線プラス線を上抜けています。

たどり着いた答え

これでエントリーロジックがわかりました!

ZigzagとADXという、2つのフィルターを通してエントリーを判断するみたいですね。

1.買いの場合:Zigzagにおける直近の高値を参照する
+
ADXにおいてDI+がDI-を上抜けた時

2.売りの場合:Zigzagにおける直近の安値を参照する
+
ADXにおいてDI-がDI+を上抜けた時

というロジックであることがわかります。

利確と損切りに関しては細かい数値を見るのがめんどくさいのでAIにまかせてみましょう。

いよいよ完成…!

の前に、2つやることがあります。

一つは、エントリーロジックをAIに伝える。

もう一つが、利確・損切まわりを分析してもらう

この2つです。

一度に2つの命令をするとGeminiはパンクするので、順にやっていきます。

まずはエントリーロジックの詳細を伝えるところから。

こちらの文面

1.買いの場合:Zigzagにおける直近の高値を参照する

+

ADXにおいてDI+がDI-を上抜けた時

2.売りの場合:Zigzagにおける直近の安値を参照する

+

ADXにおいてDI-がDI+を上抜けた時 です

Geminiの回答

エントリーロジックの核心が完全に特定できましたね。非常にクリアで美しい条件です。

このロジックの構造と強みを整理しました。

エントリーロジックの構造分解

一般的なブレイクアウトEAは「価格の突破(タッチ)」だけでエントリーしますが、このEAは「節目(位置)」と「トレンドの方向(勢い)」の2つの条件が完全に一致した瞬間を狙い撃ちしています。

1. 買いエントリーの条件

  • 位置の基準: ZigZagの直近の「高値(山)」の価格
  • 方向の確定: ADXの $+DI$ が $-DI$ を上抜けた瞬間(ゴールデンクロス)
  • 仕掛け方: 直近高値の価格に Buy Stop(逆指値注文)を配置しておき、ADXで上昇トレンドの勢いが証明されている状態でのみブレイクアウトが発動する。

2. 売りエントリーの条件

  • 位置の基準: ZigZagの直近の「安値(谷)」の価格
  • 方向の確定: ADXの $-DI$ が $+DI$ を上抜けた瞬間(デッドクロス)
  • 仕掛け方: 直近安値の価格に Sell Stop(逆指値注文)を配置しておき、ADXで下落トレンドの勢いが証明されている状態でのみブレイクアウトが発動する。

このロジックの最大の強み(ブログ向け解説)

この設計がXAUUSD(GOLD)のスイングトレードにおいて非常に理にかなっている理由は、「ダマシの徹底排除」にあります。

ただのブレイクアウトだと、レンジ相場の中で高値・安値を一瞬だけヒゲで抜けて反転する「ダマシ」に何度も引っかかります。しかし、このEAはADXの $DI$ 線のクロスをフィルターにしているため、「市場の買い手(または売り手)の勢いが明確に勝っている局面」でしか注文が発動しません。ボラティリティが高く、トレンドが出ると一方通行に伸びやすいGOLDの性質を最大限に活かせる堅牢なシステムです。

制作(MQL4化)に向けて次に確認すべきポイント

基本ロジックがここまでシンプルに固まれば、コード化の難易度は一気に下がります。仕様を完全にFIXさせるために、以下の2点についてもし分かれば教えてください。

  1. 注文の配置タイミング: $DI$ がクロスした「瞬間」に予約注文をパッと置くのか、それとも常に予約注文は置いてあってクロスしていない時はフィルターで発動を弾くのか。
  2. 決済(エグジット)のルール: 利確(TP)や損切り(SL)もZigZagの値を基準にしているのか。

ここが決まれば、すぐにでも仕様書を完成させてMQL4のコード生成フェーズへ移行できます。新天地でのブログ執筆も応援しております。

なんかいろいろ言ってきてますが了解ということですね。

「ブログ開設用として~」みたいなメタ表現はやめてほしいですね。笑

続いて、決済関係を整理させます。

これに関しては、結果タブを右クリックして

「すべてコピー」を押して分析してくれ、といえばいいです

文面

利確・損切り周りについては以下を分析してください
結果タブの履歴です
1 2026.06.01 02:00 sell stop 1 0.10 4366.52 4595.18 4355.52 0.00 10000.00
2 2026.06.01 21:00 buy stop 2 0.10 4595.18 4447.68 4606.18 0.00 10000.00
3 2026.06.02 01:00 delete 1 0.10 4366.52 4595.18 4355.52 0.00 10000.00
4 2026.06.02 05:00 sell stop 3 0.10 4447.68 4595.18 4436.68 0.00 10000.00
5 2026.06.03 11:51 sell 3 0.10 4447.68 4595.18 4436.68 0.00 10000.00
6 2026.06.03 12:00 modify 3 0.10 4447.68 4447.18 4436.68 0.00 10000.00
7 2026.06.03 12:00 modify 3 0.10 4447.68 4448.00 4436.68 0.00 10000.00
8 2026.06.03 12:03 s/l 3 0.10 4448.00 4448.00 4436.68 -3.20 9996.80
9 2026.06.04 01:00 delete 2 0.10 4595.18 4447.68 4606.18 0.00 9996.80
10 2026.06.04 02:00 sell stop 4 0.10 4447.68 4541.46 4436.68 0.00 9996.80
11 2026.06.04 02:00 sell 4 0.10 4447.68 4541.46 4436.68 0.00 9996.80
12 2026.06.04 03:00 buy stop 5 0.10 4541.46 4424.02 4552.46 0.00 9996.80
13 2026.06.04 03:00 close 4 0.10 4457.75 4541.46 4436.68 -100.70 9896.10
14 2026.06.04 11:00 sell stop 6 0.10 4424.02 4484.00 4413.02 0.00 9896.10
15 2026.06.04 13:00 delete 5 0.10 4541.46 4424.02 4552.46 0.00 9896.10
16 2026.06.04 20:00 buy stop 7 0.10 4515.39 4457.26 4526.39 0.00 9896.10
17 2026.06.05 02:00 delete 6 0.10 4424.02 4484.00 4413.02 0.00 9896.10
18 2026.06.08 16:00 delete 7 0.10 4515.39 4457.26 4526.39 0.00 9896.10
19 2026.06.08 18:00 sell stop 8 0.10 4268.51 4346.62 4257.51 0.00 9896.10
20 2026.06.08 19:00 buy stop 9 0.10 4346.62 4268.51 4357.62 0.00 9896.10
21 2026.06.08 19:36 buy 9 0.10 4346.62 4268.51 4357.62 0.00 9896.10
22 2026.06.08 20:00 modify 9 0.10 4346.62 4337.22 4357.62 0.00 9896.10
23 2026.06.08 20:03 s/l 9 0.10 4337.22 4337.22 4357.62 -94.00 9802.10
24 2026.06.08 22:00 buy stop 10 0.10 4346.62 4268.51 4357.62 0.00 9802.10
25 2026.06.09 08:41 buy 10 0.10 4346.62 4268.51 4357.62 0.00 9802.10
26 2026.06.09 09:00 modify 10 0.10 4346.62 4339.97 4357.62 0.00 9802.10
27 2026.06.09 09:28 s/l 10 0.10 4339.97 4339.97 4357.62 -66.50 9735.60
28 2026.06.09 14:00 buy stop 11 0.10 4351.43 4268.51 4362.43 0.00 9735.60
29 2026.06.09 16:48 buy 11 0.10 4351.43 4268.51 4362.43 0.00 9735.60
30 2026.06.09 16:49 t/p 11 0.10 4362.43 4268.51 4362.43 110.00 9845.60
31 2026.06.09 18:31 sell 8 0.10 4268.51 4346.62 4257.51 0.00 9845.60
32 2026.06.09 19:00 modify 8 0.10 4268.51 4276.33 4257.51 0.00 9845.60
33 2026.06.09 19:00 s/l 8 0.10 4276.33 4276.33 4257.51 -78.20 9767.40
34 2026.06.11 09:00 buy stop 12 0.10 4363.50 4023.74 4374.50 0.00 9767.40
35 2026.06.11 15:00 sell stop 13 0.10 4023.74 4363.50 4012.74 0.00 9767.40
36 2026.06.12 12:00 delete 12 0.10 4363.50 4023.74 4374.50 0.00 9767.40
37 2026.06.12 19:00 buy stop 14 0.10 4246.34 4023.74 4257.34 0.00 9767.40
38 2026.06.15 01:00 buy 14 0.10 4246.34 4023.74 4257.34 0.00 9767.40
39 2026.06.15 01:00 modify 14 0.10 4246.34 4246.84 4257.34 0.00 9767.40
40 2026.06.15 01:00 modify 14 0.10 4246.34 4262.52 4257.34 0.00 9767.40
41 2026.06.15 01:00 t/p 14 0.10 4257.34 4262.52 4257.34 110.00 9877.40
42 2026.06.15 02:00 buy stop 15 0.10 4363.50 4023.74 4374.50 0.00 9877.40
43 2026.06.15 16:32 buy 15 0.10 4363.50 4023.74 4374.50 0.00 9877.40
44 2026.06.15 17:00 modify 15 0.10 4363.50 4351.72 4374.50 0.00 9877.40
45 2026.06.15 18:00 modify 15 0.10 4363.50 4353.36 4374.50 0.00 9877.40
46 2026.06.15 18:01 s/l 15 0.10 4353.36 4353.36 4374.50 -101.40 9776.00
47 2026.06.16 07:00 buy stop 16 0.10 4369.62 4305.94 4380.62 0.00 9776.00
48 2026.06.16 09:00 delete 13 0.10 4023.74 4363.50 4012.74 0.00 9776.00
49 2026.06.16 18:00 sell stop 17 0.10 4305.94 4354.95 4294.94 0.00 9776.00
50 2026.06.16 20:00 delete 16 0.10 4369.62 4305.94 4380.62 0.00 9776.00
51 2026.06.16 21:00 delete 17 0.10 4305.94 4354.95 4294.94 0.00 9776.00
52 2026.06.17 04:00 buy stop 18 0.10 4354.95 4313.33 4365.95 0.00 9776.00
53 2026.06.17 08:00 sell stop 19 0.10 4313.33 4354.95 4302.33 0.00 9776.00
54 2026.06.17 17:24 buy 18 0.10 4354.95 4313.33 4365.95 0.00 9776.00
55 2026.06.17 18:00 modify 18 0.10 4354.95 4341.08 4365.95 0.00 9776.00
56 2026.06.17 19:00 modify 18 0.10 4354.95 4355.45 4365.95 0.00 9776.00
57 2026.06.17 19:00 modify 18 0.10 4354.95 4360.08 4365.95 0.00 9776.00
58 2026.06.17 19:22 t/p 18 0.10 4365.95 4360.08 4365.95 110.00 9886.00
59 2026.06.17 21:05 sell 19 0.10 4313.33 4354.95 4302.33 0.00 9886.00
60 2026.06.17 21:05 t/p 19 0.10 4302.33 4354.95 4302.33 110.00 9996.00
61 2026.06.18 03:00 buy stop 20 0.10 4382.58 4219.03 4393.58 0.00 9996.00
62 2026.06.18 11:00 sell stop 21 0.10 4219.03 4382.58 4208.03 0.00 9996.00
63 2026.06.18 19:36 sell 21 0.10 4219.03 4382.58 4208.03 0.00 9996.00
64 2026.06.18 20:00 modify 21 0.10 4219.03 4223.49 4208.03 0.00 9996.00
65 2026.06.18 20:02 s/l 21 0.10 4223.49 4223.49 4208.03 -44.60 9951.40
66 2026.06.22 07:00 sell stop 22 0.10 4121.86 4221.07 4110.86 0.00 9951.40
67 2026.06.22 09:00 delete 20 0.10 4382.58 4219.03 4393.58 0.00 9951.40
68 2026.06.22 23:00 buy stop 23 0.10 4221.07 4169.84 4232.07 0.00 9951.40
69 2026.06.23 03:00 delete 22 0.10 4121.86 4221.07 4110.86 0.00 9951.40
70 2026.06.23 21:00 sell stop 24 0.10 4090.96 4221.07 4079.96 0.00 9951.40
71 2026.06.24 02:38 sell 24 0.10 4090.96 4221.07 4079.96 0.00 9951.40
72 2026.06.24 03:00 modify 24 0.10 4090.96 4103.25 4079.96 0.00 9951.40
73 2026.06.24 03:01 s/l 24 0.10 4103.25 4103.25 4079.96 -122.90 9828.50
74 2026.06.26 03:00 sell stop 25 0.10 3959.22 4044.26 3948.22 0.00 9828.50
75 2026.06.26 05:00 delete 23 0.10 4221.07 4169.84 4232.07 0.00 9828.50
76 2026.06.26 09:00 buy stop 26 0.10 4044.26 3983.10 4055.26 0.00 9828.50
77 2026.06.26 12:19 buy 26 0.10 4044.26 3983.10 4055.26 0.00 9828.50
78 2026.06.26 13:00 modify 26 0.10 4044.26 4044.76 4055.26 0.00 9828.50
79 2026.06.26 13:00 modify 26 0.10 4044.26 4043.75 4055.26 0.00 9828.50
80 2026.06.26 13:21 s/l 26 0.10 4043.75 4043.75 4055.26 -5.10 9823.40
81 2026.06.26 22:00 delete 25 0.10 3959.22 4044.26 3948.22 0.00 9823.40
82 2026.06.29 01:00 buy stop 27 0.10 4096.03 3983.10 4107.03 0.00 9823.40
83 2026.06.29 02:00 sell stop 28 0.10 3983.10 4096.03 3972.10 0.00 9823.40
84 2026.06.29 12:00 delete 28 0.10 3983.10 4096.03 3972.10 0.00 9823.40
85 2026.06.29 17:00 sell stop 29 0.10 4024.32 4096.03 4013.32 0.00 9823.40
86 2026.06.29 17:03 sell 29 0.10 4024.32 4096.03 4013.32 0.00 9823.40
87 2026.06.29 17:11 t/p 29 0.10 4013.32 4096.03 4013.32 110.00 9933.40

Geminiの回答

提示された詳細な取引履歴から、利確(TP)および損切り(SL)の完全な計算ルールと、トレーリングストップの具体的な仕様がすべて割り出せました。

数値の規則性が非常に綺麗なため、MQL4コードへ完全に落とし込める確定仕様として整理します。

利確(TP)の算出ルール

利確幅は、例外なく「固定110pips(11.00ドル幅)」で固定されています。

履歴30(買い):エントリー4351.43 → TP 4362.43(プラス11.00ドル)

履歴58(買い):エントリー4354.95 → TP 4365.95(プラス11.00ドル)

履歴60(売り):エントリー4313.33 → TP 4302.33(マイナス11.00ドル)

履歴87(売り):エントリー4024.32 → TP 4013.32(マイナス11.00ドル)

注文が入った時点で、エントリー価格から正確に11.00ドル離した位置にTPが配置される仕様です。

初期損切り(SL)の算出ルール

初期の損切り位置は、ZigZagの「直近の対抗馬となる節目(山・谷)」の価格がそのまま適用されています。

履歴28〜29の買い注文(チケット11)を見ると、エントリー価格4351.43に対し、初期SLは4268.51に設定されています。この4268.51という数値は、それ以前の売り注文(チケット8など)が基準にしていた安値(谷)の数値と完全に一致します。

つまり、買いエントリー時の初期SLは「直近のZigZagの谷」、売りエントリー時の初期SLは「直近のZigZagの山」の価格をそのまま代入するロジックです。

トレーリングストップ(modify)のトリガーと挙動

履歴から、このEAには2パターンの決済移動ロジック(建値補正と追従トレール)が組み込まれていることが分かります。

  1. 建値プラス5pipsへの即時ロック(早期セーフティ)ポジションを持った直後、わずかでも利益方向に順行した瞬間に、SLを「エントリー価格からプラス5pips(0.50ドル)の利益側」へ一気に引き上げる挙動があります。履歴38〜40(買い):4246.34でエントリーした直後、SLが4246.84(プラス0.50ドル)に書き換わっています。履歴77〜78(買い):4044.26でエントリーした直後、SLが4044.76(プラス0.50ドル)に書き換わっています。ブレイク直後の反転による損失を避けるため、即座に手数料分以上のプラス圏にSLを移動させる非常にタイトな仕様です。
  2. 1時間足(H1)の確定に連動したSLの追従履歴44〜45のように、同じポジション(チケット15)に対して、17:00、18:00と「毎時00分」のタイミングでSLが4351.72から4353.36へと切り上がっています。これは、1時間足が確定するごとに、直近のH1足の安値(あるいは更新されたZigZagのライン)を追尾してSLを手動のようにカチカチと動かしていくトレーリングアルゴリズムです。

これらにより、基本仕様における決済周りは「初期SLはZigZagの反対側の頂点、TPは固定110pips。エントリー直後に5pips順行で建値上にロックし、その後はH1足の確定ごとにSLを順方向にトレールする」というロジックで確定できます。

ホントかなあ…笑 長くて読むのがめんどいですね。

まとめると、

・利確は+110Pips

・損切りは買いの場合、直近の谷の数値 売りの場合は山の数値

・1時間毎に損切りのラインを上げている

ということですね。

要件定義

綺麗にしたいのでAIにまとめてもらいましょう。

AIによる要件定義

これまでに判明した情報に基づき、MQL4コード作成のベースとなるEA「ZigZag Breakthrough」の要件定義をまとめます。

システム概要

本システムは、XAUUSD(GOLD)の1時間足(H1)を対象としたスイングトレードEAです。ZigZagによる明確な節目(高値・安値)のブレイクアウトを狙い、ADXのDIクロスをフィルターとして用いることでダマシを排除する仕様とします。

取引対象

  • 通貨ペア:XAUUSD(GOLD)
  • 時間足:1時間足(H1)

インジケーター設定

  • ZigZag:Depth = 12, Deviation = 5, Backstep = 3 (過去100本を計算対象とする)
  • ADX:期間 = 14

新規注文(エントリー)ロジック

  • 買いエントリー(Buy Stop)ADXのプラスDI(+DI)がマイナスDI(-DI)を上抜けた状態(ゴールデンクロス)であることを条件とし、ZigZagの直近の「高値(山)」の価格に逆指値注文を配置します。
  • 売りエントリー(Sell Stop)ADXのマイナスDI(-DI)がプラスDI(+DI)を上抜けた状態(デッドクロス)であることを条件とし、ZigZagの直近の「安値(谷)」の価格に逆指値注文を配置します。

注文管理およびキャンセルルール

  • ZigZagの新たな山や谷が更新された場合、またはADXの方向性が変わった場合は、未発動の予約注文(Stop注文)を削除し、最新の節目へ注文を再配置(スライド)します。

決済(エグジット)ロジック

  • 利確(TP)注文発動時のエントリー価格から、固定で「110pips(11.00ドル幅)」に設定します。
  • 初期損切り(SL)買い注文の場合は直近の「ZigZagの安値(谷)」の価格、売り注文の場合は直近の「ZigZagの高値(山)」の価格を初期SLとして設定します。

トレーリングストップ(Modify)ロジック

  • 第1段階(早期セーフティロック)エントリー後、価格が利益方向に一定(約10pips)以上順行した瞬間、SLを即座に「建値付近(建値+5pipsなど)」へ引き上げ、初期の大きなリスクを排除します。
  • 第2段階(リアルタイムヒゲ追従)第1段階のロック完了後、現在進行形のH1ローソク足が形成される過程において、価格がさらに伸びるのに合わせて、その現在足の最安値(買いの場合)または最高値(売りの場合)のわずか下にSLを張り付かせてリアルタイムに追従させます。
  • 第3段階(時間軸での繰り上げ)1時間足が確定する(毎時00分)ごとに、新しく確定したローソク足の安値・高値(または更新されたZigZagの節目)を基準にして、SLをさらに順方向へと繰り上げます。

便利な呪文(プロンプト)

それでは作ってもらいましょう。

EA制作の時の便利な呪文(プロンプト)

以下の内容で、MT4用のソースコードを全文書いてください。
かならず、MQL4の仕様で書いてください。
エラー、警告が出ないよう関数の互換性に気を付けた上でお願いします。
修正時もコードは修正箇所のみを示すのではなく、常に全文書いてください。
仕様としては以下の仕様です。
~...

エラーもなく綺麗にまとめてくれました。

最後まで読んでくれたあなたに

ここまで読んでいただき、ありがとうございます。

この記事を最後まで読んでくれた方へ、特別なプレゼントです。

今回開発したEAを無料でお渡しします。

ex4ファイルだけでなく、裏側の部分であるソースコードもどうぞ。

ダウンロードはこちらから
(ex4ファイル、ソースコードあり)

パスワードは「nona」です。

次回、本格的に数値を見ながらEAの検証をやっていきたいと思います。

次回予告

なんとかEAの開発までこぎつけたが、果たして利益が出るのか?

原本との詳細な違いを見ていきたいと思います!


【免責事項】 本記事(動画)で発信している内容は、特定のEAを独自に検証・解析したものであり、情報の正確性や成果を保証するものではありません。 また、投資の勧誘や助言を目的としたものではなく、実際の取引における損失等のトラブルについて、当方は一切の責任を負いかねます。EAの利用および投資のご判断は、すべてご自身の自己責任にてお願いいたします。

コメント

タイトルとURLをコピーしました