Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 100
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 verstehe nicht, wo es hingehört und warum es nicht (-1)
es gibt einen Eingabeparameter bool
void OnTick
{Analyse der Auftragseröffnung, Trailing Stop}
Trailing Stop aufheben
{entspricht den engen Bedingungen
wenn ja, decken wir alles ab
}
Ich weiß nicht, welche Logik Sie da haben. Wie soll ich denn erraten, was Sie da haben?
um drei Punkte
1 externer Punkt, an dem wir festlegen, ob wir den zweiten oder mehrere Aufträge öffnen wollen
2) eine Bedingung, bei der wir den ersten Auftrag öffnen müssen
3) Bestellpunkt schließen
Ich kann Ihnen den Code schicken, aber er ist für alle gleich
Warum also verschmutzen Sie das Thema, wenn Sie keine Hilfe brauchen?
Sie werden keine nützlichen Nachrichten auf tausend nutzlosen Seiten finden
P.S. Oder ist es Ihr Ziel, Ihre Beiträge bis zum Anschlag zu füllen?Dann bitte ich um ein Diagramm des Schalters an diesen drei Punkten. Dann werde ich meine Beiträge löschen, wenn Sie sie für Unsinn halten.
Was ist dieser Punkt?
1 externer Punkt, an dem wir festlegen, ob wir den zweiten oder mehrere Aufträge öffnen wollen
2) eine Bedingung, bei der wir den ersten Auftrag öffnen müssen
3) Abschluss des Tagesordnungspunktes
Wissen Sie überhaupt, was Sie wollen?
Unter Punkt 2 kann ein Auftrag nicht eingestellt, nicht geschlossen und nur gelöscht werden. Im Allgemeinen ist alles, was Sie haben, irgendwie logisch inkohärent und vage, Sie müssen ein Stellvertreter sein.
Es gibt diesen Teil des Codes:
ObjectCreate(0,nm,OBJ_TEXT,0,0,0);
ObjectSetString(0,nm,OBJPROP_PRICE, TIME(0)+Period()*60*3); // сдвиг вправо на 3 свечи
}
Frage:Periode() liefert einen gesunden Wert bis M30, ab H1 eine Menge von Ziffern, und die Markierung kann nicht mehr auf diese Weise verschoben werden.
Wie kann man nach N-Kerzenleuchtern unabhängig von der Periode verschieben? Ich muss doch nicht eine eigene Funktion schreiben, oder?
Es gibt diesen Teil des Codes:
ObjectCreate(0,nm,OBJ_TEXT,0,0,0);
ObjectSetString(0,nm,OBJPROP_PRICE, TIME(0)+Period()*60*3); // сдвиг вправо на 3 свечи
}
Frage:Periode() liefert einen gesunden Wert bis M30, ab H1 eine Menge von Ziffern, und die Markierung kann nicht mehr auf diese Weise verschoben werden.
Wie kann man nach N-Kerzenleuchtern unabhängig von der Periode verschieben? Ich muss doch nicht eine eigene Funktion schreiben, oder?
Ich danke Ihnen!
Die Frage ist: Wie korrekt ist dieser Eintrag, der am Anfang des Programms steht, während im gesamten Programm viele Time[0] und Time[1] verwendet werden, die nicht jedes Mal aufgerufen werden müssen, sondern in eine Variable geschrieben werden. Es scheint keine Fehler außerhalb des Arrays zu geben, aber alles ist oberflächlich definiert:
//------------
void OnTimer()
ArraySetAsSeries(TM, true);
if(CopyTime(_Symbol, PERIOD_CURRENT, 0, 2, TM)==-1) return;
TIME0 = TM[0];
TIME1 = TM[1];
Danke!
Was ist dieser Punkt?
1 externer Punkt, an dem wir festlegen, ob wir den zweiten oder mehrere Aufträge öffnen wollen
2) eine Bedingung, bei der wir den ersten Auftrag öffnen müssen
3) Abschluss des Tagesordnungspunktes
Wissen Sie überhaupt, was Sie wollen?
Unter Punkt 2 kann ein Auftrag nicht eingestellt, nicht geschlossen und nur gelöscht werden. Im Allgemeinen sind Sie immer irgendwie logisch inkohärent und vage, Sie müssen ein Abgeordneter sein.
bitte. Hier ist der externe bool-Parameter OpenOrders=false;//+---open order
Ich brauche es, um Aufträge zu öffnen, sie zu schließen und dann einfach auf dem Diagramm zu bleiben, ohne Ressourcen zu verbrauchen.
im Moment ist es selbst gesägt (es funktioniert, ist aber für ein Plattenelement inakzeptabel)
bitte. Hier ist der externe bool-Parameter OpenOrders=false;//+---open order
Ich brauche es, um eine Order zu öffnen, sie zu schließen und dann einfach auf dem Chart zu bleiben, ohne Ressourcen zu verbrauchen.
im Moment ist es selbst gesägt (es funktioniert, ist aber für ein Plattenelement inakzeptabel)
Ich hätte das getan. Hinzufügen von "Deaktiviert" zum Code
P.S. Ersetzen Sie Zeile 72 durch "if(! Disabled) return;". Ich denke, die Logik der Flagge ist klar.Ich würde wie folgt vorgehen. Fügen Sie "Deaktiviert" in den Code ein.
P.S. Ersetzen Sie Zeile 72 durch "if(! Disabled) return;". Ich denke, die Logik der Flagge ist klar.Nein, das ist nicht klar. Wir kehren dorthin zurück, woher wir gekommen sind.
1) Deaktiviert=true
initialisieren auf true inite
Übergabe an Ontik if(!Disabled) return;
öffnen schließen
Disabled=false; exit. Alles ist in Ordnung.
2) Deaktiviert=false
ontik auf true initialisieren
Übergabe an ontic if(!Disabled) return;
öffnen schließen
Disabled=false; exit. Wo kann ich die nächste Bestellung aufgeben? Einige Varianten sollten dies ermöglichen.
Verstehen Sie jetzt, warum ich Sie gebeten habe, die Logik zu beschreiben?
Ich habe auch eine Option für 2 EAs.
Nein, das verstehe ich nicht. Zurück dorthin, wo wir herkommen.
1) Deaktiviert=true
im inite auf true initialisieren
Übergabe an Ontik if(!Disabled) return;
öffnen schließen
Disabled=false; exit. Alles ist in Ordnung.
2) Deaktiviert=false
ontik auf true initialisieren
Übergabe an ontic if(!Disabled) return;
öffnen schließen
Disabled=false; exit. Wo kann ich die nächste Bestellung aufgeben? Einige Varianten sollten dies ermöglichen.
Verstehen Sie jetzt, warum ich Sie gebeten habe, die Logik zu beschreiben?
Ich habe auch eine Option für 2 EAs.