Errores, fallos, preguntas - página 3047

 
Yury Lemeshev:
Buenas tardes. Ayuda. ¿SymbolSelect ySymbolExist funcionan de forma diferente?

Print(SymbolSelect( "EURUSD",true)); Obtengo un error - true
Print(SymbolExist("EURUSD",false)); Me da error - 'true' - variable esperada.

Lea atentamente la documentación:SymbolExist

bool  SymbolExist(
   const string  name,    // имя символа
   bool&   is_custom      // признак пользовательского символа
   );


Así es como se ve en código:

   Print(SymbolSelect("EURUSD",true));
   bool exist=false;
   Print(SymbolExist("EURUSD",exist));
Документация по MQL5: Получение рыночной информации / SymbolExist
Документация по MQL5: Получение рыночной информации / SymbolExist
  • www.mql5.com
SymbolExist - Получение рыночной информации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Lea atentamente la documentación:SymbolExist


Así es como se ve en el código:

Gracias, Vladimir

 

Pregunta sobre la inicialización de los indicadores por el Asesor Experto durante la prueba en modo visual.

Si inicializo los indicadores en OnInit() { } del Asesor Experto, entonces en el probador visual el indicador generalmente no aparece y no se dibuja.

Al mismo tiempo, en el registro se pasa la inicialización y se recibe el asa. Da la sensación de que en el modo visual el probador no tiene tiempo de hacer algo y el indicador no se pega al gráfico.

Si inicializo los indicadores en OnTick() { } del EA, el problema desaparece, pero crea escrituras innecesarias, comprobaciones y demás.


Si descomento el IndicatorInitialization() en OnTick y lo comento en OnInit, empieza a funcionar.

int  TicksTesterIndicatorHandle = INVALID_HANDLE;
bool InitComplite=false;
int OnInit()
  {
   IndicatorInitialization();
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   IndicatorRelease(TicksTesterIndicatorHandle);
  }

void OnTick()
  {
//if(!InitComplite)
//  {
//   IndicatorInitialization();
//  }
  }
//+------------------------------------------------------------------+
bool IndicatorInitialization()
  {
//---Получить хэндл индикатора TicksTesterIndicator
   TicksTesterIndicatorHandle=iCustom(NULL, _Period, "OnInit_TestIndicator");

//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if(TicksTesterIndicatorHandle<0)
     {
      Print("Ошибка при создании индикатора TicksTesterIndicator - номер ошибки: ",GetLastError(),"!!!");
      return(false);
     }
   else
     {
      Print("TicksTesterIndicator инициализирован, хэндл: ", TicksTesterIndicatorHandle);
      ArraySetAsSeries(Buf, true);
      InitComplite=true;
     }
   return(true);
  }
Archivos adjuntos:
 

Continuación de la historiade los archivosmágicos:

Después de que el MetaEditor se cuelga y luego se reinicia - este archivo se muestra ahora como un conjunto de texto rojo, pero el mismo bloc de notas se abre normalmente (eliminado innecesario)

Archivos adjuntos:
main.txt  1 kb
 

Por la tarde,

Android MT5/MT4: En la ventana de colocación de órdenes los colores de las líneas de tick están mezclados. También en los esquemas de color de la carta.

 

Hola a todos.

No se puede superar el error [Precio no válido] al colocar una orden pendiente. Todo el problema es que esos errores caen en los controles estándar de la publicación de EA. No puedo mirar los registros en consecuencia para entender cuál es la razón. No lo he reproducido en mis pruebas. Por supuesto, la complejidad es que no sé qué parámetros representa el símbolo en las comprobaciones estándar. Intenté utilizar el terminal MetaQuotes para reproducirlo. La orden se abre en el mismo lugar, incluso al mismo precio y no hay ningún error. Los precios son normalizados por CSymbolinfo::NormilizePrice(), hay comprobaciones para StopsLevel, nivel de congelación, para la corrección de los precios de las órdenes pendientes, actualizo los datos de los precios con cada comprobación.

Informe de control estándar

¿Tal vez alguien conozca todos los casos en los que puede producirse ese error en los pedidos pendientes? El único que se me ocurre es

  • Precio no normalizado
  • Precio por encima/por debajo del precio de mercado para un determinado tipo de pedido
  • Nivel de congelación (no estoy seguro)
Estaré encantada de recibir cualquier consejo :)
 

Buenos días.

¿Es posible hacer un corte de prueba por parámetros en el probador?

Por ejemplo, si se alcanza una reducción del 40% en una prueba, se detiene y los recursos pasan a favor de las siguientes pruebas.

 
Dmitry Homenkov:

Hola a todos.

No se puede superar el error [Precio no válido] al colocar una orden pendiente. Todo el problema es que esos errores caen en los controles estándar de la publicación de EA. No puedo mirar los registros en consecuencia para entender cuál es la razón. No lo he reproducido en mis pruebas. Por supuesto, la complejidad es que no sé qué parámetros representa el símbolo en las comprobaciones estándar. Intenté utilizar el terminal MetaQuotes para reproducirlo. La orden se abre en el mismo lugar, incluso al mismo precio y no hay ningún error. Los precios son normalizados por CSymbolinfo::NormilizePrice(), hay comprobaciones para StopsLevel, nivel de congelación, para la corrección de los precios de las órdenes pendientes, actualizo los datos de los precios con cada comprobación.


¿Tal vez alguien conozca todos los casos en los que puede producirse ese error en los pedidos pendientes? El único que se me ocurre es

  • Precio no normalizado
  • Precio por encima/por debajo del precio de mercado para un determinado tipo de pedido
  • Nivel de congelación (no estoy seguro)
Estaré encantado de recibir cualquier consejo :)

Artículo: ¿Qué pruebas tiene que pasar un robot de trading antes de ser publicado en el Mercado?

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
Yury Lemeshev:

¿Es posible hacer un corte de prueba por parámetros en el probador?

Por ejemplo, si se alcanza una reducción del 40% en una prueba, ésta se detiene y los recursos se utilizan para las siguientes pruebas.

Esto es posible para sus EAs: necesita contar el criterio de salida dentro (si es pesado - en OnTimer), alcanzado el umbral - TesterStop()/ExpertRemove().

 

Algo innecesario.

Razón de la queja: