[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 410

 
costy_:

さて、指標はどこにあるのか!(コーヒーカスによる推測 Tel. https://www.mql5.comhttps://www.mql5.com/ru/)

訂正...

問題は、新しいバーが出現しても、インジケータが再描画されないことです。

インジケーターコードは添付ファイルのとおりです。src経由で配置できない(コードはあまり大きくない)。

よろしくお願いします。

 
皆さん、次のような状況をエレガントに表現する方法を教えてください。高値のTF(例えばiHigh[NULL,1440,1])でバーを形成したところだとします。iHigh[NULL,1440,0]が形成されている間、TFの下限でコード内の最初のバーを記述するには?)?面倒な構造しか思い浮かばない。ありがとうございました。
 
costy_:

読む

まず,配列のサイズを設定します.

buf[2]; .

割り当てる

buf[0]=x1; buf[1]=x2。

読む のに必要な時間は2分です。

ありがとうございます。すでに読了、あまり気にしていなかったようです。
 
001:
次のような表現で教えていただけますか?高値のTF(例えばiHigh[NULL,1440,1])に形成されたバーだけを持っているとします。iHigh[NULL,1440,0]が形成されている間、TFの下限でコード内の最初のバーを記述するには?)?面倒な構造しか思い浮かばない。ありがとうございました。

すなわち、新しい日足ロウソクが低い時間枠で開いたかどうかを知っていますか?

または安値(0ではない)に1日のろうそくのバーで境界線

 
LOA:

訂正...

問題は、新しいバーの出現でインジケータが再描画されないことです。

インジケーターコードは添付ファイルのとおりです。src経由で配置することはできませんでした(コードが小さいようです)。

とても感謝しています。

ex4が表示されないため、mq4が必要です。
 
costy_:

すなわち、新しい日足ロウソクが低い時間枠で開いたかどうかを知っていますか?

または安値(0ではない)に1日ローソクのバーで境界線


新しいキャンドルが 高いTFで開かれたときに、低いTFで特定のろうそくの値を返しますが、 高いTFで、形成されているキャンドル、(それは今、高い0番目の上にある)の限界の範囲。すなわち、高値のTFにまだ0のローソクがある間に、低値のTFにあるローソクの値を返すようにする。

私の場合、(例えばM1)のこのローソク足がD1(例えば)の高値より上で閉じたことを知る必要があります。

 



条件1が真なら、毎ティックチェック せず、その後のティックで条件2もチェックし、さらに条件3もチェックし、すべてのフラグを偽と宣言するまで、どのようにしたらよいでしょうか。

static bool Val_max, Cl_dn, Val_min; //static or global
                                        |
//+------------------------------------------------------------------+
int start()
  {
   int j;
   double bid;                                         
   bid=Bid;                                    // Текущая цена продажи
   string
   Symb=Symbol();                               // Название фин.инстр.
double Value_max=1.0000;
double Value_min=0.9980;
double Open_1=Open[1];
double Close_1=Close[1];
//----

//--------------------------------------------------------------- 4 --

double Val=iCustom(NULL, 0, "Название Польз. Индикатора",0,0);   // Присваиваем пер. Val значение польз. индикатора
if (Условие1)
{
 Val_max=true;                  // 
 Alert("Значение инд. >= Value_max (исп. 1-е усл.)");
}
if (Условие2)
{
 Cl_dn=true;
 Alert("1 бар закрылся падением (исп. 2-е усл.)");
}
if (Условие3 && Cl_dn==true)
{
 Val_min=true;
 Alert("Значение инд. <= Value_min (исп. 3-е усл.)");
}
if (Val_max==true && Cl_dn==true && Val_min==true)
  {
   for (j = 0; j < OrdersTotal(); j++)
    {
     OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() == Symbol())
      {
      if (OrderType() == OP_SELL) return(0);
      }
    }
   
   OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),2,Bid+400*Point,Bid-400*Point,"",3,Red);  // Открытие SELL
   Val_max=false; Cl_dn=false; Val_min=false;
  }

//----
   return(0);
  }
 
costy_:
ex4が表示されないため、mq4が必要です。

そうですか、すみません...。
ファイル:
 
001:


新しいローソクが高いTFで開いたとき、低いTFで特定のローソクの値を返しますが、 形成されているローソク内の(それはまだ高い上に0です)、高いTFになります。つまり、高値のTFに0のローソク足が残っている間に、安値のTFにあるローソク足の値を返すようにすることです。

私の特定のケースでは、私は(例えばM1)のこのキャンドルは、D1(例えば)の高値を超えて閉じたことを知る必要があります。

まだ理解できない

iBarShift(0,0,iTime(0,1440,iBarShift(0,1440,Time[0]))) //вернет бар открытия текущего дня на любом текущем тф
iBarShift(0,0,iTime(0,1440,1+iBarShift(0,1440,Time[0]))) //вернет бар открытия вчерашнего дня на любом текущем тф

写真の方が説明しやすいかもしれませんね。

 
LOA:

そうですか、すみません...。
iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1)

は,すでに(前の)i+1個のremoveを確立しているバーのデータを読み取る。しかし、作成者のアルゴリズムは壊れてしまう(彼が一番よく知っている、私もオープンで生成されたデータを扱う+1)。