FXEDGEです。
MT4 Build 745(Build 600以降)で、
int init(),
int deinit(),
int start()
この3つの関数名は、
int OnInit
void OnDeinit
void OnTickに変更しています
OnInitは、初期化です。
EAをチャートに入れた時に1回だけ動作します。
OnDeinitは、終了処理です。
EAをチャートから削除した際に1回だけ動作します。
OnTickは、メインです。
価格レートが配信されるタイミングで動作します。
例えば下記のソースコードでは
頭のほうにint OnInit()があります。
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
myPoint = Point();
if(Digits() == 5 || Digits() == 3)
{
myPoint *= 10;
MaxSlippage *= 10;
}
double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
if(LotStep >= 1) LotDigits = 0;
else if(LotStep >= 0.1) LotDigits = 1;
else if(LotStep >= 0.01) LotDigits = 2;
else LotDigits = 3;
int i;
for (i = 0; i < ArraySize(crossed); i++)
crossed[i] = true;
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
最後のほうに
void OnDeinitがありますね。
Expert initialization function は
初期化の部分で、
Expert deinitialization function は
終了処理ですと、タイトルを付けて
その下にそれぞれコードを書いています。
OnInit関数,
OnDeinit関数については、1回だけ動きますが、
タイミングはいくつもあります。
OnInit,(初期化)
OnDeinit(終了)は、
EAをチャートに入れた時と
削除した時に1回数だけ動作します。
タイミングは多いです。
例えばパラメータを変えた時、
インターネットが繋がらなくなった時、
メタトレーダー再起動した時などです。
メールはここに送信して下さい
excelsystemtrader@gmail.com
最後まで読んでいただき
ありがとうございました
FXEDGE