「FXのEA(自動売買システム)で安定して勝ちたい…」
「自分だけのオリジナルEAを作ってみたいけど、何から始めればいいんだろう?」
「EA開発のリアルな過程や、直面する壁、そしてそれをどう乗り越えていくのか知りたい…」
多くのトレーダーが一度は夢見る「聖杯」とも言える高性能EAの開発。しかし、その道は決して平坦ではありません。この記事は、私、Dysonblog運営者のdaitoが、実際にEA開発に挑戦し、数々の試行錯誤を繰り返しながら高勝率EAの構築を目指すリアルな記録です。
特に、移動平均線(MA)とVWAP(出来高加重平均価格)を組み合わせたロジックを深掘りし、その過程で直面した課題や、解決のためにどのような思考を巡らせたのか、具体的なバックテスト結果(画像イメージ含む)も交えながら、包み隠さずお伝えします。
この記事を読むことで、あなたが得られるもの
- EA開発の「理想と現実」を垣間見ることができます。
- 具体的なEAロジック(MAとVWAP)構築のヒントやアイデアを得られます。
- 開発プロセスにおける問題解決の思考法やアプローチを学べます。
- バックテストの重要性と、ティックデータ品質100%での検証の厳しさを理解できます。
- そして何より、諦めずに挑戦し続けることの価値を感じていただけるはずです。
EA開発初心者の方から、現在開発で壁にぶつかっている方まで、何かしらの気づきやモチベーションに繋がれば幸いです。
なぜEA開発なのか?裁量トレーダーが自動売買に挑む理由と最初の壁

私がEA開発に本格的に取り組み始めたのは、長年の裁量トレード経験の中で、いくつかの課題を感じたからです。
- 24時間相場を監視し続けることの限界。
- 感情に左右されない、一貫したルールベースの取引への憧れ。
- 自分のトレードアイデアを形にし、客観的に検証したいという探求心。
最初に目を付けたのは、裁量でも得意としていたチャネルラインをベースにしたEAでした。オリジナルのロジックを組み込み、MQL5で自作インジケーターを改造するところからスタートしました。
【挑戦ログ①】チャネルラインEAの挫折
意気揚々と開発を始めたものの、チャネルラインの判定ロジックが複雑になりすぎたのか、EAの動作が非常に重くなってしまいました。バックテストにも膨大な時間がかかり、最適化作業もままならない状態に…。悔しいですが、このアプローチは一旦断念せざるを得ませんでした。

EA開発では、最初のアイデアがそのままうまくいくことは稀です。重要なのは、問題点を早期に認識し、柔軟に方針転換できること。この最初の挫折は、後の開発に活きる貴重な経験となりました。
原点回帰と新たな発見:MAベースEAへのシフトと「キリ番戦略」の可能性

チャネルラインEAの失敗を受け、もっと軽量でシンプルなロジックに立ち返ることにしました。そこで目を付けたのが、過去に作成した移動平均線(MA)をベースにしたインジケーターです。これを基盤に、再度EAの構築を始めました。
その過程で、「MAよりもキリの良い価格(ラウンドナンバー、いわゆるキリ番)を意識した方が、実は資金効率が良いのでは?」という仮説に至りました。実際にキリ番を意識したロジックでバックテストを行うと、興味深い結果が得られました。
キリ番戦略のほうが資金が増えている






キリ番のほうが利益は出ますが、ティックチャートの場合には損切りが近いので負ける可能性が高いと考えました。
上の画像は、移動平均線ベースのEAとキリ番ベースのEAのバックテスト結果を比較したものです(詳細は伏せますが)。確かに、特定の期間ではキリ番戦略の方が利益が伸びる傾向が見られました。
しかし、ここでも新たな壁に直面します。ティックデータ品質100%(全てのティック情報を使った高精度なテスト)で検証すると、キリ番戦略は損切りラインが近すぎるために、ダマシに引っかかりやすく、期待したほどの成績が出ない可能性が高いと判断しました。これもまた、一つの「断念」でした。
EA開発は仮説と検証の繰り返しです。「良いアイデアだ!」と思っても、厳密なテスト環境では通用しないことが多々あります。特にティックデータ品質100%での検証は、EAの真の実力を測る上で避けては通れない道です。
試行錯誤の核心:MAとVWAPの融合と「ティックデータ100%」への挑戦

キリ番戦略の限界を感じる一方で、MAベースのEAには依然として可能性を感じていました。しかし、大きな課題もありました。それは、「レンジ相場で損失を出しやすい」という点です。「パッと見た感じ、レンジでどんどん資金を減らしている可能性が高そう」という直感がありました。
このレンジ相場対策として、様々なインジケーターの導入を検討しました。
- RSIやRCI、ストキャスティクス: レンジ判断や逆張りの指標として有名ですが、私のEAロジックとの相性や、フィルターとしての効果を検証する必要がありました。
- ボリンジャーバンド: スクイーズ(バンド幅の収縮)でレンジを判断できますが、エントリーチャンスが極端に少なくなる可能性がありました。
- 自作チャネルラインインジケーター: 以前断念したものを改良して使えないかとも考えましたが、やはり「待つ」時間が長くなる懸念がありました。
試行錯誤を重ねる中で、最終的に「移動平均線(MA)」と「VWAP(出来高加重平均価格)」、そして「プライスアクション」を組み合わせるという現在のEAの核となるロジックに辿り着きました。VWAPは機関投資家も意識すると言われる重要な指標であり、MAとの組み合わせでトレンドとレンジの判断精度を高められるのではないか、と考えたのです。
ここからが、本当の意味での「ティックデータ品質100%で利益を残せるEA」への挑戦の始まりでした。
【実践】MA+VWAP EAの驚異的なバックテスト結果

MAとVWAPを組み合わせた自作EAのパフォーマンスを、MQL5のストラテジーテスターで徹底的に検証しました。以下は、その過程で見られた代表的なバックテスト結果のイメージです。(※実際の数値や期間は元記事の情報を元にしていますが、ここではイメージとして捉えてください)
初期バージョンからの改善:ドローダウンの抑制とプロフィットファクター向上
マイナス値をチューニングしました。


こちらは10時から16時のものだけです。24時間にすると凄まじい利益が出ます。
下記が以前のバージョンです。ドローダウンが3%だったを1%未満に改善したことで、プロフィックファクターも向上し、2.40から3,41に向上。利益も4000ドルから6000ドルに向上。


初期のロジックでは、プロフィットファクター(総利益÷総損失)が2.40程度、最大ドローダウンも3%程度でした。これを、ロジックの調整やフィルターの追加(例:取引時間帯の限定 10時~16時など)によって、プロフィットファクター3.41、最大ドローダウン1%未満へと大幅に改善させることに成功しました。利益額も約1.5倍に向上しています。
時間フィルター解除時の爆発的な可能性:10年間で数億円!?
取引時間フィルター(10時~16時)を解除し、24時間稼働させた場合の10年間のバックテストでは、さらに驚異的な結果が出ました。
ここで、時間フィルターを10から16時を解除します。結果がこちら。200000ドルを突破。


続いて、過去10年間の10から16までです。100ドルから初めて、27000ドル




では次は証拠金の10%で時間制限を解除した普通のバックテストを行ってみます。10年。100ドル(1万4千円)からスタートした結果がこちら。



もし為替レートが 1ドル = 142.83円 である場合、
34,000,000ドルは
48億5622万円
になります。
(計算式: 34,000,000ドル × 142.83円/ドル = 4,856,220,000円)

ちまたでは元資金が必要で、遥かにトレード回数も重ねられず、利益が得ると言っている人が多いですが、流石にすべてを凌駕する性能でここまで優秀な結果を叩き出している人は見たことがありません。
資金の0が1つや2つ多くて、なおかつ、年数も倍以上するのが多い中曽野資金の10の1くらいで、なおかつ年数も半分以下で、ドローダウンも10%未満は驚異的だと私は感じています。
勝率はどうでもいいですが、それでも90%はありえない数字です。本来良くても60%~70%が普通です。
すべてが異常値。
なので、仮に20年間らな90億以上になります。1万円が20年で90億です。つまり、もっとリスクを取れば更に早くなり、ドローダウンも他のEAとは比べ物にならくない優秀なので実現可能。
1万円で3つくらい運用すればもしもどれかがなくなっても証拠金の%を安定とハイレバにしておけば比較的にすぐに利益になる計算。
初期資金100ドルが、10年間で数千万ドル(当時のレートで数十億円)に達するという、まさに夢のような結果です。もちろん、これはあくまでバックテストであり、様々な要因(スリッページ、スプレッド変動、FX会社の約定力など)によって実際のパフォーマンスは変動します。しかし、このEAが持つポテンシャルの高さを示すものと言えるでしょう。
ちまたには、多くの資金と長い年月をかけても、これほどのパフォーマンス(特に低ドローダウンと高プロフィットファクター)を叩き出すEAは稀だと感じています。勝率90%というのも異常値ですが、これは私のロジックが高勝率型であることを示しています。重要なのは、単に利益額が大きいだけでなく、リスク(ドローダウン)を抑えつつ、安定して利益を積み重ねられるかどうかです。
パラメータ最適化の過程:MAの期間、VWAPの活用
EAのパフォーマンスをさらに向上させるため、MAの期間設定(例:短期MA2と長期MA3の組み合わせなど)や、VWAPの計算方法(Simple, Exponentialなど)について、様々な組み合わせをテストしました。



こちら約1周間で33万円で、ロット数は0.01。驚異的です。
以前はスプレッドとティックの動きと品質が24%でこのような結果を出しましたが、今回は話がちまいます。
スプレッド込、ティックデータもつかい、品質は100%。

プロフィットファクターは3,28。良くても1,60なのが普通ですが、これは一体。
ドローダウンステイル部分を調査しました。
MA20と25

VWAP

MA2と3

MA3と4や5と10や5と25も似たような結果。

この2つが一番場フォーマンスが良く似ていました。



シンプル


MAL


さほど変わらないのでSimpleで行きます。
2と3で日本時間の今回は10から16まじで稼働させたデータです。
1万から50万円以上に増えたことになります。

1ヶ月に10万円だとすると30万円になりました。
では、資金な%で運用してみましょう。10万円で10%を想定した場合。3千万円。

平行に見えてる部分は実は取引していいるんですよね。上の吹き出しは10万4千円くらいです。
これでも、この一で400万円です。

では、時間を開放し、レバレッジ100倍で、限界まで上げてみました。


ゲージが収まりきれておらず、文字にまでグラフがかかっているのでエグい利益ですね。

超安定運用で、3700万円(1月から4月まで)証拠金100%でこちら

70%

効率が悪そうだったので50%で試します。
4600万円
証拠金を減らすことで取引できる回数が増えることが原因だと思います。

10%を試します。

4千万くらい
ロット数を上げていくので相対ドローダウンは20%(巷では50%でも優秀とされている)
2.98
リスクをできるだけ取らない運用システム



結果として、特定のMA期間の組み合わせや、VWAPの特定の計算方法(例:Simple)が、私のEAロジックと相性が良いことが判明しました。このように、地道なパラメータ最適化作業が、EAの性能を大きく左右します。
それでも残る課題と「リアルティック攻略」への飽くなき探求
これだけの結果が出ても、まだ完璧ではありません。現在のEAにも課題は残っています。
- 大きなレンジ相場でのパフォーマンス低下: トレンドフォロー型のロジックであるため、長期間続くレンジ相場では、細かな損失を繰り返してしまう傾向があります。この「レンジ対策」が今後の大きな課題です。
- 複数ポジション保有の是非: 保有中でもエントリーチャンスがあれば追加でポジションを持つ(ピラミッティング)機能を試しましたが、結果的に損失を拡大させるケースもあり、現在は1ポジション保有を基本としています。
- 損切りロジックの更なる最適化: VWAPを基準としたトレーリングストップや、プライスアクション(包み足、ピンバーなど)をトリガーとした損切りなど、より精度の高い損切りロジックを模索中です。
そして、究極の目標は「全ティックではなく、リアルティックでの攻略」です。バックテストはあくまで過去のデータ。実際の相場(リアルティック)で安定して利益を出し続けるためには、スプレッド変動、約定遅延など、バックテストでは再現しきれない要素も考慮に入れたロジックと設定が求められます。
この「リアルティック攻略」こそが、EA開発者にとっての永遠のテーマかもしれません。
下記が実際の最適化作業の1例でこのような作業を何ヶ月の何時間も続けてコツコツ改善していくのが基本です。
MA高勝率とEAとチャネルライン自作とVWAP自作




続けていくと下記のような負けが増えていきます。


つまり、大きなレンジが続けば負けが増えるので、この場合の対策を考えなくてはいけません。
しかし、それでも、資金が5倍近くまで1ヶ月です。(役4.5倍)


こちら、品質100%で、1分足で、ティックベースでの取引です。





下記は損切り位置がおかしい。エントリー方向と逆の方向。つまり、上エントリーであれば、WAPの下スプレッド2倍に設定しないといけない。また、VWAPが移動するたびにこの損切りラインは追尾する。

追加:週、月がレンジの場合はどちらもエントリー可能機能。保有中でもエントリー可能。


上記はデモとバックテストの実験チャートです。
- 1実験:保有中でもエントリーできるようにする。損が増えるリスクと機会損失をプラスにできるメリット。
- 2実験:レンジでの取引。上記と同じ理由。 結果悪化。
- 3実験:レンジポジションがマイナスのときトレンドになったら損切り。トレンドポジションがマイナスになって、レンジになったら損切り。
2つを追加したらこのように成績が悪化。つまり、レンジ取引はマイナスになる可能性が高い。

デモトレでもこのようです。つまり、

では、ポジションがあってもエントリーする機能のみ実装はどうでしょうか?

こちらも大きな損害が出ます。なので、1ポジションが良さそうです。
下記は試しているコード。
では、再び通常版にもどし、色々機能をつけてサイド確認していきます。このとき、少し長く、4ヶ月ちょっと実行します。

損切りの最適化を模索:MA+VWAPのドローダウン対策
MA+VWAPのドローダウン対策
利益が出て入るが、ドローダウンが痛い月を選定。

ここで、RCIフィルターを適応。

最適化RCI追加で方向フィルタの強化で、下落の大損と、適切なエントリー初動を見極める。
損切りが増えて違うような気がした。
対策とし、損切りを設定すると細かく損切りされてしまう問題をどう解決するか。
長期フィルターをかけて、損切りフィルターもかけたが、負けに転じたので、今度は長期フィルターをかけずに損切りすることに。

バックテストが長すぎて何度も回せなくてかなりしんどい。
計算処理が長いので一旦ピップスにして、逆にマイナスにならないメリットのほうが大きと考えました。つまり、今回のRCIはいらないということでオフに。そして、2ヶ月くらい回します。
色々対策する前にどんなときにマイナスになっているのかビジュアルで確認したほうがいい気がしています。
なので、数ヶ月回します。
勝てる理由として、損する幅と利益を出す幅が同じだと資金が増えないという原理だと考えています。

白が売上だとします。赤が経費で損が出るとします。残った緑部分が利益になります。
こんな考え方です。
なので、相場が大きくレンジならいつまで経ってもプラスにはてんじないが、相場がトレンドになればある程度利益は見込めるという戦法です。
なので、上記の利益が出ない月は損が出ていないのであれば良い月と考えてOKにする必要があると考えました。
- 利益を出そうとすると損が大きくなるがトントン。
- 損を減らすと利益も損に転じてきて結果的にマイナス。
こんな状態です。
数ヶ月待ってプラスになるようであれば良しとします。
現段階では裁量で損切りです。
全然バックテストが終わらないので諦めました。

ではここで、コードを最適化したいと思います。
大負けの傾向は見るまでもないですが、念の為。
3つの画像では大負けは裁量ならほとんどやらない大負けです。しかし、EAでプログラムするのは複数の動きに対して適切な損切りを設定しないといけません。しかし、そうすると利益を出す場面でエントリーができなかったりとむずかしい。



また、土日にバックテスト検証をしていて築いたのですが、ゴールド並みの良さではないものエクスネスでも仮想通貨のBT






こう見ると割とサブとして優秀かもしれません。
しかも他社ではロット数などがバラバラで切り替えるのが大変ですが、BTCは0.01でエントリーできました。
これは土日の検証に有益かと思います。
イーサは0.1でBTCは0,01でした。レンジ取引を実装済み。
試験コードで試す
レンジ取引を実装済み。
試験コードで試す
VWAPインジケーターをダブル傾斜にする予定 VWAPの先が曲がるティック問題も対策予定 クリア
試験コードで試す
VWAPインジケーターをダブル傾斜にする予定 VWAPの先が曲がるティック問題も対策予定 クリア
試験コードで試す
検証結果として、傾きは10でしたが、レンジの時間帯が一日続き事を考えたら取引できないので、0にし勝率を落とすが、トレードする保身に変更。
これにより、レンジでの裁量ではなく、レンジでも方向性が明確になるのでより裁量が極めることができます。
少ないが、傾き0でも3日間キープしているので、これで良いかもしれません。あとは裁量の調整が入ることでプラスに転じます。

この最小がまだ言語ができていないので、なんとも言えないです。
ここで、1つ思考しました。
レンジでも勝てており、それは今回の取引ではなく、レンジではどうするかという思考プロセスを追加したためです。
なので、ここでレンジロジックを実装します。
考え方は20以内ならレンジ。
取引ロジックは同じで、VWAPの方向。つまり中心に向けてエントリーサインが満たせば有効化。
損切りは直近のフラクタルの最高と最安値。
これなら、レンジの大損は避けられるのではと考えました。レンジ取引を実装済み。
試験コードで試す

