ふぅ、ようやく一息つける。夜の静かな時間に、コーヒーを飲みながらコードを眺める。これが僕にとって一番贅沢な時間だ。
最近、自分の開発データベースを整理していたら、昔書き溜めていた面白い戦略のメモが出てきた。名付けるなら「アダプティブ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