[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 465
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
Helfen Sie mir, den Code zu verstehen. Ich weiß nicht, wie ich den Zustand richtig beschreiben soll.
Hier ist ein Teil des EA.
if(total<1)
{
while (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2) //Пока это условие выполняется открывать только селл при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)<0.7)) -какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_SELL, lots, NormalizeDouble(Bid, Digits), 3, /*Ask+10*Point*/0, /*Bid-10*Point*/0, "ADX sell", magic, 0, CLR_NONE);
}
while (d_pl_1>d_mn_1 && (d_pl_0-d_mn_0)>=2) // Пока это условие выполняется открывать только Бай при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)<0.3)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)>0.3)) - какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_BUY, lots, NormalizeDouble(Ask, Digits), 3, /*Bid-10*Point*/0, /*Ask+10*Point*/0, "ADX buy", magic, 0, CLR_NONE);
}
}
}
}
Ich verstehe, dass der psychologische Faktor mich davon abhält... die Gier... die Angst, auch nur 300 Pfennige zu verlieren... Was soll ich tun?... Vergessen Sie, dass das echte Konto...
Was ist, wenn ich meine Einstellung ändere? Nicht "gewinnen wollen", sondern "nicht verlieren wollen".
Hilfe zum Verstehen!
Der Kern der Idee: Während der iMACD steigt, halten wir KAUFEN, sobald er fällt, schließen wir KAUFEN und eröffnen VERKAUFEN. Der Vergleich erfolgt anhand der letzten drei Werte, wobei der aktuelle Wert nicht berücksichtigt wird.
Der Code hat ein Problem: Er öffnet mehrere Aufträge bei iMACD-Werten +-0, wie ich sehe. Normalizedouble() ist nicht hilfreich.
Hier ist der Code:
Helfen Sie mir, den Code zu verstehen. Ich weiß nicht, wie ich den Zustand richtig beschreiben soll.
Hier ist ein Teil des Expert Advisors.
total=OrdersTotal();
if(total<1)
{
while (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2) //Пока это условие выполняется открывать только селл при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)<0.7)) -какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_SELL, lots, NormalizeDouble(Bid, Digits), 3, /*Ask+10*Point*/0, /*Bid-10*Point*/0, "ADX sell", magic, 0, CLR_NONE);
}
while (d_pl_1>d_mn_1 && (d_pl_0-d_mn_0)>=2) // Пока это условие выполняется открывать только Бай при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)<0.3)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)>0.3)) - какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_BUY, lots, NormalizeDouble(Ask, Digits), 3, /*Bid-10*Point*/0, /*Ask+10*Point*/0, "ADX buy", magic, 0, CLR_NONE);
}
}
}
}
Funktioniert es nicht so?
kein Durchkommen, wenn es nicht funktioniert.
Es sollte, solange die Bedingung (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2 korrekt ist, nur eine Verkaufsorder eröffnen, sofern iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7 && iRSI(NULL,0,rsi_period,PRICE_CLOSE,0<0.7)
Umgekehrt ist es dasselbe.
Kann dies durch while oder bool geschehen? Ich habe einen totalen Engpass bei der Programmierung. Ich verstehe die logische Kette, aber meine Hände sind zu langsam, um sie in Code umzusetzen.
kein Durchkommen, wenn es nicht funktioniert.
Es sollte, solange die Bedingung (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2 korrekt ist, nur eine Verkaufsorder eröffnen, sofern iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7 && iRSI(NULL,0,rsi_period,PRICE_CLOSE,0<0.7)
Umgekehrt ist es dasselbe.
Kann es durch while oder bool geschrieben werden? Ich bin mit dem Programmieren völlig überfordert. Ich verstehe die logische Kette, aber meine Hände sind zu langsam, um sie in Code umzusetzen.
Hallo! Ich möchte nicht von StopOut erwischt werden (und tue es manchmal auch). Ich beschloss, das Los mit einem Wert zu begrenzen, der den StopOut im schlimmsten Fall nicht auffangen würde. Ich habe lange Zeit durch Versuch und Irrtum gearbeitet. Vielleicht hat jemand eine Lösung?
Eingangsdaten:
- Währungspaar - nicht unbedingt EURUSD
- Preis (Kauf-/Verkaufspreis)
- angegebener StopLoss in Punkten (es wird davon ausgegangen, dass im schlimmsten Fall kein StopOut erfolgt, selbst wenn das StopLoss-Niveau erreicht wird)
- Wert der Partie festlegen
- Alle anderen Werte sollten mit Hilfe der MT4-Funktionen ermittelt werden: Größe von 1 Lot, Leverage, Cross Rate.
Ein Code wäre wünschenswert.
Theoretisch verstehe ich, was ich brauche: Saldo minus möglicher Verlust auf StopLoss-Niveau geteilt durch Marge. Und dieser Wert sollte größer sein als StopOut (prozentual gesehen)
Hilfe zum Verstehen!
Der Kern der Idee: Während der iMACD steigt, halten wir KAUFEN, sobald er fällt, schließen wir KAUFEN und eröffnen VERKAUFEN. Der Vergleich erfolgt anhand der letzten drei Werte, wobei der aktuelle Wert nicht berücksichtigt wird.
Der Code hat ein Problem: Er öffnet mehrere Aufträge bei iMACD-Werten +-0, wie ich sehe. Normalizedouble() ist nicht hilfreich.
Hier ist der Code:
Vielleicht war das das Problem
offen, bis das Geld ausgeht? oder einmal pro Bar? oder einmal pro Tick?
Die Bedingung wird bei jedem neuen Takt überprüft. In diesem Fall ist der Zeitrahmen stündlich. Dieser Zustand wird zu Beginn jeder Stunde überprüft.
Vielleicht war dies das Problem
Nein... Ich habe getan, was Sie vorgeschlagen haben - es bleibt das Gleiche.
Außerdem habe ich den Code geändert, indem ich ihn nach Bedingungen in einen öffnenden und einen schließenden Block unterteilt habe. Es ist alles das Gleiche. Ich weiß nicht, was ich jetzt tun soll.
Hier ist ein Screenshot von tester, Expert Advisor für tester im Trailer: