Fehler, Irrtümer, Fragen - Seite 36

 
Renat:
Demnächst - bereits in Entwicklung.
OK, ich werde warten, denn meine Bibliothek ist etwas unvollständig...
 
alexvd:

1. Siehe die Hilfefunktion CopyClose().

Die Funktion gibt die Menge der in das Array kopierten Daten zurück, nicht den Schlusskurs.

2. Sehen Sie sich den Close[]-Wert in vtoche an?

Ich betrachte den Wert von vMA und Close[]. Im Wotch funktioniert es gut. Ich habe es auf diese Weise versucht:

     MqlRates mrate[]; 
double
calc_SMA( int timeframe, int period, int offset )
{    
    double vMA = 0;
    double sum=0;
    int    i;
    for( i = 0 ; i < period ; i++ )
    {
        sum += mRate[i].close;
    }
    vMA = sum / period;

    return(vMA);
}

Wieder erhalte ich einen Fehler. Vielleicht gibt es einen anderen Weg, um einfache gleitenden Durchschnitt zu berechnen, oder um die iMA-Handle und CopyBuffer an die richtige Stelle zu nehmen?

 

Entwickler, halten Sie mich nicht für einen kompletten Kretin - Warum brauche ich const, wenn ich Funktionen deklariere? Wie ich verstehe, um ihr Ergebnis als const zu deklarieren (kann nur nicht verstehen, die Notwendigkeit für sie).

Zum Beispiel, diese Deklaration in CAccountInfo

string CAccountInfo::TradeModeDescription() const

Oder täusche ich mich?

 
Hallo, beim Kompilieren des EA erhalte ich einen möglichen Datenverlust aufgrund einer Typkonvertierung
mrequest.price=NormalizeDouble(Podd1,SymbolInfoInteger(Megasymbol,SYMBOL_DIGITS)); //Первая линия поддержки

Können Sie mir sagen, was an dem Code falsch ist?

Dankeschön

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
kirill190982:
Hallo Beim Kompilieren des EA erhalte ich einen Hinweis auf einen möglichen Datenverlust aufgrund einer Typkonvertierung

Können Sie mir sagen, was an dem Code falsch ist?

Dankeschön

... Möglicher Datenverlust ...

Ich würde prüfen, ob die Variablentypen Podd1 und Megasymbol den Parametertypen der Funktionen NormalizeDouble() und SymbolInfoInteger() entsprechen.

 

Frage an die Entwickler in Bezug auf "Benutzer"-Ereignisse und mehrere Experten, die an demselben Terminal arbeiten.

Ich möchte also fragen, ob ich es richtig machen will oder nicht?


Hier ist eine Idee.

Im Laufe des Stücks müssen wir die "benachbarten" Fachberater über einige Vorgänge informieren, die sich abspielen.

Zum Beispiel sollten die folgenden Prozesse zuerst überwacht werden:

1. Fachmännisches Abschließen;

2. Entladen des Expert Advisors;

3. Beendigung von Handelsgeschäften;

4. Wiederaufnahme des Handelsbetriebs.


Umsetzung

I. Erstellen Sie 4 Bezeichner von Ereignissen:

1 - CHARTEVENT_CUSTOM+1//Start des Expert Advisors

2 - CHARTEVENT_CUSTOM+2//Entladen des Expert Advisors

3 - CHARTEVENT_CUSTOM+3 //Handelsgeschäfte einstellen

4 - CHARTEVENT_CUSTOM+4//Wiederaufnahme des Handelsbetriebs


II. Verfolgung von Ereignissen

Wenn eine bestimmte Situation eintritt, generiert der Expert Advisor eine SPARTEVENT-Meldung unter EventChartCustom.

Gleichzeitigschreibt der Expert Advisor in sparam einen Kommentar (Name und Art des Ereignisses oder andere Informationen) undlparam seinen eigenen Chart-Identifikator.

Die Expert Advisors auf anderen Charts (wenn sie die Art eines Ereignisses richtig erkennen können) reagieren auf diesen speziellen EA.


PS

Wenn die Idee gut ist, kann sie fertiggestellt und zu einem Artikel geformt werden. Oder fügen Sie sie dem Hilfebereich für benutzerdefinierte Ereignisse hinzu?

 
kirill190982:
Hallo, ich erhalte beim Kompilieren des EA eine Warnung über einen möglichen Datenverlust aufgrund einer Typkonvertierung.

Bitte sagen Sie mir, was an dem Code falsch ist.

Danke


Ich muss den Typ der geschriebenen Information explizit in einen Variablentyp oder Funktionsparameter umwandeln.

In Ihrem Fall würde es wahrscheinlich folgendermaßen aussehen

mrequest.price=NormalizeDouble(Podd1,(int)SymbolInfoInteger(Megasymbol,SYMBOL_DIGITS)); //Первая линия поддержки

PS

Da es sich jedoch um eine WARNUNG und nicht um einen Fehler handelt, kann dies (zumindest in den meisten Fällen) ignoriert werden.

Es wird nur ein Ärgernis sein und das ist alles...

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
Yedelkin:

... Möglicher Verlust von Daten...

Ich würde prüfen, ob die Variablentypen Podd1 und Megasymbol den Parametertypen von NormalizeDouble() und SymbolInfoInteger() entsprechen.

Die Variable Podd1 ist double, Megasymbol ist string. Die Bedeutung: Pending Order Preis = Widerstandsniveau, sagen wir 1.259756, ich möchte es auf 5 Ziffern normalisieren (Megasymbol = EURUSD)
 
kirill190982:
Die Variable Podd1 ist double, Megasymbol ist string. Die Bedeutung: Pending Order Preis = Widerstandsniveau, sagen wir 1.259756, ich möchte es auf 5 Ziffern normalisieren (Megasymbol = EURUSD)

Die Variablen sind wahrscheinlich in Ordnung. Siehe meinen Beitrag oben...

 
Interesting:

Eine explizite Umwandlung des Typs der zu schreibenden Information in einen Variablentyp oder Funktionsparameter ist erforderlich.

In Ihrem Fall wird es höchstwahrscheinlich folgendermaßen aussehen

PS

Da es sich jedoch um eine WARNUNG und nicht um einen Fehler handelt, kann dies (zumindest in den meisten Fällen) ignoriert werden.

Es wird nur ein Ärgernis sein und das ist alles...

Ich werde es wahrscheinlich erst einmal ignorieren, aber der Compiler hat nie solche Warnungen in MQL4 erzeugt