[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 66
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
In solchen Fällen versuche ich in der Regel, GetLastError() in größerem Umfang zu verwenden. Natürlich bin ich kein Profi.
Ich verstehe, dass GetLastError() sagen soll, warum etwas nicht getan wird, z. B. wenn ein Thread beschäftigt ist, aber bei mir ist überhaupt nichts los!
Ich vermute, Sie brauchen nur 3 Aufträge für verschiedene Instrumente zu öffnen? Warum nicht eine Flaggenvariable erstellen, zum Beispiel
In globalen Variablen erstellen
int flag=0;
string Symb;
///////////////
dann
int start()
{
if (условие открытия)
{flag=1;}
if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}
if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}
if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}
Außerdem wäre es gut, eine Prüfung der Öffnung hinzuzufügen und die Fahne erst dann zu bewegen, wenn die Prüfung erfolgreich ist.
Vielen Dank, ich werde es ausprobieren!
}
else Print ("Fehler beim Öffnen einer Long-Position:",GetLastError());
gibt einen Fehler zurück, wenn OrderSelect() fehlschlägt.
if(OrderSend(Symbol(), OP_SELLSTOP, getLots, Bid, 0, 0, 0, WindowExpertName(),Magic, 0, Red) < 0)
Print("Error Open Sellstop = ",GetLastError());
Gibt einen Fehler zurück, wenn OrderSend() fehlschlägt.es gibt eine Version, die OrderSend() heißt und nicht funktioniert
Haben Sie eine Idee, warum es auf dem Testgerät funktioniert?
Haben Sie eine Idee, warum es auf dem Testgerät funktioniert?
Nein. Aber was ich damit sagen will, ist, dass durch eine extensivere Verwendung der Print-Funktion (auch ohne die anschließende GetLastError-Funktion),
können Sie viel besser sehen, wie der EA handelt.
zum Beispiel so:
if(MA1>MA2 && StochPrev<StohCur && StochPrev<SignPrev )
{
print("Bedingung für einen Kaufauftrag ist erfüllt");
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,",16895,0,DeepSkyBlue);if(Ticket>0)
}