Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wer hat die Funktion OrderCheck verwendet.
Dies ist ein Konstrukt:
request.action=TRADE_ACTION_DEAL;
request.symbol=_Symbol;
request.volume=volume_exe;
request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK);
request.sl=0;
request.tp=0;
request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2;
request.type=ORDER_TYPE_BUY;
request.type_filling=ORDER_FILLING_CANCEL;
MqlTradeResult result;
OrderCheck(request, result);
if(OrderSend(request, result)==false)
Beim Kompilieren erhalte ich eine Fehlermeldung: 'result' - parameter conversion is not allowed.
Wenn Sie OrderCheck entfernen, wird alles normal kompiliert und die Position im Testgerät geöffnet.
Schauen Sie sich die Beschreibung der Funktion an. Hier steht etwas über die Antwortstruktur von MqlTradeCheckResult.
Ich danke Ihnen vielmals.
Hier ist, was es ist...
Es sollte die Gewinne aus den Geschäften ab dem angegebenen Datum zählen. Das Ergebnis sieht völlig anders aus, als es tatsächlich ist. Ich habe zum Beispiel 611 statt des Ergebnisses von 2000 erhalten. Ich habe begonnen, jeden Tag zu prüfen (kommentierte Zeile). Es gibt(!!) Tage, an denen das Ergebnis das gleiche ist, aber normalerweise ist es nicht das, was es sein sollte...(ich konnte keine Regelmäßigkeit finden). Und der Debugger produziert den gleichen exakten Zyklus für die gesamte Anzahl der Trades. Allerdings kann ich nur diese Anzahl von Geschäften nachvollziehen, da für alle anderen Variablen außer den int-Variablen keine Werte angezeigt werden (Ausdruck konnte nicht ausgewertet werden).
Ist dieser Code korrekt, und verwende ich den Debugger richtig...?
Die Transaktionsschleife sollte sein
Verwenden Sie im Debugger die Funktion "Step in" (F11). Wenn Sie dann eine Funktion eingeben, in der eine Variable oder ein Ausdruck definiert ist, wird deren Wert angezeigt.Der Transaktionszyklus sollte sein
Verwenden Sie im Debugger 'Schritt mit Eingabe' (F11). Wenn Sie dann eine Funktion eingeben, in der eine Variable oder ein Ausdruck definiert ist, wird deren Wert angezeigt.Nehmen wir an, dass der Zyklus bei Null beginnt... Wo steht allerdings geschrieben, dass die Zahlen des Handels bei Null beginnen? Nach der Tatsache zu urteilen, dass wir jetzt 10611 haben (vorher waren es 611, statt etwa 2000), d.h. plus die Größe der ursprünglichen Einlage, bin ich mir da nicht sicher ... selbst wenn es null oder sogar eins ist, verstehe ich immer noch nicht, woher 10.000 kommen
Debugger, ich verstehe, F11...
Sagen wir, der Zyklus beginnt bei Null... Wo steht allerdings geschrieben, dass die Zahlen des Handels bei Null beginnen? Nach der Tatsache zu urteilen, dass Sie jetzt 10611 bekommen (vorher waren es 611, statt etwa 2000), d.h. plus die Größe der ursprünglichen Kaution, bin ich mir da nicht sicher ... selbst wenn es null oder sogar eins ist, verstehe ich immer noch nicht, woher 10.000 kommen
Debugger, ich verstehe, F11...
Das erste Geschäft ist in der Regel eine Anzahlung. Es scheint, dass die Geschäfte in der Historie von 0 an gezählt werden. Wenn ich mich also nicht irre, ist das 0-te Geschäft eine Einzahlung.
Kann ich die Formel erläutern, nach der der Gewinn aus dem Geschäft berechnet wird?
PS
Wenn ich mich recht erinnere, sollte das Ergebnis wie folgt berechnet werden: Gesamtgewinn = Gewinn + Tauschprovision;
Warum gibt SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), Null zurück?
Die erste Transaktion ist in der Regel eine Einzahlung. Es scheint, dass Transaktionen in der Historie von 0 an gezählt werden. Wenn ich mich also nicht irre, ist die 0.
Können Sie die Formel angeben, mit der der Gewinn aus dem Geschäft berechnet wurde?
PS
Wenn ich mich recht erinnere, sollte das Ergebnis wie folgt berechnet werden: TotalProfit = Profit+Swap-Commission;
auf der letzten Seite im vollständigen Code
nach diesem Kodex, sollte die Kaution in keinem Fall berücksichtigt werden
die Provision ist auch plus - sie ist minus.
Zuerst beschwerte sich der Compiler, dass "#import "lbS7N_Servis.ex5"" fehlte.
Nachdem ich diese Zeile gelöscht hatte, gab er den Geist auf:
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) A=101699 B=101699 C=661701
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
Als ich die Kontonummer im Code durch meine Kontonummer ersetzte, erhielt ich diese:
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) A=101699 B=101699 C=101699
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
MQ-Server, Build 316.
und mein M1 passte nicht dazu.
Es bedeutet, dass Sie auch einen Fehler haben, aber weniger als ich.
Vielleicht sollten Sie es in der Verbindung des Programms mit dem System suchen.
Was für ein System haben Sie?
Ich habe einen core2duo 1.3 Ghz 64 Win7 HB Lizenz, 4GB ddr 2 RAM, bauen. 316
Und es gibt sogar drei einzigartige Situationen. Dies sind die entdeckten Fälle. Und wie viele unentdeckt?
Und bei diesem Stand der Dinge wird MetaQuotes in einem Monat die Meisterschaft 2010 starten?
Oh, wie viele "Wunder" der MetaTrader 5 für uns bereithält...