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!
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)
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.
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?
staticbool 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);
}
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.
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)
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.
Lesen Sie
zunächst die Größe des Arrays festlegen
buf[2]; .
zuweisen.
buf[0]=x1; buf[1]=x2;
DasLesen dauert 2 Minuten.
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)
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.
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?
ex4 ist nicht anzeigbar, brauche mq4
OK. Entschuldigung...
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
Das Bild ist wahrscheinlich einfacher zu erklären.
OK. Entschuldigung...
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)