無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
エキスパート

Simple Code for Detect A "New Bar or New Candle " Received - MetaTrader 5のためのエキスパート

ビュー:
82
評価:
(8)
パブリッシュ済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

このコード・ブロックは、ニュー・バー またはニュー・キャンドルを 受信したときに検出する

コードの基本原理は非常にシンプルです。まず、コードは 前のバー/キャンドルの時間を 保存します。(その後、60秒1 分に等しい あなたが望むように時間を追加することができます)を 現在のバー/キャンドルの終値の値を 与える前のバーの時間に追加します

一度

現在の時間 = 現在のバー/ローソクの終値。 つまり、新しいバーが受信された/現在のバーが閉じていることを意味します。

このコードでは、フラグ(bool型変数'NewBarRecived')。 つまり、このコード・ブロックはバー/ローソクごとに一度だけ実行されます。Comment();playsound("ok.wav"); は、コード・ブロックの正確さをチェックするために使用されています。必要なら削除してもよい。

このフラグは、現在の時間が現在のローソク足の終値より上になると、次のバーの到着を確認するためにfalseにリセットされます。(コメントを見てください)。

//+------------------------------------------------------------------+
//|新しいバーの検出mq5||新しいバーの検出。
//|H・A・T・ラクマール著|電子書籍で漫画(マンガ)を読むならコミック.jp
//|https://t.me/Lakmal846
//+------------------------------------------------------------------+

bool NewBarRecived = false; // コントロールのためのファルグ。

//+------------------------------------------------------------------+
//| エキスパート初期化関数|
//+------------------------------------------------------------------+
int OnInit()
  {
//--- タイマーを作成する
   EventSetTimer(60);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
|エキスパート初期化関数|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- タイマーを破壊する
   EventKillTimer();

  }


//+------------------------------------------------------------------+
//| エキスパート・ティック機能|
//+------------------------------------------------------------------+
void OnTick()
  {
   datetime TimePreviousBar = iTime(_Symbol,PERIOD_M1,1);
   datetime TimeCurrentClose = TimePreviousBar + 60; // 現在のバーの終値。
   datetime Time_Current = TimeCurrent();

   if(Time_Current == TimeCurrentClose && NewBarRecived == false)
     {
      PlaySound("ok.wav");   // notのステートメント作業について。
      NewBarRecived = true; // 複数回の呼び出しを避けるため、フラグを更新する。


      // あなたのコードはここにある ----- (何かをする)

     }
   else
      if(Time_Current > TimeCurrentClose)
        {
         NewBarRecived = false; // 次のバーオープンのフラグを休ませる。



         // あなたのコードはここにある ----- (何かをする)


        }


   Comment("\n" +  "\n" +  "Time Current Bar -: " + TimeToString(TimePreviousBar,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +
           "\n" + "Time Current Close -: " +TimeToString(TimeCurrentClose,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +
           "\n" + "Time Current -: " + TimeToString(Time_Current,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + 
           "\n" +"\n" + "A New Bar Recived -: " + NewBarRecived); 
          
           // チェックのための計算


  }
//+------------------------------------------------------------------+
//| タイマー機能|
//+------------------------------------------------------------------+
void OnTimer()
  {
//---

  }
//+------------------------------------------------------------------+
//| トレード機能|
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+
//| チャートイベント機能|
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---

  }
//+------------------------------------------------------------------+

MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/49018

Code Block for "Trailing Stop" based on current market price. (Ask / Bid) Code Block for "Trailing Stop" based on current market price. (Ask / Bid)

このコード・ブロックは、すべての建玉をループし、売値と買値に基づいてトレールする。

ConvertServerTime ConvertServerTime

サーバーの時間をブローカーのタイムゾーンから別のタイムゾーンに変換する関数。

Logarithmic Moving Average Logarithmic Moving Average

対数移動平均は、期間内の最高値と最安値の対数平均を連続的に計算します。

平均日範囲 平均日範囲

1日の平均レンジ指標。