
移動平均線、MAとローソク足がクロスしたらエントリー、エグジットするMT4用のEA(Expert Advisor)、『hjEA_MAcrossENEX』
読者の方から4時間足基準でMAクロスでエントリー・エグジットを実行するEAのご要望があり、対応。当初、私が個人的にたまに使用するEAをちょっと見栄え良くして仕様はそのまま・・・と思ってたのですが、お応えするには作成者自身しか理解できない部分があること、ご要望に対して余計な仕様が混在していたことから、シンプルなドテン売買EAとして作成しました。
ドテンなので、常にポジションがある状態になります。
EAを停止した際にもポジションが残りますから、ポジションをクローズするルールを持ってることが重要です。
履 歴
Ver. 1.00
- 初版
MT4は、FX業者に関わらず同じ動作をすると思っていますが、読者からの連絡で違和感を感じることがあります。私がインジケーターやEAを作成し、検証している主なMT4業者二社を以下に紹介します。
現在は、主にGemForexのデモ口座で作成・検証 → XMのデモ口座で検証、自分のルールに活用できそうだったらリアル口座で使用、と進めています。なお、私の利用している国内FX業者は、この二社と同動作です。
hjEA_MAcrossENEX 仕様
MAとローソク足のクロス確定でエントリー、エグジットするドテン売買EA。
エントリー
- BUY
- 確定足直前足終値 < MA価格
- 確定足終値 >= MA価格
- SELL
- 確定足直前足終値 > MA価格
- 確定足終値 <= MA価格
エグジット
- BUY
- 確定足直前足終値 > MA価格
- 確定足終値 <= MA価格
- SELL
- 確定足直前足終値 < MA価格
- 確定足終値 >= MA価格
設定可能MA条件
- MA期間
- MA種類
- MAの計算に使用する価格
EA作成の元となったコメントです。
すぐにお応えすると返信したのに遅くなってしまい、申し訳ございません。
4時間足を基準
ローソク足が20MAを上抜けし、20MAより上で実線確定(終値で確定)した時点でエントリー。再度20MAを下抜けして実線が20MAより下で確定した際にクローズ。(売りエントリー・クローズはいずれも逆)
koooohei氏コメントより抜粋
利益が20pipsプラスになった際には建値にストップロスを設定。
パラメーター

- Magic No.
- 他のEAのポジションと区別するための数値
- MT4内で使用するEAと重複しないユニークな数値を入力
- Order Lots
- エントリー時のロットサイズをセット
- Break Even Pips
- ストップロスを建値に移動する際の条件、含み益を pips で指定
- 0:建値移動なし
- Slippage
- エントリー時に指定した指値から外れて不利な価格で約定する価格差
(不利な価格で約定する=滑り約定といわれる場合も有り) - 許容できる上記価格差を pips でセット
- エントリー時に指定した指値から外れて不利な価格で約定する価格差
- MA Period
- MAの期間をセット
- MA Type:四択
- Simple
- Eeponential
- Smoothed
- Linear weighted
- Price Type:七択
- Close price
- Open price
- High price
- Low price
- Median price
- Typical price
- Weighted price
[memo]
- Price Type の選択要素、Typical と Weighted の二つはMAクロスEA関係で試行したことがありません。これに限らず、思ってる通りに動作するかどうか、デモ口座でしっかり検証してください。
使用例
エントリー・エグジットチャート例



動画例
動作中チャートでのEAセット~エントリー・エグジット~EA削除
ストラテジーテスターテスト結果:速度早め
ストラテジーテスターテスト結果:速度遅め
EA停止後のポジション残について
EA稼働中は最初のエントリーから後は常にポジションを保有する状態です。自動売買停止ボタンクリック、また、EAを削除してもポジションは残ります。
残っているポジションをどのようにクローズするか、決めておくことはとても重要なことです。
一例として
- ターミナル、取引タブでポジションをクローズ
- どのような状況になったらポジションクローズするか決めておく
- MT4 標準装備、決済逆指値や決済指値をセット
- 数値でセットする方法とポジションラインをマウスクリックで上下にドラッグする方法があります
今 後
ここからいろいろなアイディアを追加、結果検証、品質保証でいう『PDCA』を回して、資金増のEAが完成できたらいいな、と思います。
人によって、自分のルールは他に出さない、とか、思っている方々がおいでるかもしれないのですが、私は同じ基準で判断している人が増えるほどその判断基準は優位になると思っています。
一緒に考えてくれる仲間が欲しい、、、つい、本音。。。
今のルールだとほったらかしにできないもんね・・・
ほったらかし運用可能な複数EAを開発して、あとは、北海道のどこそこ、沖縄のどこそこ、瀬戸内のなんたら島etc、キャンプ場でお会いできるサークルなんかあったらいいなぁ。
うん、たまにはすっごく高級なホテル・・・でも、やっぱり一番は仲間とパチパチ焚火を囲んでそれぞれ大好きな飲み物を片手に意味のない会話、かなぁ・・・
たくさんの心の美男・美女、友達になりたい・・・・・

コメント
グランビルの2番目でエントリできるように(MAを上抜けした後、MAを下抜けし再度上抜け)
できれば、幅が広がるかと思いますので、可能でしたらご検討をお願いします
HappyJiJi様
沢山の有益なEA、Indicatorの共有有難うございます。
hjEA_MAcrossENEXについて追加の仕様のご相談です。
以下の仕様の追加は可能でしょうか。
・Buyのみ、Sellのみ機能の追加(Buyのみの場合はSellのシグナルが出たら決済し、次のBuyシグナルが出るまで待機)
・含み益が出ている際に任意のpipsでの決済機能の追加
・EA稼働停止ボタンの追加
・通知機能の追加
お忙しいところ恐縮ですが、ご検討いただけると幸いです。
Ishiiさん
ご提案、ありがとうございます。
以下、2)と3)お返事ください。
1)Buyのみ、Sellのみ仕様、了解しました。
2)含み益が出ている際に任意のpipsでの決済機能の件
・ポジション保有中に任意にpipsを指定、また、変更もされたいということですか?
3)EA稼働停止ボタンの追加の件
・チャート単位で停止したいとの理解でよろしいでしょうか?
4)通知機能の追加の件、下記追加します。
・アラートWindow、アラート、メール、プッシュ通知
HappyJiJi様
早速のご返信有難うございます。
2)につきましてはエントリー時に任意のpipsでのテイクプロフィットがパラメータとして設定できれば、と思っています。
エントリー後は必要に応じ決済指値をマウスで調整することを考えています。
3)につきましてはチャート単位での稼働・停止ができれば便利では、と思っています。
よろしくお願い致します。
Ishii さん、
2)3)の件、了解しました。
jiji様、メッセージが遅れ誠に申し訳ございません。
そして、こんな短時間でEAを作成していただいたこと誠に感謝しております。ありがとうございます。
私は現職でプログラミングもかじっているのですが、勉強中の身でもあり、今回つくっていただいたものを見本に勉強できればとも思っております。
もう少し理解が進んでご一緒に考えられるようになれれば光栄です。
koooohei さん、
返信ありがとうございます。
プログラミングですが、MT5 で始められた方がいいと思います。
今後、MT4からMT5へ移行していくのは間違いないですし、Windows11へのMT4の対応状況を見ててもなんか遅いんです。
一緒に将来にわたって使える、役立つインジケーターやEA を開発できればうれしいです。