Example2: Wäre eine Funktion wie diese für die Fehlerbehandlung geeignet?
Etwas ist zu kurz. Auch dieser ist nicht vollwertig.
//*********************ф-ия обработки ошибок*************************|int Fun_Error(int Error)
{
switch(Error)
{ // Преодолимые ошибкиcase0: return(1);
case4: //Print("Торговый сервер занят. Пробуем ещё раз...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase128: //Истек срок ожидания совершения сделкиreturn(1);
case129: //Print("Цена изменилась. Пробуем ещё раз...");return(1); // Выход из функцииcase132: //Print("Рынок закрыт. Пробуем ещё раз...");Sleep(123000); // Это было сделано для робо. У них первые 2 минуты в понедельник рынок закрыт, а надо было ставить ордера в 00:00return(1); // Выход из функцииcase135: //Print("Цена изменилась. Пробуем ещё раз...");RefreshRates(); // Обновим данныеreturn(1); // Выход из функцииcase136: //Print("Нет цен. Ждём новый тик...");while(RefreshRates()==false) // До нового тикаSleep(1); // Задержка в циклеreturn(1); // Выход из функцииcase137: //Print("Брокер занят. Пробуем ещё раз...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase138: //Print("Новые цены. Пробуем ещё раз...");Sleep(1); // Задержка в циклеreturn(1); // Выход из функцииcase146: //Print("Подсистема торговли занята. Пробуем ещё...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase4107: //Print("Неправильный параметр цены для торговой функции. Пробуем ещё...");Sleep(50); // Простое решениеreturn(1); // Выход из функции// Критические ошибкиcase1:
return(0);
case2: Alert("Общая ошибка. Перегрузите терминал и\или компьютер.");
return(0); // Выход из функцииcase5: Alert("Старая версия терминала.");
//Work=false; // Больше не работатьreturn(0); // Выход из функцииcase64: Alert("Счет заблокирован.");
//Work=false; // Больше не работатьreturn(0); // Выход из функцииcase130: Alert("Неправильные стопы.");
return(0); // Выход из функцииcase133: Alert("Торговля запрещена.");
return(0); // Выход из функцииcase134: Alert("Недостаточно денег для совершения операции.");
return(0); // Выход из функцииcase4051: Alert("Недопустимое значение параметра функции.");
return(0); // Выход из функцииcase4108: Alert("Неверный номер тикета.");
return(0); // Выход из функцииdefault: //Print("Возникла ошибка ",Error); // Другие вариантыreturn(0); // Выход из функции
}
}//******************************************************************|
Wenn die Funktion also 1 zurückgibt, sollten wir erneut versuchen, einen Auftrag zu erteilen; wenn sie 0 zurückgibt, verlassen wir die Funktion für offene Aufträge.
Kauf/Verkauf ohne Stop und Takeout sl=0;tp=0, dann ändern-->sl=100;tp=300
Der Gedanke ist mir schon aus Verzweiflung gekommen...
Es stellt sich jedoch die Frage, warum bei Vorliegen aller korrekten Parameter kein Auftrag erteilt wird.
Da es sich um eine Goldkarte handelt, sind die Zahlen 11 und 1 durchaus korrekt. Übersetzt bedeutet dies 10 und 110 Pips.
Ich habe die Preise und die Parameter für Stopp und Gewinn überprüft. Zwischen dem Gewinn und dem Stop liegen genau 120 Pips, und aus irgendeinem Grund ist der Eröffnungskurs = 0,000.
Können Sie mir bitte sagen, wie ich die folgende Bedingung am besten kodieren kann
Wenn alle Kerzen von 1 bis 20 ausnahmslos bärisch sind (die Anzahl der Punkte zwischen der Eröffnung und der Schließung jeder Kerze spielt keine Rolle)
Um eine Bestellung zu eröffnen.
Ich kann nichts anderes lesen, nur eine Bestellung öffnen.
Hallo, wenn ein EA nur schwebende Aufträge setzt, sollte es in der Lage sein, Fehler zu behandeln?
Ja.
Zum Beispiel.
Ja.
Zum Beispiel.
Wäre eine Funktion wie diese für die Fehlerbehandlung geeignet?
Etwas ist zu kurz. Auch dieser ist nicht vollwertig.
Wenn die Funktion also 1 zurückgibt, sollten wir erneut versuchen, einen Auftrag zu erteilen; wenn sie 0 zurückgibt, verlassen wir die Funktion für offene Aufträge.
Bürgerinnen und Bürger, können Sie mir sagen, warum das Alpari-Terminal nicht in der Lage ist, eine Bestellung aufzugeben?
Die Funktion OrderSend sieht wie folgt aus
Es gibt keine Parameter, die gleich Null sind. Ich habe es überprüft.
Der minimale Haltestellen- und Gewinnabstand gemäß den Terminalbedingungen = 0,1.
Das Terminal erzeugt den Fehler 130 und schreibt über einen ungültigen Gewinn oder Stopp.
SL- und TP-Parameter sind 11 bzw. 1 (nach Normalisierung).
Auf den Terminals Aforex, Diven FX, ForexClub, AlfaForex - keine Probleme mit dem gleichen Code.
Bürgerinnen und Bürger, können Sie mir sagen, warum das Alpari-Terminal nicht in der Lage ist, eine Bestellung aufzugeben?
Die Funktion OrderSend sieht wie folgt aus
Es gibt keine Parameter, die gleich Null sind. Ich habe es überprüft.
Der minimale Haltestellen- und Gewinnabstand gemäß den Terminalbedingungen = 0,1.
Das Terminal erzeugt den Fehler 130 und schreibt über einen ungültigen Gewinn oder Stopp.
SL- und TP-Parameter sind 11 bzw. 1 (nach Normalisierung).
Auf den Terminals Aforex, Diven FX, ForexClub, AlfaForex - keine Probleme mit dem gleichen Code.
Kauf/Verkauf ohne Stop und Takeaway sl=0;tp=0, dann ändern-->sl=100;tp=300
Kauf/Verkauf ohne Stop und Takeout sl=0;tp=0, dann ändern-->sl=100;tp=300
Der Gedanke ist mir schon aus Verzweiflung gekommen...
Es stellt sich jedoch die Frage, warum bei Vorliegen aller korrekten Parameter kein Auftrag erteilt wird.
Da es sich um eine Goldkarte handelt, sind die Zahlen 11 und 1 durchaus korrekt. Übersetzt bedeutet dies 10 und 110 Pips.
Ich habe die Preise und die Parameter für Stopp und Gewinn überprüft. Zwischen dem Gewinn und dem Stop liegen genau 120 Pips, und aus irgendeinem Grund ist der Eröffnungskurs = 0,000.
Der Versuch, einen schwebenden Auftrag zu platzieren, brachte entweder nichts....
Es wird immer wundersamer.
Guten Tag zusammen!
Können Sie mir bitte sagen, wie ich die folgende Bedingung am besten kodieren kann
Wenn alle Kerzen von 1 bis 20 ausnahmslos bärisch sind (die Anzahl der Punkte zwischen der Eröffnung und der Schließung jeder Kerze spielt keine Rolle)
Um eine Bestellung zu eröffnen.
Ich kann nichts anderes lesen, nur eine Bestellung öffnen.