
MQL4MQL5 イベント関数
OnStart()
- できること
- スクリプトを実行したときに1回だけ呼ばれる
- 対応
- MQL4・MQL5
OnStart() とは
スクリプトをチャートに入れたときに1回だけ呼ばれる関数です。一括決済、オブジェクトの一括削除、データの書き出しなど、1回で終わる処理を書きます。処理が終わるとスクリプトは自動的にチャートから外れます。
OnStart() の書式と引数
void OnStart()引数はありません。
戻り値
なし(int OnStart() と書いて値を返すこともできます)
OnStart() の使い方(コード例)
MQL4・MQL5 共通
#property script_show_inputs
input int InpBars = 10; // 表示するバーの本数
void OnStart()
{
// 直近の確定足の終値をログに出す
for(int i = 1; i <= InpBars && !IsStopped(); i++)
Print(TimeToString(iTime(_Symbol, PERIOD_CURRENT, i)), " ", DoubleToString(iClose(_Symbol, PERIOD_CURRENT, i), _Digits));
}MetaEditor でコンパイルできることを確認済みです。
OnStart() の注意点
- OnStart() はスクリプト専用です。EA では OnTick()、インジケーターでは OnCalculate() を使います。
- スクリプトの実行前にパラメーター画面を出したいときは、#property script_show_inputs を書きます。
- ループの中で IsStopped() を確認すると、ユーザーがスクリプトを止めたときにすぐ終了できます。