さほど決が良いとは言えませんね。
何もしないのと変わらないですね。
では、次はトレンドエントリーはレンジになると決済。
レンジではボリバンシグマ1でのタッチエントリーに切り替えてサイド検証します。
トレンドエントリーのポジションはレンジになったら決済するをオン。 レンジ取引ではバリンジャーバンドのシグマ1のタッチエントリーでMAはオフ。 この2つの機能を追加しオンにしてRCIとRSI適応
試験コードで試す
RCIとRSIのインジケーター
試験コードで試す
あと、文字下落率などが、時間帯で特定できればその時間帯はトレードしないなど対策できるかも。
ここで大きく資金を理由として高値掴みをしているので、それをしないようにするのは。1日の平均値の70%までエントリーしてそれ以上は反転する可能性が高いのでRSIやRCIなどで反転ポジションを狙う損小利大で、戦う。つまりフィボナッチやハーモニックパターンを活用すると良さげ。
なので、問題はレンジではない。レンジはどうでもいいとして、傾き0でレンジではなく、問題は頂点で掴んでそれを村議られること。
単純で大きな転換が来たらVWAPの方向にエントリーするようにするのがベスト。
使用は1日の平均値を超えており、RSIが買われすぎ売られすぎ、まずはここを試し、だめならハーモニックを加えるのもあり。
RSI14とRCI52が良さげ。
もし、VWAPが近い位置にあったら大きな時間軸の方に損切りをセットするようにして
RCIとRSIの売買ルールを一旦すべてオフにし、新しいルールををオンにして、このルールはRCIがRSIよりも上に位置していれば買い。下に位置していれば売りサインとなります。このときその一になってポジションを保有中はロングの場合にはショートのサインになれば保有しているポジションを決済します。売りもRCIがRSIよりも上にいたら決済。RCIとRSI適応
試験コードで試す
決済システムRCIのみで検証してください。RCIとRSI適応 試験中
試験コードで試す
RCIとRSI適応 試験中
試験コードで試す
ログを日本語化して
複数ポジションを持っている場合にRCIとRSIの決済サインが出たら全て決済するようにして
VWAPの方向のみエントリー可能にして、この最初の条件と一致しない方向ならエントリーできません。
決済のみ二変更。
ショートロジックがおかしい気がする。頑張って修正している
試験コードで試す
単純に本のコードにRCIインジケーターを追加。
損切りルールを構築。
本のコード
調整中
試験コードで試す
損切りルール
ロングポジションを保有中、RCI80以下の時、80以上担ったとき、損切り準備モードで警戒します。80以下担ったら損切り、利確、決済します。RSIは80以下、70以上、70以下で同じルール。
ショートポジションを保有中、RCI20以上の時、20以下担ったとき、損切り準備モードで警戒します。20以上担ったら損切り、利確、決済します。RSIは30以上、30以下、30以上で同じルール。
RCI追加 クリア
RCIで損切りルール実装 今。RCIとRSIのインジケーター
試験コードで試す
RCIとRSIのインジケーター
試験コードで試す
最新版完成:細かい調整中1
試験コードで試す
最新版完成:細かい調整中2
試験コードで試す
VWAPバンドもやはり使えるので根拠足しにいいかも。
80、70以上の場合にはロングエントリーを見送る。
30、20以下の場合にはショートエントリーを見送る。
この設定をオンにし、オンオフできるようにして最新版完成:細かい調整中2 日本語化成功!!!!
試験コードで試す
こちらが初期バージョンです。

過去は14000あたりだったのが16000担ったので収益率は向上しているかもです。

それと、これはRCIとRSIの独断損切り利確決済なので、これに200ポイントでのトレーディングストップでどうなるかと、ピラミッティングでどうなるかの検証をしていません。ここも気になります。
下記がやることリスト
同じ期間で高値圏をオフにして検証。
そのあと、高値オフかオンで統一し、下記を検証。
単純に、1月10~15日の間のドローダウンを検証したい。
- 通常のオフかオンで検証。この結果を超えるか下を確認。(オフで実行中)
- トレーディングストップ200Pointでの検証。
- ピラミッティングでの検証。
では早速見ていきます。
あと買われすぎ売られすぎはエントリーしないをオンにしているのでそれを切ったらどうなるか。

単純に、1月10~15日の間のドローダウンを検証したい。
トレーディングストップ200Pointでの検証。
買われすぎ売られすぎをオンにすると下記のようにエントリーがされなくなるので損失が更にいさ得られる。


上記の損もRCIとRSIで大分損を軽減できています。以前のバージョンと比べると。
ピラミッティングでの検証。
下記のような部分でピラミッティングしたい。

レンジのときに負けが多くなります。レンジを0から20などに上げれば個々の部分を取引しないとことは可能ですが、取引したいです。


