Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1076
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
Hallo. Könnten Sie mir helfen, wenn Sie Zeit haben Frage ist dies, ich brauche die EA, um einen Auftrag auf jedes Signal von zwei Indikatoren zu öffnen, (sie geben ein Signal, wenn sie in bestimmten Kombination sind) in einem Wort, sollte es mehrere Kauf oder Verkauf Aufträge auf dem Markt, bzw. nach den Signalen der Indikatoren sein. Aber ich habe nur einen Auftrag auf dem Markt, und bis dieser geschlossen wird, öffnet sich der nächste nicht...... Liegt es an der Zählung der Aufträge? Bitte geben Sie mir einen Hinweis. Wenn Sie ihn brauchen, kann ich Ihnen den Code schicken.
Vielen Dank im Voraus!
die Bedingung "if (OrdersTotal()==0)...." entfernen. - Sie sagen nur: Suche nach Einträgen und eröffne neue Aufträge nur dann, wenn es gar keine Aufträge gibt.
Wenn Sie ein großes Paket neuer Aufträge nicht ohne eine solche Bedingung öffnen wollen, müssen Sie eine zusätzliche Bedingung erstellen. Und das hängt von Ihrer Strategie ab: keine neue Order innerhalb der Zeit T der vorherigen zu eröffnen, oder die Balken zu kontrollieren oder Abstände in Pips zwischen den Orders einzuhalten...
Hallo. Zunächst möchte ich mich bei Ihnen bedanken, dass Sie Neulingen helfen. Ich wäre nicht in der Lage, Tag für Tag einem Neuling und dann noch einem anderen elementare Fragen zu beantworten.
Und die Frage ist folgende:
Früher, als mql4 noch etwas anders war, dachte ich, dass jede Orderverarbeitung, wie z.B. das Öffnen/Schließen/Ändern nach einem möglichen Fehler durch die return(0)-Funktion unterbrochen werden sollte. Wenn ich also mehrere offene Orders zum aktuellen Preis schließen müsste, würde der Tester sie bei jedem neuen Takt einzeln schließen, und das würde das reale Bild im Tester (für jeden Tick eines Frames) wahrscheinlich (manchmal ziemlich dramatisch) verzerren. Der neue EA muss mehrere Orders genau nach dem Signal und teilweise schließen.
Frage: Ist es möglich, alle von ihnen in einer Schleife zu verarbeiten (sie teilweise zu schließen), ohne die Schleife jedes Mal zu unterbrechen? Wird der Prüfer damit zurechtkommen? D.h., wird es in der Lage sein, sie alle teilweise in einem Takt zu schließen?
Hallo. Zunächst möchte ich mich bei Ihnen bedanken, dass Sie Neulingen helfen. Ich wäre nicht in der Lage, Tag für Tag einem Neuling und dann noch einem anderen elementare Fragen zu beantworten.
Und die Frage ist folgende:
Früher, als mql4 noch etwas anders war, dachte ich, dass jede Orderverarbeitung, wie z.B. das Öffnen/Schließen/Ändern nach einem möglichen Fehler durch die return(0)-Funktion unterbrochen werden sollte. Wenn ich also mehrere offene Orders zum aktuellen Preis schließen müsste, würde der Tester sie bei jedem neuen Takt einzeln schließen, und das würde das reale Bild im Tester (für jeden Tick eines Frames) wahrscheinlich (manchmal ziemlich dramatisch) verzerren. Der neue EA muss mehrere Orders genau nach dem Signal und teilweise schließen.
Frage: Ist es möglich, alle von ihnen in einer Schleife zu verarbeiten (sie teilweise zu schließen), ohne die Schleife jedes Mal zu unterbrechen? Wird der Prüfer damit zurechtkommen? D.h., wird es in der Lage sein, sie alle teilweise in einem Takt zu schließen?
Unter einer kleinen Bedingung ist das ohne Probleme möglich. Der Code muss korrekt geschrieben sein.
Wenn es 2 Funktionen (möglicherweise überladen), zum Beispiel, int Funkz(int a) int Funkz(int a, int b, int w), und dann das Programm kompiliert wird, welche Funktion wird schneller arbeiten, die erste, wenn man bedenkt, dass es ein Argument hat, oder es spielt keine Rolle, weil das Programm bereits gebaut ist und was im Körper beschrieben ist, oder trotzdem gibt es einen kleinen Effekt, weil die Funktion Argumente einen Stapel darstellen, für die der Speicher reserviert ist?
Wenn Sie zwei gleichnamige Funktionen mit unterschiedlicher Anzahl von Argumenten haben, ist es keine Frage, welche schneller aufgerufen wird. Wenn Sie eine Funktion aufrufen, schreiben Sie nicht Funkz(), sondern geben die Anzahl der Argumente an.
Die Frage ist, ob der Compiler Funktionen mit demselben Namen auffrisst.
Wenn ich es richtig verstehe, geht es nicht um den Code, sondern um die kompilierte Datei?
Wenn Sie zwei gleichnamige Funktionen mit unterschiedlicher Anzahl von Argumenten haben, ist es keine Frage, welche schneller aufgerufen wird. Wenn Sie eine Funktion aufrufen, schreiben Sie nicht Funkz(), sondern geben die Anzahl der Argumente an.
Die Frage ist, ob der Compiler Funktionen mit demselben Namen auffrisst.
Sie meinen die kompilierte Datei, nicht den Code?
Und wenn die Funktionen unterschiedlich sind, welche funktioniert dann schneller mit weniger oder mehr Argumenten? Ich denke, dass die Überladung mit verschiedenen Nummern auch eine Belastung darstellt, oder ist sie nur der Einfachheit halber?
Bitte sagen Sie mir, wie man #define schreibt?
Ich schreibe es so
#define my_POS cst_Position.my_Position
Wenn ich diese Konstruktion in def ändere, funktioniert alles.
Aber wenn ich nur my_POS schreibe. wird die Funktionsliste nicht nach einem Punkt angezeigt.
Dasselbe gilt für
#define pos_DATA cst_Position.getPositionData
Es gibt keine Hinweise nach der pos_DATA(.
Was mache ich falsch?
Hallo, liebe Experten!
Bitte helfen Sie mir, dieses Problem zu lösen.
Wenn ich ein beliebiges Paar teste, funktioniert alles einwandfrei, aber wenn ich mit anderen Währungen arbeite, werden die schwebenden Aufträge nicht platziert (ich muss den schwebenden Auftrag offenlegen) und werden nach der Auslösung des Take-Profits nicht geschlossen.
Bitte teilen Sie mir mit, wie ich den Code ändern kann, falls möglich:
Herzlichen Dank im Voraus
Hallo, liebe Experten!
Bitte helfen Sie mir, dieses Problem zu lösen.
...Bitte geben Sie den Code korrekt ein: