[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 410

 
costy_:

Und wo ist der Indikator?! (Vermutung durch Kaffeesatz Tel. https://www.mql5.comhttps://www.mql5.com/ru/)

Berichtigung...

Das Problem ist, dass der Indikator nicht neu gezeichnet wird, wenn ein neuer Balken erscheint.

Der Indikatorcode befindet sich in der beigefügten Datei. Ich kann es nicht über src platzieren (der Code ist nicht zu groß).

Vielen Dank im Voraus für die Hilfe.

 
Leute, sagt mir bitte, wie ich die folgende Situation elegant beschreiben kann. Angenommen, wir haben gerade einen Balken auf einem hohen TF gebildet (zum Beispiel iHigh[NULL,1440,1]). Wie beschreibt man den ersten Balken im Code auf einer unteren TF, während sich iHigh[NULL,1440,0] bildet?) ? Ich kann nur an schwerfällige Strukturen denken. Ich danke Ihnen!
 
costy_:

Lesen Sie

zunächst die Größe des Arrays festlegen

buf[2]; .

zuweisen.

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

DasLesen dauert 2 Minuten.

Ich danke Ihnen. Ich habe es bereits gelesen, aber ich habe wohl nicht richtig aufgepasst.
 
001:
Können Sie uns sagen, wie man die Situation wie folgt beschreiben kann? Angenommen, wir haben nur einen Balken, der auf einem hohen TF gebildet wurde (zum Beispiel iHigh[NULL,1440,1]). Wie beschreibt man den ersten Balken im Code auf einer unteren TF, während sich iHigh[NULL,1440,0] bildet?) ? Ich kann nur an schwerfällige Strukturen denken. Ich danke Ihnen!

d.h. wissen Sie, ob eine neue Tageskerze in einem niedrigeren Zeitrahmen eröffnet wurde?

Oder Grenzen in Balken einer 1-Tages-Kerze auf einem Tiefpunkt (nicht 0)

 
LOA:

Berichtigung...

Das Problem ist, dass der Indikator nicht neu gezeichnet wird, wenn ein neuer Balken erscheint.

Der Indikatorcode befindet sich in der beigefügten Datei. Ich habe es nicht geschafft, es über src zu platzieren (der Code scheint klein zu sein).

Ich bin sehr dankbar für die Hilfe.

ex4 ist nicht anzeigbar, brauche mq4
 
costy_:

d.h. wissen Sie, ob eine neue Tageskerze in einem niedrigeren Zeitrahmen eröffnet wurde?

Oder Grenzen in Balken einer 1-Tages-Kerze auf einem Tiefpunkt (nicht 0)


Wenn eine neue Kerze in der hohen TF geöffnet, geben Sie den Wert einer bestimmten Kerze in einem niedrigen TF, aber innerhalb der Grenzen der Kerze, die gebildet wird (es ist jetzt auf dem hohen 0-ten), in der hohen TF. D.h. während noch eine 0-Kerze auf dem hohen TF steht, um den Wert einer bestimmten Kerze auf dem niedrigen TF zurückzugeben.

In meinem Fall müssen wir wissen, dass diese Kerze auf (zum Beispiel M1) über dem Hoch auf D1 (zum Beispiel) geschlossen hat.

 

Wie mache ich:

wenn Bedingung1 wahr ist, dann prüfe es nicht bei jedem Tick, und bei den folgenden Ticks prüfe ich auch Bedingung2 und dann auch Bedingung3, bis wir alle Flaggen als falsch deklarieren?

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 ist nicht anzeigbar, brauche mq4

OK. Entschuldigung...
 
001:


Wenn eine neue Kerze auf dem hohen TF eröffnet wird, geben Sie den Wert einer bestimmten Kerze auf dem niedrigen TF, aber innerhalb der sich bildenden Kerze (auf dem hohen TF ist er noch 0), auf dem hohen TF zurück. D.h., während noch eine 0-Kerze auf dem hohen TF steht, den Wert einer bestimmten Kerze auf dem niedrigen TF zurückzugeben.

In meinem speziellen Fall muss ich wissen, dass diese Kerze auf (z.B. M1) über dem Hoch auf D1 (z.B.) geschlossen hat.

Ich verstehe immer noch nicht

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

Das Bild ist wahrscheinlich einfacher zu erklären.

 
LOA:

OK. Entschuldigung...
iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1)

liest er die Daten des Balkens, der bereits (vorher) i+1 entfernt hat. Aber der Algorithmus des Erstellers wird gebrochen (er weiß es am besten, ich arbeite auch an offenen und generierten Daten +1)