[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 699
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
Hier haben Sie
void OpenBuy() {
double dStopLoss = 0, dTakeProfit = 0;double Lots_New = Lot;
wenn (isLossLastPos(NULL, -1, MAGIC))
Lose_Neu *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lose_Neu = Los;
Es handelt sich um eine Funktion, und gleich zu Beginn dieser Funktion weisen Sie der Variablen Lots_New den Wert = Lot zu;
Überlegen Sie sich, wie sie sich danach verändern wird, wenn Sie sie immer wieder in ihren ursprünglichen Zustand zurückversetzen?
Wo habe ich Ihnen gesagt, Sie sollen es schreiben? In den externen Variablen vor der Startfunktion...
Und normalisieren Sie den Wert des Loses auf die richtige Größe:
Lots_New = NormalizeLot(Lot*2, False, "");
Ich danke Ihnen vielmals!
Können Sie uns auch sagen, ob Sie den Wert eines Loses zu jedem nachfolgenden Verlustauftrag hinzufügen können? Sie können etwas wie dieses verwenden
1 Los 0,01
2 Partien 0,01
3 Partien 0,02
4 Los 0,03
5 Los 0,07
.....
15 Los 1.2
Die Möglichkeit, den Lotwert im Code zu ändern.
Und falls sich ein Geschäft als profitabel erweisen sollte, würde alles wieder auf Anfang gestellt.
Ich werde Ihnen im Voraus danken.
Ich danke Ihnen.
Roger, danke, aber es funktioniert immer noch nicht richtig. Ich habe versucht, einen weiteren Trailing-Stop hinzuzufügen, aber der Fehler ist immer noch da :( Gibt es einen Unterschied zwischen Trailing-Stop für eine Position und Trailing-Stop für mehrere Positionen gleichzeitig?
Das macht im Prinzip keinen Unterschied.
Versuchen Sie meine Funktion, es ist einfach genug, übergeben Sie als Parameter, medjic, und gewünschte Schleppnetz.
Der Aufruf dieser Funktion erfolgt beim Start an beliebiger Stelle, solange sie bei jedem Tick dorthin "spritzt".
Offensichtlich sollten Aufträge unterschiedliche Schieberegler haben.
Helfen Sie mir, ein Problem zu lösen!
Ich suche nach Aufträgen, die offen oder in Bearbeitung sind. Wenn sie verfügbar sind, entscheide ich, ob es sich um einen Kauf- oder Verkaufsauftrag handelt. Unter bestimmten Bedingungen (wenn einer größer als der andere oder kleiner als der dritte ist), möchte ich diesen Auftrag schließen. Ändern Sie die Parameter und öffnen Sie sie erneut.
Das Problem ist, dass es immer ein Signal gibt, um den Auftrag zu schließen und zu öffnen. Deshalb wird meine Bestellung geschlossen und wieder geöffnet, und so öffnet und schließt sie sich ... )))
Wie lässt sich dieses Problem lösen? GaTragen Sie hier Ihren Code mit Öffnungs- und Öffnungsbedingungen ein. Wir werden den Finger darauf legen... :)
Die Zählung der Nummern in der Funktion OrderSelect() beginnt bei Null. Und Sie haben 1, was bedeutet, dass Sie nach der zweiten Bestellung suchen, obwohl Sie nur eine auf dem Markt haben, weshalb es nicht funktioniert.
Sie können dies mit Parametern tun, aber nicht mit Mustern. Sie müssen zunächst die Kriterien festlegen. Ähnlich, nicht ähnlich. Und wenn sie ähnlich ist, in welchem Umfang. Zumindest um wie viel (in Prozenten). Im einen Fall die Zeitkomponente, im anderen Fall die Preiskomponente. Wie man sie miteinander in Beziehung setzt. Obwohl ich eine neuronale Schicht anbringen kann. Die Kohonen-Schicht macht das sehr gut.
Ich habe 12 Varianten eines Musters in einem meiner Indikatoren, das Muster ist das gleiche, aber die Werte sind immer unterschiedlich und ihr Verhältnis ist unterschiedlich )), ....) Ich habe noch nie mit neuronalen Netzen gearbeitet, und ich denke, dass meine Erfahrung im Schreiben elementarer Algorithmen mit mql nicht ausreicht, auch wenn sie mir vielleicht hilft, das Problem zu lösen. Ich habe diese Aufgabe früher "barbarisch" bewältigt, indem ich Kohonen ersetzte, indem ich alle Parameter in Exxel zum Zeitpunkt des Auftretens des Musters und des Ergebnisses, wenn das Geschäft eröffnet wurde, aufschrieb und dann mit Hilfe der Exxel-Analyse nach weiteren Übereinstimmungen in Korrelation mit der Rentabilität suchen musste. So oder so habe ich etwas bekommen, und das System hat das Muster klug definiert, aber es war trotzdem nicht sehr intelligent).
Ich weiß nicht, welche Funktion du verwendest, aber die allgemeine Idee ist folgende: Da deine Tonhöhe nicht gleichmäßig ist, schlage ich vor, ein Array zu verwenden, in das du die benötigten Volumina schreibst und dann die Funktion verwendest, um ihren Wert zu durchlaufen.
Beispiel für meinen Code:
Beispiel für einen Funktionsaufruf:Ich glaube, es ist ein De ja vu... Bin ich der Einzige? Es haben Ihnen schon mehrere Leute geantwortet... Hm?
Geben Sie Ihren Code mit der Bedingung für das Öffnen und Öffnen der Pose ein. Wir werden den Finger darauf legen... :)
Ich weiß nicht, welche Funktion du verwendest, aber hier ist eine allgemeine Idee: Da deine Tonhöhe nicht flach ist, schlage ich vor, ein Array zu verwenden, in das du die benötigten Mengen schreibst und dann die Funktion verwendest, um die Werte durchzugehen.
Beispiel für meinen Code:
Beispiel für einen Funktionsaufruf:
Herzlichen Dank!!!!!
Ich verwende Ihren Code auch (und er funktioniert übrigens gut), aber ich wollte den Artemis-Code zuerst in einem anderen EA installieren, weil ich mehr Probleme damit hatte und es eine prinzipielle Frage war, warum er nicht richtig funktionierte.
Nochmals vielen Dank !!!! Ich werde es jetzt ausprobieren!
Die Frage mag trivial sein, der Expert Advisor handelt auf M1, das Signal zum Eröffnen einer Order kam, nehmen wir an, der Stop ist short und die Order wurde auf dem Sl geschlossen, aber die Bedingung zum Eröffnen besteht weiterhin.
Wie lässt sich am besten sicherstellen, dass der Auftrag nicht in derselben Minute erneut geöffnet wird?