【MT4】MQL4でEAを作るベースとなるソースコードの公開

※本ページはプロモーションが含まれています

MT4のEA作りの書籍はたくさん出ていたり、ネットで検索するとサンプルのソースコードはたくさん見つかるのですが、バックテストではなく、実トレードで実行するとどうも動かない事が多い。

そこで、僕自身が、MT4のEA作りであれこれ実践して、実際に動いた売買部分だけのベースソースコードを公開したいと思います。

目次

売買のMQL4のベースソース

僕が実際にベースで使ってるソースです。これに、あれこれ条件加えたりしてます。

解説

ロット、スリッページ、利益、損切りをパラメータで設定にするため、extern宣言。

MT4はポイント計算なのですが、利益や損切りは分かりやすくpipsで設定出来るようにしました。(実際はOrg_Long、Org_Short関数内でポイントをpips換算してます)

スリッページは低くしすぎるとエラーになる

スリッページは低くしすぎると、取引所側からエラーが返ってきます。これについては、こちらの記事にまとめました。

あわせて読みたい
【MQL4】OrderCloseでエラーコード138が返ってくる原因と解決方法 いやー、MQL4は仕様どおりに作っても、取引所が絡んだエラーが多いです。 OrderCloseの関数でも同じでした。エラーコード138が必ず返ってくる。 色々調べて試して、よう...

利益値幅、損切り値幅も低くしすぎるとエラーになる

利益や損切りについても同様です。以下の記事に書きましたが、XMだと4pips以上は設定しないとエラーになります(それでもエラーになる場合は+1〜+2くらいにすると動くと思います)。

あわせて読みたい
MQL4でOrderSendエラーコード130 invalid stopsの解決策 バックテストでは正常に稼働するけど、リアル口座ではOrderSend時に、エラーコード130(Invalid Stops)が出てしまう。かなりあれこれ調べまくって、なんとかある程度は解...

売買はオリジナル関数を用意

売買時に簡潔に書きたかったので、売買時は直接OrderSendを書かずに、オリジナル関数内で処理しました。この中で、小数点の桁合わせや、エラー時のリトライなど、あれこれやってます。

ロング(買い)

使い方はめちゃ簡単にしました。引数に必要な情報を入れるだけ。

ショート(売り)

OrderSend後のエラー処理について

エラーが取引所から返ってきた際のリトライ処理は以下のブログの処理を参考にさせて頂きました。それを改造した感じ。

あわせて読みたい
OrderModify | MT4でEA自作しちゃお~ 当サイトはMetaQuotes Software社のMT4(メタトレーダー4)で、EA(自動売買)やカスタムインジケータを作成したいけど・・・ まず何をやったらいいのか分からずスタート地点で...

オーダーのクローズ

オーダーのクローズもオリジナル関数を用意しました。基本はOrg_LongやOrg_Short関数で利益や損切りタイミングまで待ちますが、クローズタイミングを自分でしっかり決める場合は以下を使ってます。

引数はマジックナンバー。

 

売買の基本ルーチンは以上です。

まとめ

あとは、OnTick()で、エントリータイミングをどう書くかですね。この中で、ボリンジャーバンドみたり、各種テクニカルの数値を見て、エントリータイミングを判断する感じです。

矢野テック
矢野テック

まだまだ研究中

 

ブログランキングに参加してます。この記事が少しでもお役に立ちましたら、応援ポチっとお願いします。

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

お友達にMT4インジケータープレゼント中

機械学習使った日々の予測結果や、細かい試行錯誤の結果はLINEで公開しています。パスワード付き記事もこちらから。

また、今ならお友達には矢野テック自作のMT4用のインジケーターをプレゼント中です。

友だち追加

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

プログラマー。FXのMT4を使った自動売買EA作成やBOT作成などが趣味。2016年から元本10万円をどこまで増やせるか挑戦中。一旦は10万⇒700万⇒2017暴落 20万。ガチホからFXトレードに変更。 現在1000万円。その過程やノウハウは無料メール講座にまとめました。1か月で学べます。→無料メール講座

ご質問はコメント欄からお願いします

コメント一覧 (4件)

コメントする

目次