Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 51

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
Vielleicht habe ich meine Frage nicht verstanden.
Auf dem M1-Perioden-Chart möchte ich den Puffer auffüllen, wenn auf der M5-Periode die Linie des Stochastik-Indikators jetzt über der 55er-Marke liegt.
////////////////////////////////////////////////
for(int i=limit; i>=0; i--) {
int bar_sto2_0=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i));
int bar_sto2_1=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i+1));
double sto2_0=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_0);
double sto2_1=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_1);
if(sto2_0>55.0)
{
BufferUP[i]=low[i]-distance*MyPoint;
}
if(sto2_0<44.0)
{
BufferDN[i]=high[i]+distance*MyPoint;
}
Comment(sto2_0);
}
Im Kommentar ist der aktuelle Wert bei M5 richtig, aber auf dem Verlauf setzen die Pfeile nicht auf Zustand, Chaos.
Was kann das sein?
Im " Keller" die Stochastik von M5
Die Pfeile sind nicht dem Signal entsprechend eingekreist
Ich schreibe einen Expert Advisor, der gleichzeitig zwei StopOrders setzt, eine zum Verkauf und eine zum Kauf.
Wie schreibe ich die Bedingung, dass, wenn eine StopOrder ausgelöst wird, die zweite (entgegengesetzte) gelöscht wird?
Ich danke Ihnen.
Ich schreibe einen Expert Advisor, der gleichzeitig zwei StopOrders setzt, eine zum Verkauf und eine zum Kauf.
Wie schreibe ich die Bedingung, dass, wenn eine StopOrder ausgelöst wird, die zweite (entgegengesetzte) gelöscht wird?
Ich danke Ihnen.
Die Bedingung ist einfach. Wenn eine StopOrder ausgelöst wird und eine Position auf dem Markt erscheint, bedeutet das, dass wir die Position verfolgen sollten, und wenn sie existiert, sollten wir die entgegengesetzte Order löschen.
Dies ist ein Stück Code zum Nachdenken)
bool b, s;
switch(op) {
case OP_BUY : b=ExistPositions(sy, OP_BUY , mn); break;
case OP_SELL: s=ExistPositions(sy, OP_SELL, mn); break;
}
if(b) {
DeleteOrders(sy, OP_SELLLIMIT, mn, cl);
DeleteOrders(sy, OP_SELLSTOP , mn, cl);
}
if(s) {
DeleteOrders(sy, OP_BUYLIMIT, mn, cl);
DeleteOrders(sy, OP_BUYSTOP , mn, cl);
}}
Vitaly Muzichenko, soweit ich das verstehe, müssen wir jetzt die FunktionenExistPositions undDeleteOrders hinzufügen
Vitaly Muzichenko, soweit ich das verstehe, müssen wir jetzt die FunktionenExistPositions undDeleteOrders schreiben
Man muss sie nicht schreiben, sie sind beidevorgefertigt.
Nun ..., für pädagogische Zwecke ist es recht nützlich ...
In der Praxis ist es sehr teuer, die Zyklen in jeder Funktion auszuführen.
Nun ..., für Schulungszwecke ist es sehr nützlich ...
In der Praxis ist es sehr kostspielig, die Zyklen in jeder Funktion auszuführen.
Was ist zu tun, wenn der Stopp/Stop 200 beträgt?
sondern
tp=NormalizeDouble((Preis+(TakeProfit*_Point)),Digits);
auf einen Dollar-Yen ergibt 317.000 zum Kurs von 117.000
das erwartete Ergebnis ist 117.200
Was ist zu tun, wenn der Stopp/Stop 200 beträgt?
sondern
tp=NormalizeDouble((Preis+(TakeProfit*_Point)),Digits);
auf einen Dollar-Yen ergibt 317.000 zum Kurs von 117.000
das erwartete Ergebnis ist 117.200
Warum so viele Klammern? Das ist natürlich Geschmackssache, aber trotzdem zu viel.
tp=NormalizeDouble(Preis+TakeProfit*_Point,_Digits);
Werte werden falsch ersetzt, wenn das Ergebnis in der Ausgabe falsch ist, da diese Codezeile alles richtig berechnet, auch mit zusätzlichen Klammern.