Fehler, Irrtümer, Fragen - Seite 3023

 
A100:

Leider war dies schon immer der Fall

und wird es wahrscheinlich auch noch lange Zeit bleiben.

Es wäre logisch, wenn das Terminal beim Start den Favoriten-Ordner von nicht existierenden Programmen säubern würde.
oder eine Meldung wie "Hey, Programmierer, sei nicht traurig, du solltest besser den Chard auslassen! Die Datei fehlt!".

und jetzt passiert das Gleiche: Statt Paint.exe wird das System im Format c

 

optimieren=0

Funktioniert nicht - entweder 0 oder 1 - die Kompilierungszeit ist die gleiche. Früher (letztes Jahr) wurde alles schnell genug kompiliert, jetzt dauert es sehr lange

 
A100:

Funktioniert nicht - entweder 0 oder 1 - die Kompilierzeit ist die gleiche. Früher (letztes Jahr) wurde alles schnell genug kompiliert, jetzt dauert es sehr lange

mqh-Funktion verwenden. Bei der mqh-Kompilierung werden keine Optimierungen verwendet, da sie nicht erforderlich sind (keine Erzeugung von ausführbarem Code)

 
Andrei Trukhanovich:

Verwenden Sie die mqh-Funktion. Beim Kompilieren von mqh wird optimize=0 nicht verwendet, da es nicht benötigt wird (keine Erzeugung von ausführbarem Code).

Ich habe einen einfacheren Weg gefunden, ein nicht benötigtes Projekt zu öffnen und die Optimierung zu deaktivieren - auf einmal 5 mal schneller, aber weroptimize=0 verhindert hat ist unklar und von der Kommandozeile aus funktioniert das schnelle Kompilieren von Bibliotheken auch nicht.

 

Mehr als ein Dutzend MT5-Terminals sind in Betrieb. Die logischen Kerne sind nicht gleichmäßig belastet.

  • Wie viele Kerne kann ein Terminal verwenden?
  • Wählt MT5 die Kerne für seinen Betrieb selbst aus oder das Betriebssystem?
  • Ist es möglich, die Arbeit der Terminals gleichmäßig auf die Kerne zu verteilen?
 

Wie erhalte ich den Wert dieses Feldes im MT5, den ich im MT4 sehen kann?


Geben Sie die Funktion frei, die immer den richtigen Randwert ergibt. OrderCalcMargin lügt, leider. Und diese Option ist kein Allheilmittel.

 
fxsaber:

Geben Sie eine Funktion frei, die immer den richtigen Randwert liefert. OrderCalcMargin lügt, leider. Und diese Option ist kein Allheilmittel.

Ich bitte die Entwickler, die fehlerhafte Arbeit von OrderCalcMargin zu verstehen!


Bitte eröffnen Sie ein Demokonto auf dem ServerForexTimeFXTM-Demo01 vom Terminal aus und führen Sie dieses Skript auf EURSEK aus.

// Выводит количество маржи для открытия Buy-позиции на 1 лот.
void OnStart()
{
  double Margin;
  
  if (OrderCalcMargin(ORDER_TYPE_BUY, _Symbol, 1, SymbolInfoDouble(_Symbol, SYMBOL_ASK), Margin))
    Alert(Margin);
}


Wir bekommen dieses Missverhältnis.

Ich habe absolut alle Symbol-/Kontoeinstellungen, die über MQL verfügbar sind, überprüft. Alles ist korrekt. Ich habe das Gefühl, dass es auf der Seite des Brokers eine Einstellung gibt, die im Terminal nicht verfügbar ist. Wahrscheinlich das hier.

Es gibt eine Menge ähnlicher Symbole. Wie man richtig handelt, ist unklar. Bitte kommentieren Sie dies, da der Fehler für das Handelsterminal kritisch ist. Es ist leicht, an Ort und Stelle in einen MarginCall zu geraten.

 

Der Screenshot zeigt, dass es bei MT5 im Gegensatz zu MT4 nicht möglich ist, den Hebel/Margin des Symbols zu erkennen.


 
fxsaber:

Der Screenshot zeigt, dass es im Gegensatz zu MT4 keine Möglichkeit gibt, den Leverage/Margin eines Symbols auf MT5 zu erfahren.

SymbolInfoMarginRate ? Und zählen Sie die Marge von Hand, etwa so

if(IsSymbForexCFD)
    Result=GetLastPrice(SymbName)/GetForexSymbLeverage(SymbName)*GetSymbolTickValue(SymbName)/GetSymbolTickSize(SymbName);