Anton Tarasov  
キャンドルのオープニングでオーダーが開かれ、次のオープニングでそれが閉じられ、新たなオーダーが開かれることをどのように規定するのでしょうか!?
削除済み  
Anton Tarasov:
あるローソクのオープニングで注文が開かれ、次のローソクのオープニングでそれが閉じられ、新しい注文が開かれたことを指定するにはどうしたらいいのでしょうか!
まず、プラットフォームを指定します。
Anton Tarasov  
Alexey Kozitsyn:
まず、プラットフォームを指定する必要があります。
Mt4
Alexey Volchanskiy  
Anton Tarasov:
Mt4

新しいバーの 開始を判断する関数は次のとおりです。

/// Определяет начало нового бара
bool NewBar()
{
    static datetime lastbar = 0;
    datetime curbar = iTime(Symbol(), PERIOD_M1, 0);
    if(lastbar!=curbar)
    {
        lastbar=curbar;
        return (true);
    }
    return(false);
}
Anton Tarasov  
Alexey Volchanskiy:

新しいバーの 開始を判断する関数は次のとおりです。

ありがとうございました。

Vladimir Pastushak  
Alexey Volchanskiy:

新しいバーの 開始を決定する関数は次のとおりです。

これは正しい機能ではありません!!!

EAの初回起動時に1回だけ偽のシグナルが出る

これが正しく、信頼できる方法です。

// =========================================================================================================// 
bool NewBar()
  {
   static datetime time=0;
   datetime cur_time = iTime(Symbol(), PERIOD_CURRENT, 0);
   if(time==0)
     {
      time=cur_time;
      return false;
     }
   if(time!=cur_time)
     {
      time=cur_time;
      return true;
     }
   return false;
  }
// =========================================================================================================//
Dmitry Fedoseev  
Vladimir Pastushak:

これは正しい機能ではありません!!!

EAの初回起動時に1回だけフォルスシグナルが発生する

これが正しくて確実な方法です :

EAへの余分なifは、首の上の石ころのようなものです。
Dmitry Fedoseev  
Anton Tarasov:
あるロウソクが開くとオーダーが開かれ、次のロウソクが開くとそれが閉じられ、新たなオーダーが開かれる、ということをどう規定するのか!?
注文のバーの 開始時刻が Time[0]よりも小さければ、そのバーをクローズします。その後、注文がない場合は、新規に開設します。
Alexey Busygin  
Dmitry Fedoseev:
不必要なifは、EAの首の上の岩のようなものです。
2番目のelseを次に置く
Maxim Dmitrievsky  
bool NEW_BAR() еще короче
 {
  static int nBars=0;
  if(nBars!=Bars)
   {
    nBars=Bars;
    return(true);
   }
  return(false);
 }
Dmitry Fedoseev  
Alexey Busygin:
そして、2枚目を入れる。
そして、それはチンコと同じです。
理由: