EAの雛形(テンプレート)

自分好みのEAの雛形(テンプレート)を用意しよう

先日、読者の方から「記事中の関数を使ってみようとしたけど、コンパイルエラーになった」というご指摘をいただきました。

確かに、関数だけを抜き出して使用しちゃうとコンパイルエラーが発生してしまうことがあります。

理由はEA共通のグローバル変数を引数渡しせずに関数内で使っているからなのですが、該当の記事だけではそんなの分からないですよね。

というわけで、EAを作成する際のベースとなるコードを公開します。

といっても別に目新しいものではなく、過去の記事にもちょくちょく登場していますが、独立した1つの記事として残しておきたいと思います。

注意事項として、このベースEAは2016/6/4時点のものであり、今後も進化していくかもしれないということです(他のも同様)。

最新のMQLファイルをダウンロードできる環境を近いうちに構築する予定ですので、それまでは必要なものを各記事から見つけてお使いいただければ幸いです。

//+------------------------------------------------------------------+
//|                                                       Sample.mq4 |
//|                                     Copyright (c) 2016, りゅーき |
//|                                            https://autofx100.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright (c) 2016, りゅーき"
#property link      "https://autofx100.com/"
#property version   "1.00"

//+------------------------------------------------------------------+
//| ライブラリ                                                       |
//+------------------------------------------------------------------+
#include <stderror.mqh>
#include <stdlib.mqh>
#include <WinUser32.mqh>
#include <Original/Application.mqh>
#include <Original/Basic.mqh>
#include <Original/DateAndTime.mqh>
#include <Original/LotSizing.mqh>
#include <Original/OrderHandle.mqh>
#include <Original/OrderReliable.mqh>

//+------------------------------------------------------------------+
//| 定数                                                             |
//+------------------------------------------------------------------+
// #define

//+------------------------------------------------------------------+
//| EAパラメータ設定情報                                             |
//+------------------------------------------------------------------+
extern string Note01       = "=== General ==================================================";
extern int    MagicNumber  = 7777777;
extern int    SlippagePips = 5;
extern string Comments     = "";
extern double FixLotSize   = 0.01;

extern string Note02       = "=== Entry ====================================================";

extern string Note03       = "=== Exit ====================================================";

//+------------------------------------------------------------------+
//| グローバル変数                                                   |
//+------------------------------------------------------------------+
// 共通
double gPipsPoint     = 0.0;
int    gSlippage      = 0;
color  gArrowColor[6] = {Blue, Red, Blue, Red, Blue, Red}; //BUY: Blue, SELL: Red

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
  gPipsPoint = currencyUnitPerPips(Symbol());
  gSlippage = getSlippage(Symbol(), SlippagePips);

  return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
  // EAを削除する際に動作させたいロジックを記述
}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
  // 売買ロジック等を記述
}

MT4の無料プログラミング講座

メルマガ登録して、MT4のプログラミング講座を無料で受けちゃおう!

超豪華プレゼントも盛りだくさん♪

MT4プログラミングを習得すると、オリジナルEA運用、作成代行、商品販売等、複数の収入源を手に入れられるよ。副業に最適だね!

↓↓↓ 詳細はこちら ↓↓↓

アイキャッチ

MQL4プログラミングの準備の最新記事8件

>

エターナル・パートナーPRO ~MT4裁量トレード支援ツール~ 「MT4は裁量トレーダーに優しくない」そう思ったことありませんか?もっと快適にトレードするための強力な売買ツールが必要だと考え、開発したのが「エターナル・パートナーPRO」です。元々は自分自身のために開発したツールですので、手抜き無しのガチものです。既に200名近い方に手に取っていただき、喜びの声が続々と届いております。ぜひご覧ください!

CTR IMG