Fehler, Irrtümer, Fragen - Seite 413

 

Dann sagen Sie mir bitte, was zurückgegeben wird, wenn die Funktion erfolgreich ist

und was es zurückgibt, wenn es fehlschlägt, da die Dokumentation nichts darüber aussagt...

nach meinem Verständnis ist 1 wahr

0 - falsch ???????????????

//-----------------------------------------//

Gibt den Wert einer bestimmten Eigenschaft eines laufenden mql5-Programms zurück.

intMQL5InfoInteger(
intproperty_id// Kennung der Eigenschaft
);

Parameter

Eigenschaft_id

[Kennung der Immobilie. Kann einer der Werte der Aufzählung ENUM_MQL5_INFO_INTEGER sein.

Zurückgegebener Wert

Wert vom Typ int.

//---------------------------------------//

 

Bei dieser Konstruktion

NormalizeDouble(p, SymbolInfoInteger(symbol,SYMBOL_DIGITS));

Fehler durch fehlende Übereinstimmung des Datentyps

möglicher Datenverlust aufgrund von Typumwandlung


Vielleicht weiß jemand, wie man das beheben kann = wirklich ...?

Ich danke Ihnen!

 
Im_hungry:

Dann sagen Sie mir bitte, was zurückgegeben wird, wenn die Funktion erfolgreich ist

und was sie zurückgibt, wenn sie fehlschlägt

Die Doku sagt nichts über die"fehlgeschlagene" Ausführung MQL5InfoInteger.

Zur Erfolgskontrolle verwenden Sie GetLastError

 
Im_hungry:

Weiß jemand, wie man das beheben kann = wirklich ...?

um es auf den gewünschten Typ zu bringen.
 
sergeev:
auf den gewünschten Typ.

Ich weiß nicht, wie Sie es einbringen wollen, wenn die Entwicklerdokumentation eindeutig zeigt

Das long to int wird nicht funktionieren, wie Sie schreiben: "cast to the required type".

 
sergeev:

In den Dokumenten steht nichts über"fehlgeschlagene" Ausführungen MQL5InfoInteger. es gibt nur erfolgreiche.

Und zur Erfolgskontrolle verwenden Sie GetLastError

Ich verstehe Ihren skeptischen Optimismus,

Vielen Dank für Ihre Hilfe, ich wünsche Ihnen einen schönen Tag.

 
Im_hungry:

Ich weiß nicht, wie Sie sich darauf berufen können, wenn die Dokumentation der Entwickler eindeutig zeigt

Das long to int wird nicht funktionieren, wie Sie schreiben: "reduce to the required type".

Wie diese

int OrdersLimit = (int)AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);
 
Interesting:

Es geht ungefähr so.

Endlich=die erste gleichmäßig atmende reale Person erschien für

heute, danke für ALLE Arbeiten. Viel Glück!

 

Ich kann iCustom() nicht übertreffen.

Sowohl in Quartet als auch in Fiver werden beim Extrahieren von Indikatorwerten in den Balken ohne Signale

iCustom() zeigt manchmal unterschiedliche Artefakte an:

Die Daten werden wie folgt extrahiert:

int OnInit()
  {
...
    IH=iCustom(Symbol(),PERIOD_CURRENT,"Indicator.ex5");
...
  }

void OnTick()
  {
...
      double IC=0;      
      double IB[];
      CopyBuffer(IH,1,WorkBar,1,IB);
      IC=IB[0];
      if(IC>0){Print(IC);}
...
  }

Der Wert der Variablen WorkBar=1 bestimmt die Nummer des Balkens, dessen Wert wir aus dem Puffer extrahieren.

Was könnte das Problem sein? Sie können keine Variablen verwenden?

Wenn Sie versuchen, Daten aus zwei verschiedenen Puffern in einem Tick zu extrahieren, erhalten Sie manchmal das folgende Bild:

 
MoneyJinn:

Ich kann iCustom() nicht übertreffen.

Sowohl in Quartet als auch in Fiver werden beim Extrahieren von Indikatorwerten in den Balken ohne Signale

manchmal erzeugt iCustom() unterschiedliche Artefakte:

Setzen Sie immer explizit Werte für alle Balken in den Indikatoren. Lesen Sie den Artikel Indikator für Indikator in MQL5:

Sie sollten für jedes Element des Indikatorpuffers einen Wert festlegen, und wenn der Indikatorwert für einen bestimmten Balken nicht definiert ist (gemäß dem in den Indikator eingebetteten Algorithmus nicht berechnet wird), sollten Sie für solche Fälle ausdrücklich einen leeren Wert festlegen. So wird beispielsweise der Wert des Indikatorpuffers durch die Division berechnet, und irgendwann kann sich herausstellen, dass der Teiler gleich Null ist.