Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 375
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
Guten Tag zusammen!
Bitte geben Sie mir einen Befehl, damit der Roboter nicht mehr als 1 Order pro Kerze eröffnet.
Auch wenn er seinen Take auf diese Kerze genommen hat - nicht, um den nächsten Auftrag auf derselben Kerze zu eröffnen.
Nun stellt sich heraus, dass - wenn die Bedingungen der Indikatoren erfüllt sind - ein Handel zu eröffnen ist.
Wenn ein Geschäft zum Mitnehmen geschlossen wird, wird sofort ein neues Geschäft auf demselben Kerzenständer eröffnet, und hier ist es für mich schon unnötig und schafft Probleme.
Ich halte es für wichtig, ein Feedback zu geben.
Es braucht eine streng so 1 Kerze - 1 Deal.
Vielen Dank im Voraus!
Guten Tag zusammen!
Bitte geben Sie mir einen Befehl, damit der Roboter nicht mehr als 1 Order pro Kerze eröffnet.
Auch wenn er seinen Take auf diese Kerze genommen hat - nicht, um den nächsten Auftrag auf derselben Kerze zu eröffnen.
Nun stellt sich heraus, dass - wenn die Bedingungen der Indikatoren erfüllt sind - ein Handel zu eröffnen ist.
Wenn ein Geschäft zum Mitnehmen geschlossen wird, wird sofort ein neues Geschäft auf demselben Kerzenständer eröffnet, und hier ist es für mich schon unnötig und schafft Probleme.
Ich halte es für wichtig, ein Feedback zu geben.
Es braucht eine streng so 1 Kerze - 1 Deal.
Vielen Dank im Voraus!
Sie können auch die Flagge verwenden.
Deklarieren Sie eine statische bool-Variable oder eine globale Variable, z. B. flag. Order eröffnet - Flagge = true, eine neue Kerze eröffnet - Flagge = false und fügen Sie diese Flagge der Bedingung der Ordereröffnung hinzu.
Sie können auch eine Flagge verwenden.
Deklarieren Sie eine statische bool-Variable oder eine Variable auf globaler Ebene, die ein Flag sein soll. Order geöffnet - Flagge = true, eine neue Kerze geöffnet - Flagge = false und fügen Sie diese Flagge der Orderöffnungsbedingung hinzu.
Das Flag sollte im globalen Terminal gespeichert und beim Neustart wiederhergestellt werden.
Es hängt davon ab, in welchem Zeitraum der Handel stattfindet und ob es möglich ist, das Terminal innerhalb eines Taktes neu zu starten, um einen Auftrag zu eröffnen und das Terminal neu zu starten.
Ich mag GV nicht und versuche, ohne es auszukommen. Wenn Sie einen EA starten, sollten Sie ohnehin alle Informationen über offene Aufträge sammeln. Warum also nicht den Wert des Flags beim Start wiederherstellen? Dies ist eine Möglichkeit. Die zweite Variante ist, dass der Anfangswert der Flagge die Eröffnung von Aufträgen verbietet und erst der nächste Balken die Erlaubnis erteilt. Selbst wenn wir den EA auf dem aktuellen Balken geöffnet und neu gestartet haben, verbietet uns die Flagge, bis zum nächsten Balken Aufträge zu öffnen.
Wenn Sie solche Ratschläge mit so viel Feingefühl erteilen, müssen Sie über nichts nachdenken. Die Zahl der Fragen wird also entsprechend steigen... Warum etwas selbst entscheiden... Fragen Sie im Forum und Sie erhalten eine funktionierende Version. Und das Einzige, was bleibt, ist, das Produkt auf den Markt zu bringen...
Es hängt davon ab, in welchem Zeitraum der Handel stattfindet und ob es möglich ist, das Terminal innerhalb eines Taktes neu zu starten, um einen Auftrag zu eröffnen und das Terminal neu zu starten.
Ich mag GV nicht und versuche, ohne es auszukommen. Wenn Sie einen EA starten, sollten Sie ohnehin alle Informationen über offene Aufträge sammeln. Warum also nicht den Wert des Flags beim Start wiederherstellen? Dies ist eine Möglichkeit. Die zweite Variante ist, dass der Anfangswert der Flagge die Eröffnung von Aufträgen verbietet und erst der nächste Balken die Erlaubnis erteilt. Selbst wenn wir also eine neue Order auf dem aktuellen Balken öffnen und den EA neu starten, verbietet die Flagge die Öffnung von Orders bis zum nächsten Balken.
Wenn wir solche subtilen Ratschläge erteilen, müssen wir über nichts nachdenken. Folglich kann sich die Zahl der Fragen erhöhen. Warum etwas selbst entscheiden... Fragen Sie im Forum und Sie werden eine funktionierende Version erhalten. Und das Einzige, was bleibt, ist, das Produkt auf den Markt zu bringen...
:)
Das ist der gleiche Grund, warum wir verschiedene Frauen mögen.
Welchen Unterschied macht es, die Flagge oder den Zeitpunkt der Eröffnung einer Position? Wie man es auch dreht und wendet, man muss trotzdem etwas überprüfen...Hallo! Können Sie mir sagen, wie man die Anzahl der letzten Verlustaufträge nach den Gewinnaufträgen zurückgibt?
Hier ist mein Code, was ist falsch?
int GetProfitLoss()// Verlust bei geschlossenen Aufträgen (Anzahl der letzten Verlustaufträge)
{
int Verlust = 0;
datetime lastCloseTime = 0;
int cnt = OrdersHistoryTotal();
for(int i=0; i < cnt; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == OrderId && lastCloseTime < OrderCloseTime())
{
lastCloseTime = OrderCloseTime();
}
wenn (AuftragGewinn()<0)
{
Verlust ++;
}
if(AuftragGewinn()>0)
{
break; // Beenden der Schleife bei der ersten profitablen Begegnung }
}
}
}
}
Rückgabe(Verlust);
}
Guten Tag zusammen!
Bitte geben Sie mir einen Befehl, damit der Roboter nicht mehr als 1 Order pro Kerze eröffnet.
Auch wenn er seinen Take auf diese Kerze genommen hat - nicht, um den nächsten Auftrag auf derselben Kerze zu eröffnen.
Nun stellt sich heraus, dass - wenn die Bedingungen der Indikatoren erfüllt sind - ein Handel zu eröffnen ist.
Wenn ein Geschäft auf dem Take geschlossen wird, wird sofort ein neues Geschäft auf demselben Candlestick eröffnet, und hier wird es nicht mehr benötigt und bereitet mir Probleme.
Ich halte es für wichtig, ein Feedback zu geben.
Es braucht eine streng so 1 Kerze - 1 Deal.
Vielen Dank im Voraus!
Funktion NumberOfBarCloseLastPos().
Diese Funktion gibt die Taktnummer der letzten zu schließenden Position oder-1 zurück. Die Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
Die Funktion NumberOfBarOpenLastPos().
Diese Funktion gibt die Taktnummer der zuletzt geöffneten Position oder-1 zurück. Die Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter bestimmt:
Überprüfen Sie dann mit diesen Funktionen die gewünschte Bedingung.
Bitte um Hilfe.
Ich muss die folgende Funktion zu meinem Roboter hinzufügen:
Nach der Eröffnung eines Geschäfts wird das Geschäft innerhalb von 40 Sekunden geschlossen, wenn der Gewinn mehr als 15 Pips beträgt, wenn er darunter liegt, wird der Take-Profit auf das Gewinnniveau von 15 Pips verschoben.
Ich danke Ihnen im Voraus.
Die Funktion NumberOfBarCloseLastPos().
Diese Funktion gibt die Taktschlussnummer der letzten Position oder-1 zurück. Die Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
Die Funktion NumberOfBarOpenLastPos().
Diese Funktion gibt die Taktnummer der zuletzt geöffneten Position oder-1 zurück. Die Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter bestimmt:
Verwenden Sie dann diese Funktionen, um die gewünschte Bedingung zu prüfen.
Herzlichen Dank!
Ich werde es mir ansehen!!!