なので、20以下のときはレンジ取引になり、この場合にはMAのみでのエントリーと利確を設定し、損切りはエントリーした前のロウソク足に損切りをセットする機能を追加。
レンジの場合にはレンジのRCIとRSIを設定するばいいのでは?
もしかすると、利食いなしなら小さくレンジルールでもいけたらこちらのみでもいいかもしれないことに築く。つまり、通常の数値を変更するだけ。
先に通常の数値をRCI9RSI3で再度トレードさせてみます。RCI9 バクテストの表示が違うが数値は同じ。
試験コードで試す
試したいこと、
RCI9とRSI3でレンジでもOK。

少し減りづらくなりました。RCI9とRSI3の設定かと。
数値を小さくしたことで結果的にドローダウン率が減りました。これはMAのときと同じ現象です。
ここで新たなアイディアを思いついたので脱線します。
次に負けの確率を減らしたいのですが、エントリーフィルターにVWAPの基準偏差でラインに一番近い偏差から上なら上サイン、下なら下というフィルターを追加。 色分け完了。VWAPb自作
試験コードで試す
VWAPb自作 標準偏差で色分け調整
試験コードで試す
VWAPb自作 標準偏差で色分け調整
試験コードで試す
VWAPb自作 標準偏差で色分け調整 サイン付き矢印
試験コードで試す

このように完全オリジナルのどこにもないインジケーターを開発に成功。
サインで売買するEAを作ってみました。

結果は意外と良くなかったです。

ここで、
RCIとRSIでの売買サインを活用するか
VWAP偏差基準値を活用するか
の結果として感覚的にRCIとRSIのほうが良い気がしました。
今の段階では下記。
- VWAP+MA 採用
- VWAP+VWAP偏差 不採用
- VWAP+RCI/RSI 採用
高値安値でのエントリーは見送る設定で凹んでいた部分のトレードを検証。
画像

RCIとRSIで損切りというルールであってエントリーはMAのままなので、ポジション保有していてもエントリーできるようにして、その複数ポジションもRCIとRSIのルールで決済されるようにして
また下記のようなレンジが続く相場では、コツコツ負けてくので、MAエントリーをオフにして、RCIとRSIエントリーを追加することでレンジの対応が可能になるかもしれません。

最新のEAコード RCIとRSIエントリー主軸ロジックを追加 保有中でもエントリー可能。 ボリンジャーバンド戦略追加
試験コードで試す
つまり、次の検証としてはMAだと小さいレンジに対応できないため、オシレーターのティックの動きでエントリーと損切りできるようにすることで小さいレンジや急な大きな損切りを回避。
画像検証

今はVWAPの方向をつけているが、もしかすると外しても機能しそうな予感。
画像検証
試したいことはRCIとRSIどちらかがVWAP偏差のラインに振らたときに設定レベルを抜けたらエントリー
上記のナシ。
20レンジならバンドタッチでエントリー、20以上ならMAで損切りRSIとRCIで損切り・
トレンド MAとMA 23
レンジRCIとRSI 9と3 候補32
損切り VWAP 上限下限では追加エントリーしない
これで大きな損を利益に変える
上記は
レンジだと負けが増えるのでレンジはボリバンとRCI RSI
トレンドは攻略
傾きで偏差トレンド表示 レンジはボリバン表示
根本的にレンジ相場で勝てる方法を見いつけるのが優先
損切りはトレンド発生したら決済 b rc rs
ボリバンでレンジエントリー
損切りは偏差値はどうかな?
トレンドでは勝てるがレンジが難しい問題を考える
ブレイク確定と騙し確定を判断できるようにして クリア
チャネルラインの実装をしたい。 クリア
ボリンジャーバンドタッチは 200トレーディングで、他の条件と一致したらエントリーで、1、2、3どれも一致したらタッチ。(12時から15時の間はレンジモードに切り替わる)
ボリバンを少し表示追加し、抵抗体を確認するのを実装。
確認のため、全ボリバンを表示するボタンを追加。MTFボリバンを追加して機能すれば使いたい。
エントリーと損切りの幅で資金の損失何%を調整できるEAシステムを追加。
- パターンインジケーター クリア
- BBインジケーター 今
- ロット計算自動売買EA まだ
試行錯誤しているコード
こちらはデモですが、実際の裁量取引です。
このように期待値をプラスにできるいます。一定の有益性の証明に慣れたかと思います。

