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
wenn Sie Ihren Metatrader starten, muss der EA herausfinden, ob ein Handel offen ist
Ich mache nur die Schleife, die abwärts zählt, um zu prüfen, ob es einen Handel gibt.
Wenn ich es am Anfang auf eins setze und OrdersTotal() >0, dann prüft es die Trades if(.......> || .......> ){die Schleife ausführen....
sind Sie sicher, dass u gab mir den Code, der Ihnen die Ergebnisse auf oben gezeigt? ich testete es auf 1440 (1 DAY) Zeitraum und keine Trades ausgeführt wurden. jedoch, wenn ich es ändern, um 1M viele Trades ausgeführt wurden
OK hier geht.....Ich werde versuchen, hier zu helfen, wenn ich kann.
Diese Ma_Shift-Frage habe ich schon seit einiger Zeit und konnte nie eine klare Antwort darauf finden.
Wenn Sie in Ihrem Code bemerken, dass Sie eine Verschiebung von 8 auf Ihren gleitenden Durchschnitten verwenden.... was bedeutet das?
Dies macht einen Unterschied von 3 Pips im Wert dieser 08:00-Kerze, wie hier im Datenfenster angezeigt.
Das bringt uns zu der Frage: Wofür ist die "Shift"-Einstellung am Ende?
Nun, wenn Sie bei geöffnetem Datenfenster mit der Maus über Ihr Diagramm fahren und von Kerze zu Kerze gehen
werden Sie sehen, dass sich die Zahlen für den 5 SMA von Kerze zu Kerze ändern...
Darum geht es bei dem letzten SHIFT-Wert... Sie müssen bedenken, dass die aktuelle Kerze, die gerade gezeichnet wird
die letzte abgeschlossene Kerze ist die Kerze 1. Wenn es also insgesamt 1000 Kerzen auf Ihrem Chart gibt
werden sie rückwärts nummeriert, von 999 am linken Rand des Charts bis 0, wo Sie sich gerade befinden.
Wenn Sie also wissen möchten, wie hoch der Wert des 5 SMA vor 5 abgeschlossenen Kerzen war, setzen Sie eine 5 an diese letzte Stelle.
setzen Sie eine 5 an diese letzte Stelle ... natürlich im Laufe der Zeit ... Kerze 5 wird auf die nächste Kerze ändern.
Nun, wie bereits erwähnt ... wenn Sie immer den Wert der Kerze 0... dann ist dieser Wert constanly
mit dem Preis ändern. So können Sie ein Signal nehmen und dann der Indikator repaints auf Sie .. aber wenn Sie sind
aber wenn Sie immer nach den Informationen von Kerze 1 fragen, ist es vorbei und wird sich nicht ändern....
Ich hoffe das hilft...
Ich habe alles neu gemacht und fixiert die Schleife, Schlupf, fixiert den gleitenden Durchschnitt und RSI-Werte, stellte sicher, dass jede geöffnete Positionen geschlossen werden, bevor Sie neue Position. aber wenn ich backtest es, nichts passiert, keine kaufen/verkaufen wurden ausgeführt... was das Problem mit ihm wieder?
Die init()-Funktion wird nur beim Start ausgeführt und nicht bei jedem Tick wie die start()-Funktion. Sie müssen die gleitenden Durchschnitte wieder in die start-Funktion statt in die init()-Funktion einfügen, damit es funktioniert und immer neue Zahlen liefert...
Überarbeitet
Fügen Sie eine Funktion ein, bei der der EA prüft, ob es noch offene Aufträge gibt, bevor er eine neue Position eröffnet. Wenn es eine offene oder schwebende Order gibt, wird nicht versucht, eine neue Position zu eröffnen.
Ich sehe, dass jeder eine Schleife verwendet, um zu prüfen, ob es eine offene Position gibt, bevor er kauft. Ich kann die Logik dessen nicht erkennen. Solange OrdersTotal > 0 ist, gibt es offene Aufträge und mein EA wird nicht versuchen, weitere Positionen zu eröffnen.
Ich habe die absteigende Schleife korrigiert.
Diesmal bekomme ich den OrderClose-Fehler 138, der nicht durch Hinzufügen von refreshrates() gelöst werden kann.
und ich verliere am Ende immer noch Geld, was ich nicht tun sollte.
Ich kann nicht denken, von etwas anderes zu beheben...
Überarbeitet
Fügen Sie eine Funktion ein, bei der der EA prüft, ob es noch offene Aufträge gibt, bevor er eine neue Position eröffnet. Wenn es eine offene oder schwebende Order gibt, wird nicht versucht, eine neue Position zu eröffnen.
Ich sehe, dass jeder eine Schleife verwendet, um zu prüfen, ob es eine offene Position gibt, bevor er kauft. Ich kann die Logik dessen nicht erkennen. Solange OrdersTotal > 0 ist, gibt es offene Aufträge und mein EA wird nicht versuchen, weitere Positionen zu eröffnen.
Ich habe die absteigende Schleife korrigiert.
Diesmal bekomme ich den OrderClose-Fehler 138, der nicht durch Hinzufügen von refreshrates() gelöst werden kann.
und ich verliere am Ende immer noch Geld, was ich nicht tun sollte.
Mir fällt nichts mehr ein, was ich beheben könnte...
Warum haben Sie die Logik für die Eröffnung eines Kaufs platziert, bevor Sie die Trades überprüfen, die Ihr EA auf Ihrem Konto geöffnet hat ????
Was wird jetzt ???? mit der Programmierung, die Sie bisher haben, passieren?
Angenommen, Sie haben ein Konto mit Ihrem EA laufen. Sie eröffnen manuell einen Handel für GBPUSD.
Wie viele Trades hat OrdersTotal() mit diesem Trade?
Ihr Code.... für BUY
Was macht er jetzt und aus welchem Grund tut er das?
Warum haben Sie die Logik für die Eröffnung eines Kaufs platziert, bevor Sie die Trades überprüfen, die Ihr EA auf Ihrem Konto geöffnet hat ????
Was passiert nun ???? mit der Programmierung, die Sie bisher vorgenommen haben?
Angenommen, Sie haben ein Konto mit Ihrem EA laufen. Sie eröffnen manuell einen Handel für GBPUSD.
Wie viele Trades sind OrdersTotal() mit diesem Trade?
Ihr Code.... für BUY
Was macht er jetzt und aus welchem Grund tut er das?
nur kaufen, wenn die Kaufbedingungen erfüllt sind und keine Positionen eröffnet wurden
nur kaufen, wenn die Kaufbedingungen erfüllt sind und keine Positionen eröffnet wurden
Angenommen, Sie haben ein Konto mit Ihrem EA laufen. Sie eröffnen manuell einen Handel für GBPUSD.
Wird die Bedingung erfüllt sein
Würden Sie mir bitte einen Blick auf Ihre Codes geben?
Ich möchte wissen, warum ich gescheitert bin und wie ich es richtig machen kann.
.
Ihre Nachricht an mich kann ich Ihnen den vollständigen Code direkt geben.....
Das wird nicht kostenlos sein, dafür müssen Sie den BereichJobs nutzen und dafür bezahlen...
Du wirst ihn dann dort bekommen
.
Eine andere Möglichkeit ist, Ihre Themen gut zu lesen.
Wir helfen dir hier zu lernen, wie du es selbst programmieren kannst. Das ist kostenlose Hilfe.
Wir zeigen dir deine Fehler und helfen dir in die Richtung, wie du sie lösen kannst.
Ich zeige dir den Code, den ich habe, sobald du einen Weg gefunden hast, ihn zu schreiben ....
Du brauchst dann nicht zu bezahlen und kannst ihn gleich mit dem Code vergleichen, den du hier mit Hilfe dieses Forums erstellt hast
....
meine letzte Frage ist immer noch nicht beantwortet
Angenommen, Sie haben ein Konto mit Ihrem EA laufen. Sie eröffnen manuell einen Handel für GBPUSD.
wird die Bedingung wahr sein
.
. Im anderen ThemaOrderClose Fehler 138
Sie haben dort sehr gut geholfen(RaptorUK und WHRoeder danke für die Erklärung dort ich denke sehr gut gemacht)
.
Eine andere Frage, die ich an Sie habe, ist
Warum haben Sie den Timeframe bei der Berechnung des Moving Average geändert?
Das ist nicht dasselbe wie das, was ich angegeben habe,
Es ist nicht die Berechnung der richtigen Wert auf anderen Chart Daily
.
Nehmen Sie sich also Zeit zum Lernen und Üben und lesen Sie sorgfältig die Hilfe, die Sie hier in diesem Forum erhalten
oder Sie bezahlen jemanden, der für Sie auf einer Seite wie Jobs programmiert.
Würden Sie mir bitte einen Blick auf Ihre Codes geben?
Ich möchte wissen, warum ich gescheitert bin und wie ich es richtig machen kann.
.
Ihre Nachricht an mich kann ich Ihnen den vollständigen Code direkt geben.....
Das wird nicht kostenlos sein, dafür musst du den BereichJobs nutzen und dafür bezahlen...
Du wirst ihn dann dort bekommen
.
Eine andere Möglichkeit ist, Ihre Themen gut zu lesen.
Wir helfen dir hier zu lernen, wie du es selbst programmieren kannst. Das ist kostenlose Hilfe.
Wir zeigen dir deine Fehler und helfen dir in die Richtung, wie du sie lösen kannst.
Ich zeige dir den Code, den ich habe, sobald du einen Weg gefunden hast, ihn zu schreiben ....
Du brauchst dann nicht zu bezahlen und kannst ihn gleich mit dem Code vergleichen, den du hier mit Hilfe dieses Forums erstellt hast
....
meine letzte Frage ist immer noch nicht beantwortet
Angenommen, Sie haben ein Konto mit Ihrem EA laufen. Sie eröffnen manuell einen Handel für GBPUSD.
wird die Bedingung wahr sein
.
. Im anderen ThemaOrderClose Fehler 138
Sie haben dort sehr gut geholfen(RaptorUK und WHRoeder danke für die Erklärung dort ich denke sehr gut gemacht)
.
Eine andere Frage, die ich an Sie habe, ist
Warum haben Sie den Timeframe bei der Berechnung des Moving Average geändert?
Das ist nicht dasselbe wie das, was ich angegeben habe,
Es ist nicht die Berechnung der richtigen Wert auf anderen Chart Daily
.
Nehmen Sie sich also Zeit zum Lernen und Üben und lesen Sie sorgfältig die Hilfe, die Sie hier in diesem Forum erhalten
oder Sie bezahlen jemanden, der für Sie auf einer Seite wie Jobs programmiert.
sollOrdersTotal() die Gesamtzahl der Pending Orders und Market Orders anzeigen, unabhängig davon, ob sie durch EA oder manuell geöffnet wurden?
Ich habe in diese Richtung gedacht. Mein EA prüft immer, ob es offene Orders gibt, und wenn ja, öffnet er keine weiteren Orders, und er öffnet nur neue Orders, wenn es keine offenen Orders mehr gibt.
Ich denke, es funktioniert gut, weil meine Ergebnisse Abschnitt zeigt mir die Reihenfolge 1,1,2,2,3,3,4,4, was bedeutet, eine Bestellung geschlossen ist, bevor neue Bestellung geöffnet wird.
Die Variablen für den gleitenden Durchschnitt und den RSI haben sich aus Testgründen geändert. Ich war es auf verschiedenen Zeitrahmen/Periode experimentieren, aber nicht ändern es zurück, wenn ich es hier posten.
und die bizarrsten von allen, mein Code wird NUR ausführen, um zu kaufen. es hat nie ausgeführt, nicht einmal eine... verkaufen, um. das ist einfach seltsam,
Kurz gesagt, die Probleme, mit denen ich jetzt noch konfrontiert bin.
1. er führt nur Kaufaufträge aus, aber nie Verkaufsaufträge, obwohl ich den Verkauf kodiert habe
2. sie macht immer noch einen negativen Gewinn, was bei dieser Strategie nicht der Fall sein sollte.