Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 473

 
Bek001:

Lassen Sie es mich anders formulieren. Wie können Sie den Höchstpreis in den letzten 10 Sekunden ermitteln?

In MT5 - CopyTicks()

In MT4 - Speichern von Ticks in Array von Strukturen MqlTick. Entnehmen Sie daraus die Höchst- und Mindestpreise.

 

Können Sie mir sagen, wie man das macht? Ich habe eine Benachrichtigungsfunktion geschrieben und die Benachrichtigungen erscheinen bei jedem Tick! Die Funktion selbst ist einfach in int Start geschrieben. PATTERN Bedingungen auf der M30.

///--------------------------------------------------------------------------------------------
/// ФУНКЦИЯ ОТПРАВКИ УВЕДОМЛЕНИЙ
///--------------------------------------------------------------------------------------------
void NOTIFICATION()
{

int DayT=0,BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
}
}
 
Rewerpool:

Können Sie mir sagen, wie man das macht? Ich habe eine Benachrichtigungsfunktion geschrieben und die Benachrichtigungen erscheinen bei jedem Tick! Die Funktion selbst ist einfach in int Start geschrieben.

static int DayT=0;
 
@Artyom Trishkin Vielen Dank! Interessant kam heraus, dass es jetzt überhaupt ruhig ist!
 
Rewerpool:
@Artyom Trishkin Vielen Dank! Interessant kam heraus, dass es jetzt überhaupt ruhig ist!
Es ist schwierig, den Code von einem Handy aus zu lesen. Wahrscheinlich ist da noch etwas anderes falsch.
 
Rewerpool:

Können Sie mir sagen, wie man das macht? Ich habe eine Benachrichtigungsfunktion geschrieben und die Benachrichtigungen erscheinen bei jedem Tick! Die Funktion selbst ist einfach in int Start geschrieben. PATTERN Bedingungen auf der M30.

int DayT=0;
datetime BarTime=TimeCurrent();
void NOTIFICATION()
{
   if(DayT!=Day())// Если новый день - нужно опросить
   {
      DayT=Day();
      if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
      if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
   }
   if (BarTime==Time[0]) // Если новый бар - нужно опросить
   {
      BarTime=Time[0];
      if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
      if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
   }
}

Sie deklarieren Variablen und vergleichen sofort mit ihnen. Natürlich erhalten Sie immer das gleiche Ergebnis.

 
Artyom Trishkin:
Es ist schwierig, den Code auf einem Handy zu lesen. Es muss etwas anderes dahinterstecken.

Ich denke, es hätte folgendermaßen ablaufen sollen

datetime BarTime;
 

@Konstantin Nikitin Hallo!!! Repariert!!! Die täglichen Signale sind da! Ich muss noch die Intraday-Daten prüfen!

Behoben! Hier:

///--------------------------------------------------------------------------------------------
/// ФУНКЦИЯ ОТПРАВКИ УВЕДОМЛЕНИЙ
///--------------------------------------------------------------------------------------------
void NOTIFICATION()
{

static int DayT=0;
datetime BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
}
}
 
Rewerpool:

@Konstantin Nikitin Hallo!!! Repariert!!! Die täglichen Signale sind da! Ich muss noch die Intraday-Daten prüfen!

Behoben! Hier:

static int DayT=0;
datetime BarTime;

Bringen Sie es auf die globale Ebene. Sie werden immer gleich 0 sein, da bei jedem Aufruf der Funktion eine neue deklariert wird.

 
@Konstantin Nikitin Schlagen Sie vor, diese Parameter außerhalb des Funktionskörpers zu verwenden? Oder soll ich sie so lassen, wie ich sie auf dem letzten Screenshot dargestellt habe?
Grund der Beschwerde: