水平線を4本に増やしただけなのに。EA開発で直面した意外な難しさ
GOLD専用EA「転流 - TENRYU -」の開発記録、第2回です。
最初に作ったEAは、直近の高値と安値から水平線を1本ずつ引き、そこに価格が到達したら逆張りするだけのものでした。
レジスタンス1本、サポート1本。
合計2本の水平線を使う、かなりシンプルな仕組みです。
そこから開発を進め、2026年9月3日に水平線を4本へ増やしました。
一見すると線を2本追加するだけですが、EAの中では管理することが一気に増えました。
なぜ水平線を4本にしたのか
水平線を使った裁量トレードでは、一番近い高値や安値だけを見ているわけではありません。
少し前に形成された高値や安値も、価格が反応する候補になります。
ところが初期版のEAは、最新のレジスタンスとサポートしか管理していませんでした。
新しい高値や安値が確定すると、基準となる水平線が更新されます。
それでは、少し前の水平線を使ったエントリーを十分に検証できません。
そこで作成したのが、v0.6.1です。
最新のレジスタンスをR1、その前をR2。
サポートも同様にS1、S2とし、合計4本をエントリー候補にしました。
ただし、表示する線を増やしただけではありません。
どの水平線でエントリーしたのか
複数の水平線があると、価格がどのラインに反応したのかを管理する必要があります。
たとえば、R1とR2の価格が非常に近い場合。
両方がエントリー条件を満たしたからといって、同じタイミングでSELLを2回出してしまうのは避けたいところです。
そこで、複数のラインが同時に候補になった場合は、現在価格に近い方を優先する仕組みを入れました。
また、同じ方向の水平線が近接している場合、古い方のラインをエントリー対象から外すフィルターも追加しました。
このときの設定値はGOLD価格で0.50ドル。
ただし、古いラインをチャートから完全に消すという話ではなく、近接時のエントリー候補を整理するための処理です。
水平線が多ければ多いほど有利になる、というわけではない。
そうした問題に対応するための修正でした。
同じラインで何回エントリーしたのか
もう一つ必要だったのが、エントリー回数の管理です。
初期版から、1本の水平線につき最大3回までというルールはありました。
しかし、水平線が4本になれば、それぞれのラインについて個別に回数を管理しなければなりません。
さらに、同じ水平線へ何度も価格が接近した場合、無制限に注文を出さないための再エントリー条件や、クールダウンも必要です。
当時の設定では、ラインから0.50ドル離れると再びエントリー可能な状態に戻し、ラインから0.25ドル以内への接近をエントリー候補としていました。
クールダウンはローソク足3本分です。
M5チャートなら15分に相当します。
こうしたルールを、水平線ごとに管理していきました。
注文履歴を見ても、何が起きたのか分かるように
v0.6.3では、エントリーした水平線を注文コメントに記録する機能を追加しました。
さらにv0.6.4では、何回目のエントリーだったのかも記録するようにしています。
例えば、
BUY_S1_E1:S1からの1回目のBUYBUY_S1_E2:S1からの2回目のBUYSELL_R2_E3:R2からの3回目のSELL
という具合です。
これは地味な変更ですが、あとでバックテストを分析するときに役立ちます。
利益が出ているのはR1なのかR2なのか。
1回目のエントリーと3回目では、成績が違うのか。
こうした疑問を調べるには、まず取引を分類できなければなりません。
後に水平線別の成績を細かく調べられたのも、このような記録があったからです。
ロジックを増やすだけではEAにならない
この段階では、利確はまだ基本的に3ドル固定でした。
Role Reversalも、後から加える長期トレンドフィルターもありません。
やっていたことは、水平線を増やし、エントリーの仕組みを整理することでした。
EA開発では、新しい売買ロジックばかりに目が向きがちです。
でも実際には、注文を重複させないことや、エントリーした理由を後から確認できることも大切です。
水平線を2本から4本に増やしたこの時期は、そうした基本部分を作っていた段階だったと思います。
水平線から生まれる「転」を捉え、その先に続く「流」を追う。
GOLD(XAUUSD)専用のMT5 EAです。
- 水平線を自動で検出し、ヒゲによる接触やロールリバーサルにも対応
- 相場の流れが続く限り、段階的に利益を追従
- 固定ストップロス・時間損切り・新規エントリー抑制を搭載(マーチンゲールは不採用)
- 標準設定は0.01 lot/レンジブーストOFF
純利益 +1,242,820円 / 最大ドローダウン 24%
※バックテストは過去データによる検証結果であり、将来の利益を保証するものではありません。実運用前にデモ口座での動作確認を推奨します。
※本記事は2026年9月の開発ソースコードをもとにした記録です。登場する数値は当時の検証用設定で、現在の販売版の設定とは異なる場合があります。