[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 339
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 habe nicht von externen Variablen gesprochen. Ich habe hierüber gesprochen.
Stellen wir uns eine Situation vor. Eine Entscheidung muss nach der letzten offenen Stelle getroffen werden.
Für den Prüfer:
Wir erstellen Variablen, in denen wir die notwendigen Daten der zuletzt geöffneten Position speichern werden.
Sobald eine neue Position eröffnet wird, fügen wir die erforderlichen Daten sofort in diese Variablen ein.
Wenn ein Signal zur Eröffnung einer neuen Position kommt (z.B. nach 20 Testminuten), müssen wir einige Kriterien überprüfen, anhand derer wir über die Daten der zu eröffnenden Position entscheiden. Diese Kriterien hängen vereinbarungsgemäß von der zuvor eröffneten Stelle ab. Wir lesen sie aus den Variablen (wir haben sie bei der vorherigen Öffnung gespeichert) und verwenden sie als zusätzliche Daten für eine neue Position.
Wenn wir eine Position eröffnen, speichern wir die neuen Daten über die neu eröffnete Position in den Variablen.
Echt jetzt:
Stellen wir uns die gleiche Situation vor, aber ... Stellen Sie sich vor, dass nach dem Öffnen der letzten Position und der Speicherung ihrer Daten in Variablen 10 Minuten vergangen sind (weitere 10 Minuten müssen vergehen, bevor die nächste Position geöffnet wird (wir haben dies einfach in einem "Tester" angenommen)). Und in diesem Zeitintervall wurde der Expert Advisor aus irgendeinem Grund neu gestartet.
Was passiert nach dem Neustart des EA mit den Daten der zuletzt geöffneten Position, die in Variablen gespeichert wurden? Sie werden nicht existieren.
Woher sollen wir sie also bekommen? Rechts - Suche. Deshalb brauchen wir die Funktion der Suche nach den erforderlichen Daten. Es ist daher besser, alles auf einmal zu finden, wenn wir es brauchen, und es nicht in Variablen zu speichern, was wirklich viel einfacher und schneller ist.
Entschuldigung für die späte Klärung - ich bin gerade in die Welt hinausgegangen ... :))
Helfen Sie mir mit der Logik, ich kann nicht irgendwie übersetzen die einfache Logik in das Programm (können Sie empfehlen, einige Literatur)
Die Herausforderung: Berechnen Sie den maximalen (minimalen) RSI bei Werten über 70 (unter 30) und zeichnen Sie einen Abwärts- (Aufwärts-) Pfeil über den Balken
zu diesen Werten.
Durchführung (erster Teil, der zweite Teil ist ähnlich):
1. Berechnen Sie den RSI-Wert für jeden Balken
2. solange RSI größer als 70 ist, den RSI-Puffer mit seinen Werten füllen
3. Finde die Position des maximalen Wertes in der Matrix
4. Suche nach dem Balken mit dem RSI-Wert, der dem maximalen RSI-Wert im Array entspricht
5. Zeichnen Sie einen Pfeil über diesen Balken.
Nun, es gibt so etwas, aber beim Schreiben des Codes, ich habe eine Menge Fragen, Fehler und bin in einem Schlamassel ((
Und hier ist die Umsetzung im Code.
Meine Herren, ich bitte um Rat, wie man den folgenden Algorithmus mit einer Schleife kodieren kann.
wenn (iLow (Symbol (),0,1) > iLow (Symbol (),0,10))// wenn der MINIMUM-Wert der ersten Kerze > MINIMUM-Wert der zehnten Kerze
OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point, "jfh",123 ); // Eröffnen der Order.
ICH MUSS
Wenn Low 1 und gleichzeitig Low 2 und gleichzeitig Low 3...... . ...und gleichzeitig Kerzentief 9> Kerzentief 10 ( d.h. Kerzentief von 1 bis 9)
/ /Offener Auftrag.
Vielen Dank.
Meine Herren, ich bitte um Rat, wie man den folgenden Algorithmus mit einer Schleife kodiert.
wenn (iLow (Symbol (),0,1) > iLow (Symbol (),0,10))// wenn der MINIMUM-Wert der ersten Kerze > MINIMUM-Wert der zehnten Kerze
OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point, "jfh",123 ); // Eröffnen der Order.
ICH MUSS
Wenn Low 1 und gleichzeitig Low 2 und gleichzeitig Low 3...... . ...und gleichzeitig Kerzentief 9> Kerzentief 10 ( d.h. Kerzentief von 1 bis 9)
/ /Offener Auftrag.
Ich danke Ihnen.
Wir erstellen eine Bedingung Erfolg Flagge, setzen Sie es in tru, übergeben Sie die erforderliche Anzahl von Kerzen in der Schleife, wenn bei einer von ihnen die Bedingung nicht erfüllt ist, setzen Sie die Flagge in der falschen Flagge und die Schleife verlassen.
Erstellen Sie ein Erfolgsflag für die Bedingung, setzen Sie es in die Pipe, führen Sie die erforderliche Anzahl von Kerzen in der Schleife durch, wenn bei einer von ihnen die Bedingung nicht erfüllt ist, setzen Sie das Flag in das False-Flag und verlassen Sie die Schleife.
Vielen Dank, entschuldigen Sie bitte...., dass ich immer noch nicht ganz verstehe, was Sie geschrieben haben.
Ich wäre Ihnen sehr dankbar, wenn Sie code..... schreiben könnten, dann würde ich alles verstehen.
bool have = true;
for(int i=0;i<10;i++){
if(Low[i]<=Low[i+1]){have=false; break;}
}
if(have){
// действия если условие соблюдено
}else{
// действия если условие не соблюдено
}bool have = true;
for(int i=0;i<10;i++){
if(Low[i]<=Low[i+1]){have=false; break;}
}
if(have){
// действия если условие соблюдено
}else{
// действия если условие не соблюдено
}Leute, wie schließt man eine Pending Order in n, Anzahl der Pips, wenn sie nicht ausgelöst wurde?