スポンサーリンク
ホーム » MQL5リファレンス » 関数 » チェックアップ関数 » IsStopped関数について
a

IsStopped関数について

MQL5リファレンス
スポンサーリンク

スポンサーリンク

機能

IsStoppede関数は、MQL5プログラムの強制シャットダウンをチェックします。

bool  IsStopped();
スポンサーリンク

引数

なし

引数についてはコチラのリンクをご覧ください。

スポンサーリンク

戻り値

_StopFlagシステム変数が 0 以外の場合は true 。

戻り値についてはコチラを下記の記事をご覧ください。

スポンサーリンク

備考

MQL5 プログラムが操作を完了するように命令されている場合、0 以外の値が _StopFlag に書き入れられます。この場合、すぐにプログラムを終了する必要があります。

そうしないとプログラムは 3 秒後に外部から強制的に終了されます。

リファレンスでは、ループの反復数が多いと予期される場合にIsStopped関数を使って強制的なプログラム終了を確認することを推奨しています。

スポンサーリンク

サンプルコード

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
      //フィボナッチ数列の計算終点
  int countFibo=15;
  
  //計算に必要な変数の宣言
  int iCounter=0,first=0,second=1;
  
  //フィボナッチを格納する変数
  int nowFiboNum;
  do
    {
     nowFiboNum=first+second;
    Print("iCounter = ",iCounter,"  フィボナッチ数 = ",nowFiboNum," flag=",IsStopped());
     first=second;
     //firstにsecondの値を代入
     second=nowFiboNum;
    //secondに nowFiboNumの値を代入

     iCounter++;//1増加 (この演算子がない場合、無限ループが発生)
     
    
    }
  
  while(iCounter<countFibo && !IsStopped());
  //15未満で、終了フラグが出ていない間はループする
   
  }//do
  
//+------------------------------------------------------------------+

結果↓

MT5に標準実装されているパラボリックSARのソースコードを解説している記事を書いたのですが、そのソースコードの中にもIsStoppede関数が、for文ループ内に使われています。

よろしければ参考にしてください。<m(__)m>↓

Print関数については↓をご覧ください

OnStart関数については↓をご覧ください

関連用語リンク集

MQL5FX関連の用語リンク集です。
当サイトでは、元々わからない言葉や概念に出くわしたら、すぐその言葉に立ち戻れるよう、かなり細かく内部リンクを張り巡らせており、多様な用語を網羅しています。

興味のある内容に直接アクセスし、疑問の解決にお役立ていただければと思います。

スポンサーリンク
MQL5リファレンスチェックアップ関数
スポンサーリンク
シェアする
エムキューエルをフォローする
スポンサーリンク
【超入門】MQL5 でEAを作ろうブログ

コメント

タイトルとURLをコピーしました