![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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 habe eine Frage.
Wäre es korrekt in MQL5:In MQL4 sieht der Code folgendermaßen aus:
Ich habe eine Frage.
Wäre es korrekt in MQL5:Der Code in MQL4 sieht folgendermaßen aus:
nicht ganz korrekt.
ist es wünschenswert, CopyTime einmal vor der Schleife aufzurufen
nicht ganz korrekt.
ist es wünschenswert, CopyTime einmal vor der Schleife aufzurufen
Oder?
Im Datenfenster gibt es eine Variable Volumen. Soweit ich weiß, ist damit das (reale) Börsenvolumen gemeint. Mir ist heute aufgefallen, dass auf EUR/USD M1 (Alpari), wenn man den Mauszeiger über einen beliebigen Balken hält, die Volumenwerte angezeigt werden. Ich frage mich, ob jemand weiß, wie diese Werte berechnet werden? Ist dies das Handelsvolumen für das Paar nur für Alpari-Kunden, oder ist es nur zufällige Zahlen überhaupt, oder was... Auf dem Screenshot unten sehen Sie das Volumen = 620m.
Im Datenfenster gibt es eine Variable Volumen. Soweit ich weiß, ist damit das (reale) Börsenvolumen gemeint. Mir ist heute aufgefallen, dass auf EUR/USD M1 (Alpari), wenn man den Mauszeiger über einen beliebigen Balken hält, die Volumenwerte angezeigt werden. Ich frage mich, ob jemand weiß, wie diese Werte berechnet werden? Ist dies das Handelsvolumen für das Paar nur für Alpari-Kunden, oder ist es nur zufällige Zahlen überhaupt, oder was... Auf dem Screenshot unten sehen Sie das Volumen = 620m.
Seltsame Störung während der Ausführung des Programms
int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)
{
int Resx;
MqlDateTime Struc;
TimeToStruct(lTime,Struc);
Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);
Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60));
zurück(Resx);
}
Zählen Sie dasselbe zum Vergleich mehrmals, ein Ausschnitt des Protokolls ist unten zu sehen. Der Fehler wird in rot angezeigt, da er nicht negativ sein kann. Es scheint, als ob eine Variable beschädigt wird. Worum geht es bei diesem Problem und wie kann es gelöst werden? Vielen Dank im Voraus für Ihre Hilfe.
Nur für Alpari-Kunden. Aber die internen Volumina der großen Büros sind sehr stark korreliert.
Es gibt in der Standardbibliothek Klassen zur Erstellung von grafischen Oberflächen. Das ist eine gute Nachricht.
Enttäuschend ist, dass die Dialoge nicht einwandfrei funktionieren, wie im Testbeispiel zu sehen ist. Wenn Sie einen Doppelklick ausführen und mit dem zweiten Klick ein "bewegliches" Element (z.B. eine Bildlaufleiste oder eine Fenstertitelleiste) erfassen, können Sie diese an eine beliebige Stelle auf dem Bildschirm ziehen. Die zweite frustrierende Eigenschaft ist, dass, wenn ein Dialogfenster horizontal verschoben wird, das Diagramm auf dem Diagramm zusammen mit ihm scrollt. Es ist nicht fatal, aber unangenehm, besonders wenn man bedenkt, dass der Zweck des Verschiebens oft darin besteht, das Diagramm unterhalb des Dialogs zu betrachten. Die dritte ist die instabile Funktion von Steuerelementen (z.B. Kontrollkästchen) und allgemein leichte Verzögerungen (die wahrscheinlich in der aktuellen Implementierung des Terminals nicht behoben werden können).
Es gibt auch architektonische Unannehmlichkeiten (z. B. eine Architektur, die auf statischen Dialogaufbau (frühzeitige Verknüpfung von Elementen) abgestimmt ist), aber das ist etwas für Feinschmecker. Im Prinzip ist es erträglich.
Es gibt auch Pluspunkte und sogar Schönheiten in der Umsetzung, aber darüber in diesem Thread zu sprechen, kommt nicht in Frage.
Die Fehler sind behebbar.
--
Ich würde auch gerne im Standard-Toolset haben, um mehrseitige Dialoge zu implementieren (CTabBox oder so ähnlich).
Seltsame Störung während der Ausführung des Programms
int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)
{
int Resx;
MqlDateTime Struc;
TimeToStruct(lTime,Struc);
Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);
Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60));
zurück(Resx);
}
Zählen Sie dasselbe zum Vergleich mehrmals, ein Ausschnitt des Protokolls ist unten zu sehen. Der Fehler wird in rot angezeigt, da er nicht negativ sein kann. Es scheint, als ob eine Variable beschädigt wird. Worum geht es bei diesem Problem und wie kann man es lösen? Vielen Dank im Voraus für Ihre Hilfe.
1. Bitte fügen Sie den Code korrekt ein.
2. Können Sie mir den vollständigen Quellcode, ein Arbeitsbeispiel oder den Funktionscode von MarketDayCycle zur Verfügung stellen?
Es gibt keine Arrays in diesem Stück Code und es gibt keine Möglichkeit, mit Arrays zu arbeiten
bei der Installation des neuen Builds 642 funktioniert der Sound "Testing Finished" nicht, nachdem der EA-Test abgeschlossen ist,
Ist dies ein Fehler oder . kein Fehler?