Sie haben geschrieben, dass es nicht mit einem Volumen à 0.07 oder sogar 1 funktioniert. Wie definieren Sie das ? Lot=0.07 ?
Ich war mir nicht sicher, ob ich Mqlrequest und Mqlresult richtig geschrieben hatte, und so habe ich stattdessen CTrade verwendet. Ich fand heraus, dass es funktionierte, wenn ich feste Volumina verwendete, und jetzt habe ich herausgefunden, dass ich die festen Volumina mit ganzen Zahlen multiplizieren kann, aber wenn ich versuche, die Volumina mit Brüchen zu ändern, erhalte ich Fehler wie ungültige Losgröße, das Ergebnis der geänderten Losgröße wird mit dem Fehler[ungültiges Volumen] ausgegeben.
MetaNt: Normalize double ist ein Fix für die komplexen Dezimalzahlen, ich werde es auf meiner dynamischen Partie versuchen.
Behoben.
Sieht so aus, als ob es einer meiner Skalierungsfaktoren aus einigen Gleichungen war, die außerhalb des CT Buy/Sell lagen. Es war kein Problem, das ich in mql4 angetroffen hatte, also brauchte ich eine Weile, um es zu finden, ich werde darauf achten müssen, wenn mql4 wieder aktualisiert wird.
Für alle anderen, die dieses Problem haben, verwenden Sie 2 für den Ziffernteil der Funktion NormalizeDouble().
Ich scheine hier auf das gleiche Problem zu stoßen. Ich habe bestätigt, dass die Losgröße den Anforderungen SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX und SYMBOL_VOLUME_STEP entspricht.
Ich scheine hier auf das gleiche Problem zu stoßen. Ich habe bestätigt, dass die Losgröße den Anforderungen SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX und SYMBOL_VOLUME_STEP entspricht.
Es mag die dynamische Losgröße nicht? Es funktioniert mit ct trade, wenn ich eine feste Lotgröße verwende.
CTrade ist ein Wrapper für OrderSend().
Sie haben geschrieben, dass es nicht mit einem Volumen à 0.07 oder sogar 1 funktioniert. Wie definieren Sie das ? Lot=0.07 ?
CTrade ist ein Wrapper für OrderSend().
Sie haben geschrieben, dass es nicht mit einem Volumen à 0.07 oder sogar 1 funktioniert. Wie definieren Sie das ? Lot=0.07 ?
Es ist Dezimalzahlen von bestimmter Komplexität, ich werde versuchen, normalize double.
Normalize double ist ein Fix für die komplexen Dezimalzahlen, ich werde es auf meiner dynamischen Partie versuchen.
Behoben.
Sieht so aus, als ob es einer meiner Skalierungsfaktoren aus einigen Gleichungen war, die außerhalb des CT Buy/Sell lagen. Es war kein Problem, das ich in mql4 angetroffen hatte, also brauchte ich eine Weile, um es zu finden, ich werde darauf achten müssen, wenn mql4 wieder aktualisiert wird.
Für alle anderen, die dieses Problem haben, verwenden Sie 2 für den Ziffernteil der Funktion NormalizeDouble().
007 sagen Sie?
Das sollten Sie vielleicht Herrn Bond fragen ;-)
Ich scheine hier auf das gleiche Problem zu stoßen. Ich habe bestätigt, dass die Losgröße den Anforderungen SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX und SYMBOL_VOLUME_STEP entspricht.
Zum Beispiel erhalte ich dies:
2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [invalid volume]
Beim Backtesting von EA mit diesem Symbol und diesen Spezifikationen:
Hier der Code, den ich zum Senden der Order verwende:
EDIT:
Ich kann natürlich manuell Trades mit genau dieser Lotgröße platzieren.
Ich scheine hier auf das gleiche Problem zu stoßen. Ich habe bestätigt, dass die Losgröße den Anforderungen SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX und SYMBOL_VOLUME_STEP entspricht.
Zum Beispiel erhalte ich dies:
2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [invalid volume]
Beim Backtesting von EA mit diesem Symbol und diesen Spezifikationen:
Hier der Code, den ich zum Senden der Order verwende:
EDIT:
Ich kann natürlich manuell Trades mit genau dieser Lotgröße platzieren.
Diese Zeile ist ohne Wirkung:
NormalizeDouble(trade_size,DecimalPoints);Sie müssen das Ergebnis in eine Variable einfließen lassen, siehe Dokumentation von NormalizeDouble.
trade_size=NormalizeDouble(trade_size,DecimalPoints);