Fehler, Irrtümer, Fragen - Seite 97

 
EvgeTrofi:

Wenn die Rückgabe viele Klammern hat, kommt sie durcheinander!?

Hier ist zum Beispiel eine Funktion, die eine Zahl aus einer Zeichenkette wie "klsfd Schritt 2" zurückgibt:

Wie unterscheidet sie sich von dieser?

Der zweite Fall führt zu Problemen bei der Kompilierung, der erste nicht.

Versuchen Sie dies

int GetStep(string text){
   string Right;
   int U = StringFind(text, "Step ");
   int End;
   if(U>=0){
      U=U+5;
      Right = StringSubstr(text, U);
      End = StringFind(Right, ".");
      return((int)(MathRound(StringToDouble(StringSubstr(text, U, End-U)))));
   }
   return(0);
}
 
Interesting:

Sie müssen das Ergebnis explizit in den Typ int konvertieren.

PS

Aber soweit ich weiß, kann diese Warnung im Prinzip ignoriert werden...

Nun, das ist klar, aber logisch gesehen ist es nicht korrekt! Ein Ausdruck rechts vom Gleichheitszeichen sollte den Typ int zurückgeben!

 
EvgeTrofi:

Nun, das ist verständlich, aber logisch gesehen ist es nicht richtig! Der Ausdruck rechts vom Gleichheitszeichen sollte den Typ int zurückgeben ?!

Für SYMBOL_TRADE_STOPS_LEVEL ist es int, aber die Funktion kann auch andere Typen zurückgeben...

Kennung

Beschreibung

Art der Immobilie

SYMBOL_SELECT

Zeigt an, dass das Symbol im Market Watch ausgewählt ist.

bool

SYMBOL_VOLUME

Volumen - Volumen des letzten Handels

lang

SYMBOL_VOLUMEHIGH

Maximale Lautstärke für den Tag

lang

SYMBOL_VOLUMELOW

Niedrigstes Volumen des Tages

lang

SYMBOL_VOLUMEBID

Volumen im aktuellen Angebot

lang

SYMBOL_VOLUMEASK

Volumen im aktuellen Ask

lang

SYMBOL_ZEIT

Letzte Angebotszeit

datetime

SYMBOL_ZIFFERN

Anzahl der Dezimalstellen

int

SYMBOL_SPREAD

Spread-Größe in Pips

int

SYMBOL_SPREAD_FLOAT

Zeichen einer schwimmenden Ausbreitung

bool


PS

Außerdem, wie ich bereits oben geschrieben habe, kann diese Warnung "ignoriert" werden, wenn Sie sicher sein können, dass der Code korrekt ist...

 
Können Sie mir bitte sagen, wie ich die automatische Aktualisierung deaktivieren kann? Mein Arbeitsplatz gibt mir nur 200 MB für einen Monat. Ein weiteres Update und der Verkehr bricht zusammen :(
 
EvgeTrofi:
Können Sie mir bitte sagen, wie ich die automatische Aktualisierung deaktivieren kann? Mein Arbeitsplatz gibt mir nur 200 MB für einen Monat. Noch ein Update und der Verkehr ist ruiniert :(
Standardwege sind nicht möglich, zumindest noch nicht...
 

"aktualisiert" auf die neueste Version - als Ergebnis, jedes Mal, wenn Sie eine Verbindung mit dem Internet, der Client zunächst 60 mb verbraucht, dann nicht reagieren, gezwungen, die schließen

Client über den Task-Manager, öffnete das Programm "Defragmentierung Festplatte Dieser Bereich des Laufwerks (auf dem der Client installiert ist) ist stark fragmentiert, Defragmentierung

hilft immer noch nicht, die Dateien in dem Verzeichnis (wo das Terminal MQL-5 installiert ist) sind immer noch fragmentiert.

 
Ich habe meinen EA von MQL4 auf MQL5umgeschrieben. Beim Kompilieren wird kein einziger Fehler oder Kommentar gemacht. Während des Tests - kein einziger Handel. Wo kann ich den Grund für dieses Ergebnis finden? Wonach sollte ich zuerst suchen?
 
EvgeTrofi:
Ich habe meinen EA von MQL4 auf MQL5 umgeschrieben. Beim Kompilieren wird kein einziger Fehler oder Kommentar gemacht. Während des Tests - kein einziger Handel. Wo kann ich den Grund für dieses Ergebnis finden? Worauf ist besonders zu achten?
Kann ich das Protokoll des Expert Advisors im Strategy Tester sehen (vorzugsweise als Datei)?
 
Das Protokoll ist, wenn man so will, leer. Ich bin es gewohnt, dass MQL4 wie falsches Los oder falsche Haltestellen schreibt....
 
EvgeTrofi:
Das Protokoll ist, wenn man so will, leer. Ich bin es gewohnt, dass MQL4 wie falsches Los oder falsche Haltestellen schreibt....

Dies ist das Protokoll des Testers, mit einem Hinweis darauf, wo man das Protokoll des Agenten einsehen kann

MN      0       Tester  13:42:54        log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20100817.log" written