実際のトレードでは最良が大きいので、こちらを明確化できている人は少ないため、再現性が低いと感じていました。
ですが、そこをどうにか支えたいと考え自分なりにカバーできる再現性を高くする方法を考えて構築したので紹介します。
感覚を再現できないと手法が勝てる手法でも真似できないし、納得行くトレードや負けも納得いきません。手法はすごくて実績もすごい人の方法を実践するのはとても良いと考えますが、ほんとうの意味での再現性が薄くそこで多くに人がつばづいているかと思います。
私も6年以上携わってきて思ったので見ている部分が違うだけでさほど難しくないという視点です。
そして、狙いを定めて1日トレードできるときと出来な時があるなど、そういった手法も勝てるけどもっと取引できるトレードに憧れて始めたのにと考えて悩む人が多い。
トレンドのみ取引してレンジは取引しないといったアタリマエのことでも勝てるけどここでもどうにかトレードしたいという気持ちがすてきれない人が多い。
最終的に理想的なトレードをしたいけどほとんどの人が狙いを定めて一日数回、このようなトレードが多く、更に海外でのスキャルもゲキムズなので誰も実現する人がいない現実。
いつでもどこでも誰でも主婦でも学生でも会社員でも海外でも国内でも仮想通貨でも株でもFXでもあらゆるCFDでもトレードして利益を出せるトレーダーになりたいと考えています。
それが今回の集大成の手法となります。
他のも色々考えてメモ
1時間15分5分で分析し、エントリーは1分足。
チャートパターンとローソク足の動きを確認し相対的に今どちらにエントリーするのが大衆的に多いのか確認。
トレンドはジグザグで2点引く。
ローソク足のプライスアクションが出たらラインを固定。
その量が多い方に乗っかっていき、その数が少ない逆張りは秒で利確。
逆張りは大きな抵抗タッチで反発を確認してからエントリー。スキ順張りは長く保有。逆張りはすくに利確。レンジもすぐに利確。
トレード中は目を離さないか、利確をめちゃ近くに置くこと。
一瞬の利確を逃すと一瞬でマイナス。
ブレイクエントリーはすぐ利確。
ブレイク後の勢い弱い、強いラインタッチでエントリ^ー更に早い利確。
その後の押し目フィボプライスで眺めのエントリー。これが利食いできる保有。
- MTF分析を追加。
- あと水平線を足せばほぼほぼできる。
- 水平線を追加。
- トレンドラインで三角持ち合いと並行チャネルと逆三角持ち合いを判定できるようにする。
- Fibonacciを確認できるようにする。
勝てる部分では追撃している。
スナイパーのように伸びそうな部分で損を小さくし入りたいけど入れないのタイミングで相場が傾き始めたなエントリー。すぐに損切りを建値。
デモ口座ですが、資金が倍になりました。これで2つ目の口座を倍にしました。かかった時間を1日。ロットもそこまで貼っていません。


この次の日。

ある程度3倍にしたので優位性があるかと思います。
スイングハイローの抵抗でトレンドラインを引くというのも良さげ
https://www.fxnav.net/mt4navi/swing_point_view
ジグザグのほうが調整しやすい。
一番外側にあるジグザグの高値を総合的に見つけてラインを引けますか?
水平チャネル特化のインジケーターをトレンドにするだけも良い案
取引ルールの施策案
- 1時間足、15分足、5分足、1分足を活用。(ツールはトレンドライン、水平ライン、Fibonacci、チャネルライン)
- 1時間足→15分足→5分足→1分足で方向性と大きなチャートパターンを確認(上昇トレンド、過去に三角持ち合いブレイク後のダブルトップなど)
- 1時間足→15分足→5分足→1分足で直近3本ぐらいのローソク足の形を確認(レンジブレイクで大きなローソク足後の下降ヒゲピンバーなど)※このとき、チャートパターンに沿ったローソク足の動きや、抵抗がない場合に限りエントリーを検討。
- Fibonacciの中央3本程度の反発も考慮し、プライスアクションが上位足と逆らわないまたは有利なときのみエントリー。
- ティックチャート、価格の注文の色、ローソク足の動き、この3つでどれでもいいので自分が見やすいもので大衆心理を確認。エントリーやエントリーした後の損切り、利確などで活用します。
- エントリーは全部で4つ。順張りブレイクとブレイク戻り(弱気スキャ)→順張りブレイク押し目(強気スキャ)→順張りブレイク追撃(弱気スキャ)→強い抵抗重なりでのタッチ付近での逆張り(秒スキャ)。
Fibonacci自動化
チャネルライン自動化
EA開発ツールとMQL5コードについて(参考情報)

