Example2: Une fonction de ce type conviendrait-elle pour la gestion des erreurs ?
Quelque chose est trop court. Même celui-ci n'est pas à part entière non plus.
//*********************ф-ия обработки ошибок*************************|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); // Выход из функции
}
}//******************************************************************|
Par conséquent, si la fonction renvoie 1, nous devrions essayer de placer un ordre à nouveau ; si elle renvoie 0, nous quitterons la fonction pour les ordres d'ouverture.
Acheter/vendre sans stop et sans prise en charge sl=0;tp=0, puis modifier-->sl=100;tp=300
L'idée m'est déjà venue, par désespoir...
Cependant, la question est de savoir pourquoi, avec tous les paramètres corrects, une commande n'est pas passée.
Comme il s'agit d'une carte de l'or, les chiffres 11 et 1 sont tout à fait corrects. Traduit, cela signifie 10 et 110 pips.
J'ai vérifié les prix et les paramètres de stop et de profit. Il y a exactement 120 pips entre le profit et le stop, et pour une raison quelconque le prix d'ouverture = 0.000.
Pouvez-vous me dire quelle est la meilleure façon de coder la condition suivante
Si tous les chandeliers de 1 à 20 sont baissiers sans exception (le nombre de points entre l'ouverture et la fermeture de chaque chandelier n'a pas d'importance).
Pour ouvrir une commande.
Je ne peux rien lire d'autre, juste ouvrir une commande.
Bonjour, si un EA ne fixe que des ordres en attente, doit-il être capable de gérer les erreurs ?
Oui.
Par exemple.
Oui.
Par exemple.
Une fonction de ce type conviendrait-elle pour la gestion des erreurs ?
Quelque chose est trop court. Même celui-ci n'est pas à part entière non plus.
Par conséquent, si la fonction renvoie 1, nous devrions essayer de placer un ordre à nouveau ; si elle renvoie 0, nous quitterons la fonction pour les ordres d'ouverture.
Citoyens, pouvez-vous me dire pourquoi le terminal Alpari est incapable de passer un ordre ?
La fonction OrderSend ressemble à ceci
Il n'y a pas de paramètres égaux à zéro. Je l'ai vérifié.
La distance minimale d'arrêt et de profit selon les conditions du terminal = 0,1.
Le terminal génère l'erreur 130 et écrit sur un profit ou un stop invalide.
Les paramètres SL et TP sont respectivement 11 et 1 (après normalisation).
Sur les terminaux Aforex, Diven FX, ForexClub, AlfaForex - aucun problème avec le même code.
Citoyens, pouvez-vous me dire pourquoi le terminal Alpari est incapable de passer un ordre ?
La fonction OrderSend ressemble à ceci
Il n'y a pas de paramètres égaux à zéro. Je l'ai vérifié.
La distance minimale d'arrêt et de profit selon les conditions du terminal = 0,1.
Le terminal génère l'erreur 130 et écrit sur un profit ou un stop invalide.
Les paramètres SL et TP sont respectivement 11 et 1 (après normalisation).
Sur les terminaux Aforex, Diven FX, ForexClub, AlfaForex - aucun problème avec le même code.
acheter/vendre sans stop et sans prise en charge sl=0;tp=0, puis modifier-->sl=100;tp=300
Acheter/vendre sans stop et sans prise en charge sl=0;tp=0, puis modifier-->sl=100;tp=300
L'idée m'est déjà venue, par désespoir...
Cependant, la question est de savoir pourquoi, avec tous les paramètres corrects, une commande n'est pas passée.
Comme il s'agit d'une carte de l'or, les chiffres 11 et 1 sont tout à fait corrects. Traduit, cela signifie 10 et 110 pips.
J'ai vérifié les prix et les paramètres de stop et de profit. Il y a exactement 120 pips entre le profit et le stop, et pour une raison quelconque le prix d'ouverture = 0.000.
La tentative de placer un ordre en attente n'a rien donné non plus.....
C'est de plus en plus miraculeux.
Bonne journée à tous !
Pouvez-vous me dire quelle est la meilleure façon de coder la condition suivante
Si tous les chandeliers de 1 à 20 sont baissiers sans exception (le nombre de points entre l'ouverture et la fermeture de chaque chandelier n'a pas d'importance).
Pour ouvrir une commande.
Je ne peux rien lire d'autre, juste ouvrir une commande.