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

 
Igor Zakharov:

Woher soll ich das wissen? Die Person, die die Frage gestellt hat, hat iLow() verwendet, also braucht er es. Vielleicht ist es einfacher, vielleicht plant er, über eine Eingabevariable auf ein anderes Symbol oder einen anderen Zeitrahmen zu verweisen (ich weiß nicht mehr, ob es Copyrates in Quadruple gibt?)

Es gibt sie.

 
psyman:

Ich habe den Code nicht hier gepostet, sondern den einfachsten geschrieben, um das Parsen zu vereinfachen.

Sagen Sie mir mehr darüber, was falsch ist, es ist nicht klar, über die maximale Geschwindigkeit.

Wladimir Karputow:

Der Code ist SEHR GLÜCKLICH - denn bei jedem Tick wird ein Durchlauf über ALLE BARs gemacht.


In der vierten war esIndicatorCounted(), ich weiß nicht, welche Möglichkeiten es in der fünften gibt, und es ist nirgends etwas darüber zu lesen.

Ist diese Option gut, oder kann sie vereinfacht werden?

int OnCalculate(....)
{
   int i, Counted_bars;
   
      Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
      i=Bars-Counted_bars-1;           // Индекс первого непосчитанного

      while(i>=0)                      // Цикл по непосчитанным барам
      { 
        .....
        
       i--;                          
      }
}

int IndicatorCounted()
  {
   if(prev_calculated>0) return(prev_calculated-1);
   if(prev_calculated==0) return(0);
   return(0);
  }
 
psyman:


In Q4 gab esIndicatorCounted(), ich weiß nicht, welche Möglichkeiten es in 5 gibt, und es ist nirgends etwas darüber zu lesen.

Ist diese Option gut, oder kann sie vereinfacht werden?

Hilfe, Forum, Artikel - ist dies Ihrer Meinung nach das "Nirgendwo zum Lesen"? Wenn Sie nur den Wunsch dazu hätten. In der Tat, Sie schreiben im Betreff des alten Terminals, während Ihre Frage sich auf MQL5 bezieht. Sie haben eine Diskrepanz.

Ich habe das Thema verlassen.

 
psyman:


In Q4 gab esIndicatorCounted(), ich weiß nicht, welche Möglichkeiten es in 5 gibt, und es ist nirgends etwas darüber zu lesen.

Ist diese Option gut oder kann sie vereinfacht werden?

Sowohl in mql4 als auch in mql5 hat die Hauptfunktion des Indikators alles, was Sie brauchen

int OnCalculate (const int rates_total,      // размер входных таймсерий
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const datetime& time[],     // Time
                 const double& open[],       // Open
                 const double& high[],       // High
                 const double& low[],        // Low
                 const double& close[],      // Close
                 const long& tick_volume[],  // Tick Volume
                 const long& volume[],       // Real Volume
                 const int& spread[]         // Spread
   );

prev_calculated ist die Anzahl der berechneten Balken.

 

Hallo.

Wenn sich der Kurs in 60 Sekunden um 30 Pips verändert hat, markiere ich den Balken

 for(int i=limit; i>=0; i--)
     {
      datetime t_=TimeCurrent();
      if(t_>t_b+60)
        {
         t_b = TimeCurrent();
         pr_b=close[0];
        }
      if(MathAbs(close[0]-pr_b)>=30*Point && t_<t_b+60)
        {
         BufferUP[i]=low[i]-10*Point;
        }

     }

Was ist los?

 
lil_lil:

Hallo.

Wenn sich der Kurs in 60 Sekunden um 30 Pips verändert hat, markiere ich den Balken

Was ist los?

Warum ist das so?

int limit=rates_total-prev_calculated-1;

und nicht so?

int limit=rates_total-prev_calculated;

Wo setze ich die Grenze?

   if(limit>1)
     {
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }
   if(limit>1)
     {
      limit=rates_total-1;
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }

Ich habe nicht weiter nachgeschaut

 
Artyom Trishkin:

Warum ist das so?

und nicht so?

Wo ist der Grenzwert eingestellt?

Ich habe nicht weiter nachgeschaut.

Danke, aber auch das führt zu keinem Ergebnis. Schauen Sie bitte weiter.

 
lil_lil:

Danke, aber auch das führt zu keinem Ergebnis. Schauen Sie bitte weiter.

Was ist das?

datetime t_=TimeCurrent();

Wie viel Zeit nehmen Sie sich für die Schleife? Was ist TimeCurrent()?

 
Hallo!
Es gibt eine Funktion im Expert Advisor, um Text aus einem Link zu erhalten.... Ich erhalte ihn mit dieser Bibliothek:
https://github.com/sergeylukin/mql4-http
Alles ist in Ordnung und es gibt keine Fragen dazu!
Das Problem stellt sich wie folgt dar:
Bei diesem Link wird der Text systematisch aktualisiert und das Terminal nimmt ihn nicht wahr, selbst wenn Sie die Eule aus der Karte zurücksetzen und wieder einfügen! Nur das Schließen und Öffnen des Terminals hilft überhaupt! Wer weiß vielleicht, wie man es reparieren kann?
 
lil_lil:

Hallo.

Wenn sich der Kurs in 60 Sekunden um 30 Pips verändert hat, markiere ich den Balken

Was ist los?

Vor kurzem stieß ich auf einen freiberuflichen Auftrag mit einer ähnlichen Aufgabe. Ist das nicht der Job, den Sie machen?