私がEA開発で主に使用しているのは、MetaTrader 5 (MT5) とそのプログラミング言語である **MQL5** です。MT5は高機能なチャートツールであると同時に、EAのバックテストや最適化を行うための強力なプラットフォームも提供しています。
インジケーターに関しては、以下のようなものを自作または既存のものを改造して使用しています。
- 改良型チャネルラインインジケーター: 視覚的に分かりやすく、バッファを利用してEAから数値を読み取りやすいようにカスタマイズしたもの。
- 自作VWAPインジケーター: 独自の計算方法や表示方法を取り入れたもの。
- MA(移動平均線): MT5標準のものをベースに、特定の条件で色が変わるなどの工夫を加えることもあります。
EAのMQL5コードについては、そのロジックの核心部分はここでは公開できませんが、基本的な構造としては、`OnInit()`(初期化)、`OnDeinit()`(終了処理)、`OnTick()`(ティック受信時の処理)といった関数内で、上記のインジケーターから値を取得し、エントリー条件や決済条件を判定しています。
例えば、MAとVWAPのクロスをエントリーシグナルの一つとする場合、以下のようなイメージのコード(簡略化)になります。
// グローバル変数でMAとVWAPのハンドルを宣言
int ExtMAHandle;
int ExtVWAPHandle;
// OnInit() でインジケーターハンドルを取得
void OnInit() {
ExtMAHandle = iMA(_Symbol, _Period, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
ExtVWAPHandle = iCustom(_Symbol, _Period, "MyVWAPIndicatorName", VWAPPeriod); // 自作VWAPインジの場合
}
// OnTick() でシグナル判定
void OnTick() {
double ma_value[1];
double vwap_value[1];
CopyBuffer(ExtMAHandle, 0, 0, 1, ma_value);
CopyBuffer(ExtVWAPHandle, 0, 0, 1, vwap_value); // VWAPインジのバッファ番号に合わせる
// MAがVWAPを上抜けたら買いシグナル、など
if (ma_value[0] > vwap_value[0] /* && 前のティックでは下だったかなど追加条件 */) {
// 買い注文処理
}
}
※上記はあくまで概念的なコード例です。実際のEAはより複雑な条件分岐やエラー処理、資金管理ロジックなどが含まれます。
MQL5でのEA開発は奥が深く、プログラミングの知識も必要となりますが、自分のアイデアを形にできる非常にやりがいのある作業です。

渡しの場合ですが、MQL5でいうと1500行くらいはサンプル程度です。
3000行ぐらいがいろいろな対策を行ったEAの完成形くらいです。

文字数だとこのくらい。
10個作って、組み合わせて5個、削って3個勝てるかどうかで、2個、最適して、なくなる。という感じの繰り返しです。今回はある程度形になったので記事にして共有しました。
まとめ:EA開発は終わらない旅。凡人でも諦めなければ道は拓ける

この記事では、私が取り組んでいるFXのEA(自動売買システム)開発のリアルな挑戦記と、MAとVWAPを組み合わせたロジックの構築・検証プロセス、そしてその過程での思考法を共有しました。
EA開発から学んだこと・伝えたいこと
- EA開発に「聖杯」はない: 完璧なEAを求めるのではなく、自分の戦略に合ったEAを地道に作り上げていくプロセスが重要。
- 試行錯誤の連続: アイデア出し → 実装 → バックテスト → 課題発見 → 改善… このサイクルを何度も繰り返す根気が必要。
- バックテストの重要性と限界: ティックデータ品質100%での厳密なテストは必須。しかし、それでもリアル相場とは異なることを常に意識する。
- ロジックはシンプルから: 最初から複雑なロジックを組むより、シンプルなロジックを検証し、徐々に改良していく方が効率的。
- 課題は必ず出てくる: レンジ相場対策、ドローダウン抑制、パフォーマンス最適化など、乗り越えるべき壁は次々と現れる。
- 諦めない心: 開発は時間と労力がかかります。「凡人でも諦めずに続ければ、道は拓ける」と信じています。
現在の私のEAも、まだ開発途上であり、さらなるパフォーマンスの最適化や、ドローダウン率の最適化など、やるべきことは山積みです。この「終わらない旅」こそが、EA開発の醍醐味なのかもしれません。
(FX手法・戦略カテゴリ / EA関連タグ)
この記事を書いた人:daito (@daito_daison)
Dysonblog運営者。裁量トレーダーとしての経験を活かし、FXのEA(自動売買システム)開発に情熱を注ぐ。MA、VWAP、チャネルライン、キリ番など、様々なテクニカル指標を組み合わせた独自ロジックをMQL5で実装・検証中。開発のリアルな過程と試行錯誤を発信することで、EA開発者のコミュニティに貢献したいと考えている。
(詳しいプロフィール / X(Twitter))