Example2: ¿Sería adecuada una función como ésta para la gestión de errores?
Algo es demasiado corto. Incluso éste tampoco es completo.
//*********************ф-ия обработки ошибок*************************|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); // Выход из функции
}
}//******************************************************************|
En consecuencia, si la función devuelve 1, debemos intentar colocar una orden de nuevo; si devuelve 0, saldremos de la función para abrir órdenes.
Compra/venta sin stop y despegue sl=0;tp=0, luego modificar-->sl=100;tp=300
La idea ya se me ha ocurrido por desesperación...
Sin embargo, la pregunta es por qué con todos los parámetros correctos el pedido no se realiza.
Como se trata de un gráfico de oro, los números 11 y 1 son bastante correctos. Traducido significa 10 y 110 pips.
He comprobado los precios y los parámetros de stop y profit. Hay exactamente 120 pips entre el beneficio y el stop, y por alguna razón el precio de apertura = 0,000.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Hola, si un EA sólo establece órdenes pendientes, ¿debe ser capaz de manejar los errores?
Sí.
Por ejemplo.
Sí.
Por ejemplo.
¿Sería adecuada una función como ésta para la gestión de errores?
Algo es demasiado corto. Incluso éste tampoco es completo.
En consecuencia, si la función devuelve 1, debemos intentar colocar una orden de nuevo; si devuelve 0, saldremos de la función para abrir órdenes.
Ciudadanos, ¿pueden decirme por qué el terminal de Alpari no puede hacer un pedido?
La función OrderSend tiene el siguiente aspecto
No hay parámetros iguales a cero. Lo he comprobado.
La distancia mínima de parada y beneficio según las condiciones del terminal = 0,1.
El terminal genera el error 130 y escribe sobre un beneficio o un stop no válido.
Los parámetros SL y TP son 11 y 1 (tras la normalización), respectivamente.
En los terminales Aforex, Diven FX, ForexClub, AlfaForex - sin problemas con el mismo código.
Ciudadanos, ¿pueden decirme por qué el terminal de Alpari no puede hacer un pedido?
La función OrderSend tiene el siguiente aspecto
No hay parámetros iguales a cero. Lo he comprobado.
La distancia mínima de parada y beneficio según las condiciones del terminal = 0,1.
El terminal genera el error 130 y escribe sobre un beneficio o un stop no válido.
Los parámetros SL y TP son 11 y 1 (tras la normalización), respectivamente.
En los terminales Aforex, Diven FX, ForexClub, AlfaForex - sin problemas con el mismo código.
comprar/vender sin stop y sin retirada sl=0;tp=0, luego modificar-->sl=100;tp=300
Compra/venta sin stop y despegue sl=0;tp=0, luego modificar-->sl=100;tp=300
La idea ya se me ha ocurrido por desesperación...
Sin embargo, la pregunta es por qué con todos los parámetros correctos el pedido no se realiza.
Como se trata de un gráfico de oro, los números 11 y 1 son bastante correctos. Traducido significa 10 y 110 pips.
He comprobado los precios y los parámetros de stop y profit. Hay exactamente 120 pips entre el beneficio y el stop, y por alguna razón el precio de apertura = 0,000.
Al intentar colocar una orden pendiente no se obtiene nada ....
Esto es cada vez más milagroso.
¡Buenos días a todos!
¿Podría decirme la mejor manera de codificar la siguiente condición
Si todas las velas del 1 al 20 son bajistas sin excepción (el número de puntos entre la apertura y el cierre de cada vela no importa)
Para abrir un pedido.
No puedo leer nada más, sólo abrir una orden.