ふぅ、ようやく一息つける。夜の静かな時間に、コーヒーを飲みながらコードを眺める。これが僕にとって一番贅沢な時間だ。

最近、自分の開発データベースを整理していたら、昔書き溜めていた面白い戦略のメモが出てきた。名付けるなら「アダプティブSuperTrend・ダイバージェンス追従戦略」。

名前だけ聞くと、いかにもシステムトレードっぽくて難しそうだけど、中身は至ってシンプルだ。ただ、その「シンプルさ」の中に、相場に対する知的なアプローチが詰まっている。これからEA開発に挑戦しようと思っている人に、この考え方の面白さを共有したいと思う。☕

「相場の嘘」を見抜くということ

まず、この戦略の核になるのが「ダイバージェンス」という考え方だ。

簡単に言うと、相場がつく「嘘」のこと。 例えば、価格は直近の高値を更新して上がっているのに、RSIという指標(勢いを測るもの)は逆に下がっている。これは「見た目は上がっているけど、中身のエネルギーは枯渇してきているぞ」というサインだ。

例えるなら、急勾配の坂道を車が登っているけれど、エンジン音が弱まり、速度が落ち始めているような状態。そろそろ止まって、逆方向に転がり落ちるな……と予想できる。

「感度」を動的に切り替えるというアイデア

さて、ここからがこの戦略の知的なポイントだ。

多くの人は、インジケーターの設定(パラメーター)を一度決めたら、ずっとそのままにする。でも、相場は生き物だ。常に同じ設定でいいはずがない。

そこで、この戦略では「SuperTrend」というトレンド追従型の指標を使いつつ、その「感度」を状況に応じて切り替える仕組みを取り入れている。

ここが面白い!:感度のダイナミック・シフト

  • 通常時: ATR乗数を「3.0」に設定。ゆったりと構えて、小さなノイズに振り回されない(ダマシを回避)。
  • 予兆検知時: ダイバージェンスが出たら、即座にATR乗数を「1.5」に縮小。感度を極限まで高め、トレンド転換の「最初の一波」を最速で捕まえに行く。

ずっと高感度にしておけばいいと思うかもしれないが、それでは日常的な小さな変動で何度も損切りに遭ってしまう。 「今は静かに見守る時間」と「今こそ勝負を仕掛ける時間」を、ロジックで明確に分ける。この切り替えこそが、システムトレードの醍醐味だと思う。📊

勝ちに行くための「大人のルール」

もちろん、アイデアだけでは勝てない。そこに「規律」という大人のルールを組み込む。

エントリーするのは、15時から23時という主要セッションの時間帯だけ。ボラティリティ(価格変動)がしっかりある時間帯に絞ることで、効率的に利益を狙う。

さらに、リスク管理も徹底させる。1回あたりの損失を口座残高の1.5%に設定する。 「1回の大負けでゲームオーバーにならない」仕組みを組み込んで初めて、心穏やかに自動売買を走らせることができるからだ。

実装へのアプローチ

もし君がこれを形にしたいなら、道は二つある。

Pythonを使うなら、taライブラリでRSIとATRをサクッと計算し、条件分岐でSuperTrendの乗数を書き換えるロジックを組むのがいいだろう。 一方、MT5(MQL5)で実装するなら、iRSI()iATR() を使ってダイバージェンスを判定するルーチンを作り、CTradeクラスでエントリーを制御する。

どちらにせよ、重要なのは「価格と指標の矛盾を見つけ、システムの感度を変える」という流れをコードに落とし込むことだ。

おわりに

プログラミングやEA開発と聞くと、「数学が得意な人がやる難しいこと」と感じるかもしれない。でも実際は、自分が考えた「相場の仮説」を、ひとつひとつパズルを組み立てるように形にしていく作業なんだ。

「もしここでこういう予兆が出たら、こう反応させたい」 その思考を形にして、バックテストで結果が出た瞬間の快感は、一度味わうと病みつきになる。

難しく考える必要はない。まずは小さなアイデアを、ひとつずつコードに変えてみる。そんな知的な遊びを、君にも始めてみてほしい。💡\n