Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 994

 
Kolya32:
Auch Ihnen vielen Dank. Das funktioniert auch)

Ich möchte mich auch bei Ihnen bedanken :)))

Diese

double Candle = (iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point;
if(Candle < 0){Candle = Candle * -1;}
string Candle2 =  DoubleToString(Candle, 0);
int Candle3 = StringToInteger(Candle2);

kann durch diese ersetzt werden und funktioniert genauso.

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
Документация по MQL5: Математические функции / MathAbs
Документация по MQL5: Математические функции / MathAbs
  • www.mql5.com
Математические функции / MathAbs - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 


Guten Tag. Frage. Wie kann ich Tick-Daten mit Timeframe-Balken verknüpfen? Unten finden Sie einen Teil des Codes. Er schaltet die Farbe des Puffers um. Ich habe es herausgefunden

mit Farben, aber es ist nicht klar, wie man hier verlinkt...? Ich habe einige Gedanken über die Struktur von MqlRates, aber es ist nicht klar, welchen Wert ich nehmen soll...? Ich habe gesehen, wie es funktioniert (Beispiel in der Dokumentation), aber der Wert springt und es ist nicht klar, warum

//--- Подготовка данных
   int count=(limit>1 ? rates_total : 2),copied=0;
   copied=CopyBuffer(handle_ma,0,0,count,BufferPrice);
   if(copied!=count) return 0;
//----   
   for(int i=limit; i>=0 && !IsStopped(); i--)
     {
      bp=NormalizeDouble(BufferPrice[i],_Digits);
//--- High signal
   if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=1;   / уфер изменения цвета
     }
//--- Low signal
   if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=2;
     }
     }
 
Alexey Viktorov:

Ich möchte mich auch bei Ihnen bedanken :)))

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
Auch Ihnen vielen Dank. Ich habe dieses Design noch nicht ausprobiert, aber glauben Sie mir, es funktioniert)
 
Kolya32:
Auch Ihnen vielen Dank. Ich habe diesen Entwurf nicht ausprobiert, aber ich nehme Sie beim Wort, dass er funktioniert).

Du hättest es nicht versuchen sollen. Das mit dem Dank war ein Scherz, aber der Code ist ernst gemeint. Warum double über string in int konvertieren, wenn es eine Absolutwertfunktion gibt?

 
kopeyka2:


Guten Tag. Es hat sich eine Frage ergeben. Wie verknüpft man Tick-Daten mit Timeframe-Balken? Unten finden Sie einen Teil des Codes. Sie schaltet die Farbe des Puffers um. Ich habe es herausgefunden

mit Farben, aber es ist nicht klar, wie man hier verlinkt...? Ich habe einige Gedanken über die Struktur von MqlRates, aber es ist nicht klar, welchen Wert ich nehmen soll...? Ich habe gesehen, wie es funktioniert (Beispiel in der Dokumentation), aber der Wert springt und es ist nicht klar, warum.

Sie überprüfen nicht, was in den

if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))

Im Falle eines Fehlers geben die Funktionen 0 zurück. Ihre Logik funktioniert auch im Falle fehlerhafter Daten von iOpen() im ersten und iClose() im zweiten Fall.

Für den Empfang von Tick-Daten in mql5 gibt es die Struktur MqlTick und die Funktion CopyTicks(), mit der man die Daten der erforderlichen Anzahl der letzten Ticks in der Struktur erhalten kann. Um sie dann mit einem Balken des Zeitrahmens zu verknüpfen, müssen Sie die Balkennummer über die Tickzeit ermitteln. iBarShift() und das Feld der Struktur tick.time

 
Artyom Trishkin:

Sie prüfen nicht, was in den

Im Falle eines Fehlers geben die Funktionen 0 zurück. Ihre Logik funktioniert auch im Falle von Fehlerdaten von iOpen() im ersten Fall und iClose() im zweiten Fall.

Um die Tick-Daten in mql5 zu erhalten, gibt es eine Struktur MqlTick und die Funktion CopyTicks(), mit der Sie die Daten für die erforderliche Anzahl der letzten Ticks in der Struktur erhalten können. Um sie dann mit einem Balken des Zeitrahmens zu verknüpfen, müssen Sie die Balkennummer über die Tickzeit ermitteln. iBarShift() und das Feld der Struktur tick.time

Danke. Die Schwierigkeit hier (in meiner Frage) besteht darin, dass Candlesticks durch Ticks schattiert werden. Der Balken des Zeitrahmens macht es einfacher. Aber... Und deshalb bin ich wieder hier))))
 
kopeyka2:
Ich danke Ihnen. Die Schwierigkeit hier (in meiner Frage) besteht darin, dass Kerzen mit Zecken bemalt sind. Der Balken des Zeitrahmens macht es einfacher. Aber... Und deshalb bin ich wieder hier))))

Ich bitte Sie. Dort (in Ihrer Frage) verstehe ich nichts...

 
Artyom Trishkin:

Ich bitte Sie. Ich verstehe hier nichts (in Ihrer Frage)...

Ich glaube, ich habe einen ähnlichen 3LineBreak gefunden https://www.mql5.com/ru/code/485
 
Meine Herren, ich kann nicht verstehen, wo der Parameter kontinuierliche Anzahl von Verlustgeschäften in der mt5-Tester ist oder sollte ich es zu meinem Roboter hinzufügen? mt4 hat es. Ich kann nicht finden, wie es zu implementieren.
Dateien:
l9rnznuztu.jpg  73 kb
 
freelancerAntonyan:
Meine Herren, ich kann nicht verstehen, wo der Parameter kontinuierliche Anzahl von Verlustgeschäften in der mt5-Tester ist oder muss es in den Roboter vorgeschrieben werden? mt4 hat es. Ich kann nicht finden, wie es zu implementieren.

Sie können die Berechnung selbst vornehmen, indem Sie die benutzerdefinierten Kriterien auswählen.

Grund der Beschwerde: