Probador de Estrategias de MetaTrader 5: errores, fallos, sugerencias de mejora - página 75

 

En estos dos modos de visualización de los resultados de la optimización

no hacen nada útil, ya que no hay información de herramientas con el resultado al pasar el ratón por encima de la celda/punto correspondiente.


Por favor, finalice estos dos modos tal y como están implementados en el modo superior/por defecto "Gráfico con resultados".

 
Se ha producido una situación en la que el Agente local seleccionado (marcado en negrita en la lista de agentes) está en estado desactivado. Sin embargo, el pase único se estaba ejecutando en otro agente. Mientras se ejecutaba el pase único, no se podía habilitar el Agente deshabilitado - hice clic en Habilitar, pero no pasó nada.
 
Probablemente no tiene sentido que el Probador cree archivos opt que tengan Header.passes_passed == 0.
 
Historial de erroresSeleccionar en el probador.
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Ask SymbolInfoDouble( _Symbol, SYMBOL_ASK )

void OnTick()
{
  if (!OrderSelect(0, SELECT_BY_POS))                                            // Если нет текущих ордеров,
          OrderSend( _Symbol, OP_BUYSTOP, 0.1, Ask * 2, 0, 0, 0);                // выставляем.
  else if ((TimeCurrent() - OrderOpenTime() > 60) && OrderDelete(OrderTicket())) // Если текущий ордер живет дольше минуты - удаляем.
  {
//    if (HistorySelect(OrderOpenTime() + 1, INT_MAX))
    if (HistorySelect(TimeCurrent() - 10, INT_MAX))  // После удаления отступаем 10 секунд от текущего времени и берем историю.
      Print(HistoryOrdersTotal());                   // Видим, что в истории удаленного ордера нет - 0.
            
    if (HistorySelect(OrderOpenTime(), INT_MAX))     // Теперь берем историю от времени постановки удаленного ордера.
      Print(HistoryOrdersTotal());                   // Видим, что в истории удаленный ордер есть - 1.

    ExpertRemove();                                  // Вышли.
  }
}

HistorySelect no selecciona los pedidos a partir de la fecha en que se borraron o inundaron, sino a partir de la fecha en que se colocaron. Lo cual, por supuesto, es incorrecto. Funciona correctamente en el terminal. Un bicho desagradable.

La cadena de búsqueda: Oshibka 008.

 
Este Asesor Experto no puede ser optimizado por todos los símbolos de Market Watch.
double OnTester() { return(0); }

Requiere parámetros de entrada. Pero los parámetros de entrada no son necesarios para este tipo de optimización. Tenga en cuenta.

 
si en el probador el historial de ticks no está sincronizado en el modo de ticks reales, ¡el probador comienza a funcionar en el modo de ticks generados!

muchas veces me he sentido gravemente decepcionado después, tras un grial de resultados

Ya son varias las veces que mi monitor ha sobrevivido milagrosamente a mi justa ira. build 2340.
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • www.mql5.com
В составе клиентского терминала MetaTrader 5 есть встроенная среда программирования для разработки полностью автоматических стратегий (торговых роботов), которые могут торговать без вмешательства человека.  Другое название торговых роботов - эксперты.  Эксперты и технические индикаторы для терминала MetaTrader 5 пишутся на языке MQL5, в котором...
 
Andrey Dik:
si en el probador, el historial de ticks no está sincronizado en el modo de ticks reales, ¡el probador comienza a trabajar en el modo de ticks generados!

ya tuvo muchas veces que ser duramente golpeado después de que un grial resultados

Ya son varias las veces que mi monitor ha sobrevivido milagrosamente a mi justa ira. build 2340.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

MetaTrader 5 build 2430: Servicio de suscripción, mejoras en la interfaz y características del MetaEditor

fxsaber, 2020.05.17 00:38

cuando el historial de barras en el servidor no coincide con el historial de ticks. Entonces no se puede utilizar el símbolo original en Tester en absoluto. Esta limitación sólo se puede eludir mediante símbolos personalizados.

Utiliza siempre sólo las personalizadas. No habrá ningún problema. En otras palabras.

 
2470, estos mensajes aparecen durante la optimización.
2020.05.30 11:49:55.216 Core 2  genetic pass (15, 313) returned result 0 in 0:00:04.146
2020.05.30 11:49:55.575 Core 1  genetic pass (15, 283) returned result 0 in 0:00:04.907
2020.05.30 11:49:56.241 Core 3  genetic pass (15, 375) returned result 0 in 0:00:04.537
2020.05.30 11:49:56.269 Core 6  genetic pass (15, 495) returned result 0 in 0:00:04.413
2020.05.30 11:49:57.497 Core 4  genetic pass (15, 419) returned result 1908.000000 in 0:00:04.873
2020.05.30 11:49:58.528 Core 6  genetic pass (15, 497) returned result 0 in 0:00:00.135
2020.05.30 11:49:58.528 Core 6  genetic pass (15, 502) returned result 0 in 0:00:02.122
2020.05.30 11:49:58.824 Core 4  genetic pass (15, 428) returned result 0 in 0:00:00.291
2020.05.30 11:49:58.824 Core 4  genetic pass (15, 429) returned result 0 in 0:00:01.035
2020.05.30 11:49:59.178 Core 4  genetic pass (15, 433) returned result 0 in 0:00:00.352
2020.05.30 11:49:59.178 Core 2  2 rejected passes returned to queue
2020.05.30 11:49:59.178 Core 3  2 rejected passes returned to queue
2020.05.30 11:49:59.178 Core 4  genetic pass (15, 345, 1) started
2020.05.30 11:49:59.660 Core 2  genetic pass (15, 327) returned result 0 in 0:00:04.443
¿Qué significa esto? Hay mucha memoria libre.
 

Si hay un símbolo en el servidor comercial que no tiene historial, la ejecución del comprobador en él provoca una espera interminable.

Esto, en particular, hace imposible la optimización de todos los símbolos de la Vigilancia del Mercado.

 

Por favor, añada el nombre del servidor en esta línea.