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
Ich kann es kaum erwarten, dass die Funktion OrderCalcMargin() für CFD, Futures, Indizes usw. richtig funktioniert. Kann jemand Formeln zur korrekten Berechnung der Marge für diese Instrumente mitteilen?
Und wahrscheinlich habe ich die ganze Sache heraufbeschworen, ich kann mir keinen anderen Grund vorstellen...
Ich werde versuchen, die Situation ausführlicher zu beschreiben.
Es gibt eine einfache Klasse "CMqlTimer", deren Aufgabe es ist, den Zeitpunkt des Wechsels von verschiedenen Zeitintervallen zu verfolgen: Stunde, Tag, Woche, Monat, Jahr.
Alles wird mit sehr einfachen Primitiven realisiert, zum Beispiel, wenn die Minuten gleich 0 sind, dann ist die "neue Stunde" gekommen; wenn die Nummer des Wochentages nicht mit der in der Variable gespeicherten übereinstimmt, dann ist der Tageswechsel ("00:00:00" nach Serverzeit) gekommen. Also weiter.
Die Analyse wird durchgeführt, wenn der Timer ausgelöst wird, mit einem Intervall von 1 Sekunde, die Arbeit wird in CMqlTimer::OnTimer() durchgeführt. Wenn sich das Zeitintervall ändert, muss die Funktion ausgeführt werden. Wenn es zum Beispiel ein "neuer" Tag ist, sollte die Funktion CMqlTimer::OnRolloverDay() ausgeführt werden.
Wenn wir den Rest des Codes entfernen und nur OnRolloverDay() schreiben, sieht das Ergebnis wie folgt aus:
Alle Benutzerereignisse werden aufgezeichnet und zur Bearbeitung an die Hauptklasse weitergegeben
Es sieht in etwa so aus
Daher erreichen die Ereignisse OnChartEvent im Testmodus nicht, d.h. der Expert Advisor kann ein mit EventChartCustom gesendetes Ereignis im Testmodus nicht verarbeiten. Überprüfen Sie dies, indem Sie alle Ereignisse im Protokoll anzeigen lassen.
PS
Das Interessanteste ist, dass alle Ereignisse auf der Demo zu erhalten, aber in der Tester, weigert es sich, zu arbeiten.
Bis 319 hat alles funktioniert und im Tester werden die Ereignisse erfolgreich behandelt. Ob die letzte Version wirklich funktioniert hat, kann ich nicht sagen...
Ich danke Ihnen. Wir werden darüber nachdenken müssen.
Steht das nicht in der Hilfe? Es scheint so zu sein...
Was ich allerdings nicht verstehe, sind die folgenden, rot markierten Variablen in den Formeln
Kennung
Beschreibung
Formel
SYMBOL_CALC_MODE_FOREX
Forex-Modus - Gewinn- und Margenberechnung für Forex
Marge: Lose*Vertragsgröße/Verwendung
Gewinn: (Schlusskurs-Eröffnungskurs)*Kontraktgröße*Lose
SYMBOL_CALC_MODE_FUTURES
Futures-Modus - Berechnung von Marge und Gewinn für Futures
Marge: Lose *InitialMargin*Percentage/100
Gewinn: (Schlusskurs-Eröffnungskurs)*TickPreis/TickSize*Lots
SYMBOL_CALC_MODE_CFD
CFD-Modus - Berechnung von Marge und Gewinn für CFD
Marge: Lose *Vertragsgröße*Marktpreis*Prozentsatz/100
Gewinn: (Schlusskurs-Eröffnungskurs)*Kontraktgröße*Lose
SYMBOL_CALC_MODE_CFDINDEX
CFD-Index-Modus - Berechnung von Marge und Gewinn für CFD-Indizes
Marge: (Lots*ContractSize*MarketPrice)*TickPrice/TickSize
Gewinn: (Schlusskurs-Eröffnungskurs)*Kontraktgröße*Lose
SYMBOL_CALC_MODE_CFDLEVERAGE
CFD Leverage Modus - Berechnung der Marge und des Gewinns für CFD beim Handel mit Leverage
Marge: (Lots*Kontraktgröße*Marktpreis*Prozentsatz)/Leverage
Gewinn: (Schlusskurs-Eröffnungskurs)*Kontraktgröße*Lose
Darf ich fragen, wie sich die Dinge in dieser Richtung entwickeln? Ich brauche die Ereignisse im Tester wirklich, um richtig zu funktionieren...
Auf Ihren Wunsch hin wurde der Antrag erstellt - er wird nicht verloren gehen!
Auf Ihren Wunsch hin wurde der Antrag erstellt - er wird nicht verloren gehen!
Fehler - früher hat es funktioniert, jetzt nicht mehr.
Fehler - früher hat es funktioniert, jetzt nicht mehr.
Das funktioniert bei mir.
Hier ist das Ergebnis:
2010.09.08 20:15:12 Entwurf1_1 (EURUSD,M15) 2010.09.10 19:15:04
2010.09.08 20:15:12 Entwurf1_1 (EURUSD,M15) 2010.09.10 19:15:04
Fehler - früher hat es funktioniert, jetzt nicht mehr.
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13
Ich nicht, es funktioniert nicht. Die Zahlen sind unterschiedlich. 324 bauen. Win7 64bit.
Prival:
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13
Ich habe das hier:
2010.09.08 21:18:04 PrivalTest (EURUSD,H1) 2010.09.10 19:18:15
2010.09.08 21:18:04 PrivalTest (EURUSD,H1) 2010.09.10 19:18:15
Protokoll:
2010.09.08 21:30:15 PrivalTest (EURUSD,M1) 2010.09.10 19:30:24
2010.09.08 21:30:15 PrivalTest (EURUSD,M1) 2010.09.10 19:30:24
Win XP.