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

 
Vladimir Karputov:

Ich habe niemanden bedroht. Sie träumen.

Außerdem haben Sie MQL5 und MQL4 verwechselt. MQL5-Code sind Dateien mit der Erweiterung .mq5.

Ich habe niemanden bedroht, sondern nur eine Bemerkung gemacht, eine witzige Formulierung :-)

Ich habe hier Code fünf zitiert, vielleicht haben Sie mich mit jemandem verwechselt.

 
psyman:

Ich will nicht drohen, sondern tadeln, das ist eine witzige Formulierung :-)

Ich habe hier Code fünf zitiert, vielleicht verwechseln Sie mich mit jemand anderem.

Zwei Schritte:

Vergleichen Sie die Zahlen 4 und 5. Finden Sie den Unterschied.

Gehen Sie Ihre Beiträge durch und sehen Sie sich die Zahl an.


Und im Allgemeinen geht es in diesem Thread um MQL5, hören Sie auf, darüber zu schimpfen, dass Sie hier sind.

 

Freunde, könnt ihr mir mit einer Funktion helfen, die die Zeichen der offenen Positionen auswählt und sie in einem Array speichert. Ich scheine kein Problem damit zu haben, aber ich kann die Duplikate nicht loswerden, wenn es mehrere offene Positionen gibt.

 
Alexander Mikryukov:

Freunde, könnt ihr mir mit einer Funktion helfen, die die Zeichen der offenen Positionen auswählt und sie in einem Array speichert. Ich scheine kein Problem damit zu haben, aber ich kann die Duplikate nicht loswerden, wenn es mehrere offene Positionen gibt.

Hier, schreiben Sie es für mql5 um

  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
    if(OrderType()<2) {
     if(ArraySearchStr(symbols, OrderSymbol())==-1) {
      b++;
       ArrayResize(symbols,b+1);
       symbols[b]=OrderSymbol();
  }}}}

//===============================================================================================
//------------------------------ Функция удаляет копии с массива -------------------------------+
//===============================================================================================
int ArraySearchStr(string& m[], string e) {
  for(int i=0; i<ArraySize(m); i++) {
   if(m[i]==e) return(i);
  }
  return(-1);
 }
 
Vitaly Muzichenko:

Hier, für mql5, schreiben Sie es selbst um

Ich danke Ihnen.

 

Helfen Sie mir, etwas zu verstehen, was ich nicht verstehe.

      for(int p = 0; p < InpShiftCorrection; p++) prs += pressureDetermination(open[i],close[i],high[i],low[i]);
      prs /= InpShiftCorrection;
      prs *= (high[i] - low[i]);
      Print(NormalizeDouble(prs,Digits()));

Die Frage ist, warum der Normalisierungsdrucker so einen Unsinn produziert.

2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00025
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00012
2019.03.29 22:53:29.310 2019.01.02 06:01:21   8.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   5 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -4 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00017
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -8.000000000000001 e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00052
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00029
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00114
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00123
 
Сергей Таболин:

Helfen Sie mir, etwas zu verstehen, was ich nicht verstehe.

Die Frage ist, warum der Normalisierungsdrucker so einen Unsinn produziert.

Print(NormalizeDouble(prs,Digits()));
Print(DoubleToString(prs,Digits()));
 
Vitaly Muzichenko:

Ich werde es ausprobieren. Ich danke Ihnen. Aber bis jetzt hat derselbe Drucker ausschließlich korrekte Werte ausgegeben...

 
Сергей Таболин:

Ich werde es ausprobieren. Ich danke Ihnen. Aber bis jetzt hat genau dieser Druck außergewöhnlich korrekte Werte geliefert...

Er hat Ihnen geschmeichelt)

 
Vitaly Muzichenko:

Er hat Ihnen geschmeichelt))

Scheinbar ja )))) Es hat funktioniert.