[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 719
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Aber aus irgendeinem Grund ich am Ende mit einem Fehler EURUSD,: Null dividieren - dieser Fehler scheint zu sagen, dass es eine 0 in der Variable irgendwo, wahrscheinlich während einer Division Art Betrieb. Versuche ich es überhaupt richtig umzusetzen?
Im Testgerät oder in der Demo?
Im Tester wird der Punkt auf anderen Symbolen 0 sein.
Sehr geehrte Damen und Herren, bitte helfen Sie mir, dieses Problem zu lösen, wenn es unter diesen Bedingungen lösbar ist!
Es gibt zum Beispiel einen solchen Expert Advisor (genauer gesagt sein PATTERN), denn das Prinzip selbst ist interessant.
Also, hier ist es:
extern double Lot = 0.1;
extern int TP = 100;
extern int SL = 100;
extern int ХХХ = 100; //wie verschiedene Variablen
extern int ХХХ = 100; //wie verschiedene Variablen
extern int int ХХХ = 100; //wie verschiedene Variablen
// Welche Aufträge sind zulässig? :
extern int LET = 3; // 1 - nur verkaufen, 2 - nur kaufen, 3 - beide Auftragsarten
int start()
//Berechnen Sie die Indikatoren:
int KUDA;
DER INDIKATOR UND SEINE ARBEITSBEDINGUNGEN WERDEN EINGEFÜGT
// Bedingungen für die Bestimmung der Auftragsrichtung anhand der Indikatordaten prüfen:
if ( ХХХХХХХХХХХХХХХХХ ) // Indikatorbedingung für Sal
KUDA = 1; // das bedeutet, dass wir verkaufen werden
if ( ХХХХХХХХХХХХХХХХХХХ) // Indikatorbedingung für Kauf
KUDA = 2; // das bedeutet, dass wir kaufen werden
// Bestellungen aufgeben :
if(OrdersTotal()>0) return (0); // ermöglicht dem EA, mit nur einer platzierten Bestellung zu arbeiten
WELCHER CODE HIER EINGEFÜGT WERDEN SOLL, DAMIT , WENN EIN HÄNDLER EINEN VERKAUF ABSCHLIESST, NUR EINEN KAUFAUFTRAG ERTEILEN KANN,
und wenn ein Verlierer einen Kauf abschließt, darf er nur einen Verkauf tätigen?
UND SO WEITER UND SO FORT!!!
{
if (LET == 1 || LET == 3) // funktioniert je nach Variable nur für Verkauf (ignoriert Kauf) oder beides
if (KUDA == 1 && ticketsell < 1) // setzenverkaufen
{
HIER IST DER CODE FÜR VERKAUFSAUFTRÄGE
}
if (LET == 2 || LET == 3) // je nach Variable nur für Kauf (Verkauf ignoriert) oder beide Auftragsarten
if (KUDA == 2 && ticketbuy < 1) // buyaufdecken
{
HIER IST DER CODE FÜR DIE ERTEILUNG VON KAUFAUFTRÄGEN
}
}
zurück(0);
}
Ich danke Ihnen!
Also, der Reihe nach.
Wenn Sie nur die letzten Daten wollen, warum speichern Sie dann die vorherigen Daten? ("pre-write" geschieht mit einer Kombination der Modi FILE_READ|FILE_WRITE).
Daher ist es logischer, den Modus FILE_CSV|FILE_WRITE zu verwenden, bei dem vorherige Datensätze gelöscht werden, bevor neue Daten geschrieben werden.
Beginnen Sie mit dem Schreiben der 4 Variablen in die Datei.
Wichtig ist, dass Sie sich die Reihenfolge merken, in der die Variablen geschrieben werden, denn das ist die Reihenfolge, in der wir sie lesen werden.
Lesen Sie die Daten aus der Datei in die Variablen ein.
Mit der Funktion FileReadNumber() lesen wir Nummer für Nummer in der Reihenfolge, in der wir sie geschrieben haben.
Das ist alles, nichts Kompliziertes :)
Helfen Sie mir, dieses Problem programmatisch zu lösen:
1. zunächst finden wir das erste Fraktal nach oben - das ist einfach und klar;
2) Dann müssen wir ein Fraktal finden, das höher ist als das erste - das ist schon ein Problem :(
Ok, wenn es das vorherige Fraktal ist. Aber was, wenn es der davor ist? Oder vor drei oder vier Fraktalen?
Wie kann ich eine Funktion für die Suche nach solchen Fraktalen erstellen?
Ich hänge ein Bild an, nur für den Fall.
erneut versuchen
Helfen Sie mir, dieses Problem programmatisch zu lösen:
1. zunächst finden wir das erste Fraktal nach oben - das ist einfach und klar;
2) Dann müssen wir ein Fraktal finden, das höher ist als das erste - das ist schon ein Problem :(
Ok, wenn es das vorherige Fraktal ist. Aber was, wenn es der davor ist? Oder vor drei oder vier Fraktalen?
Wie kann ich eine Funktion für die Suche nach solchen Fraktalen erstellen?
Ich hänge ein Bild an, nur für den Fall.
Und wenn es ein solches Fraktal gar nicht gibt
Und wenn es ein solches Fraktal gar nicht gibt
Helfen Sie mir, dieses Problem programmatisch zu lösen:
1. zunächst finden wir das erste Fraktal nach oben - das ist einfach und klar;
2. dann müssen wir ein Fraktal finden, das höher ist als das erste - das ist schon ein Problem :(
Ok, wenn es das vorherige Fraktal ist. Aber was, wenn es der davor ist? Oder drei oder vier Fraktale vorher?
Wie lässt sich die Suche nach solchen Fraktalen als Funktion formulieren?
Für alle Fälle füge ich ein Bild bei...
Wenn es in der Schleife nicht gefunden werden kann, müssen Sie warten, bis ein neues Fraktal erscheint (anstelle des ersten, an das Sie sich erinnern). Sobald das neue Fraktal erscheint, suchen wir erneut nach dem benötigten zweiten Fraktal in der Schleife (höchstwahrscheinlich wird es das erste sein, an das wir uns ganz am Anfang erinnert haben). Auf diese Weise finden wir zwei benötigte Fraktale und vermeiden die von Victor im obigen Beitrag zu Recht angedeutete Situation. Obwohl es theoretisch möglich ist, dass das zweite Fraktal nie gebildet wird... Eine Apokalypse zum Beispiel... :)
Wenn es also zum Beispiel bei 300 Takten kein Fraktal gibt, warten wir, bis ein neues Fraktal erscheint, bevor wir die Suche fortsetzen