Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 845

 
Pokrov, te dije lo que estás viendo...
 
eddy:
Pokrov, te dije lo que estás viendo...
No te ofendas, dos opiniones son mejores que una))) Gracias a ti también.
 
Hola a todos, ¿podrían decirme cómo configurar el EA para que no coloque una orden si la última operación se cerró hoy?
 

Aquí está la respuestahttps://www.mql5.com/ru/forum/131277/page295#455199

Gracias al autor.

 

¿Puede decirme si el bloque de gestión de errores que aparece a continuación está bien escrito o si hay algo que no funciona? No jures de inmediato ))))

//+------------------------------------------------------------------+
//| Функция обработки ошибок                                          |
//+------------------------------------------------------------------+
if(GetLastError()>=0)                          
{
   switch(_LastError)  
{                                               // Преодолимые ошибки            
      case  4:Sleep(3000);                      // Простое решение
      break;                                    // Выход из функции
      case  6:Sleep(10000);                     // Простое решение
      break;                                    // Выход из функции
      case 130:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 135:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 136:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 137:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      case 146:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      default:break;        // Другие варианты  // Выход из функции
}                        
}
}
 
¿Cómo puede el indicador guardar el historial de valores en un archivo (y cargarlo más tarde)? ¿Existe alguna solución preparada?
 
eddy:
¿Cómo puede el indicador guardar el historial de valores en un archivo (y cargarlo más tarde)? ¿Existe alguna solución preparada?
Ciertamente los hay. Los que una vez los "prepararon" han
 
Gracias cap, busco soluciones, no solo pregunto.
 
Pokrov:

¿Puede decirme si el bloque de gestión de errores que aparece a continuación está bien escrito o si hay algo que no funciona? No jures de inmediato ))))

En mi opinión, el manejo de errores debe ser en forma de una función definida por el usuario, que debe ser llamada después de cualquier acción relacionada con el acceso al servidor.

Por ejemplo, OrderSend() devuelve el ticket del pedido o -1 en caso de fallo, es decir, en caso de error. Por lo tanto, debe llamar al manejador de errores en caso de que no se ejecute el comando y pasarle el código de error. Y en el manejador de errores, debemos proporcionar un valor de retorno en el cual se repite la acción fallida o en otro valor se detiene.

Por ejemplo, los precios han cambiado, RefreshRates(); e inténtelo de nuevo, y si no hay suficiente dinero es probablemente mejor dejar de intentarlo.

 
AlexeyVik:

En mi opinión, el manejo de errores debe ser en forma de una función definida por el usuario, que debe ser llamada después de cualquier acción relacionada con el acceso al servidor.

Por ejemplo, OrderSend() devuelve el ticket del pedido o -1 en caso de fallo, es decir, en caso de error. Por lo tanto, debe llamar al manejador de errores en caso de que no se ejecute el comando y pasarle el código de error. Y en el manejador de errores, debemos proporcionar un valor de retorno en el cual se repite la acción fallida o en otro valor se detiene.

Por ejemplo, los precios han cambiado, RefreshRates(); y volver a intentar, y en caso de falta de fondos es probablemente mejor dejar de intentar.

Tengo GetLastError después de las funciones y si se produce un error, ¿no irá a este bloque (como está escrito) y no se ejecutarán los comandos? Entiendo la cadena, por ejemplo, OrderSend() -> GetLastError -> bloque de error Sleep(3000) RefreshRates() -> salir del bloque y si las condiciones permanecen OrderSend() se solicita de nuevo. O mis razonamientos y conceptos son erróneos. Entiendo que quiere escribir el valor de retorno 1 o 0 en el bloque, pero mis funciones son simples no relacionados con los valores booleanos como SignalBuy, si entiendo correctamente, los valores de retorno debe ser devuelto allí.