Discusión sobre el artículo "Expert Advisor basado en las "Nuevas Dimensiones de Trading" ("New Trading Dimensions"), de Bill Williams" - página 3

 
Vladimir Karputov:

Limpiado y arreglado:


Versión "1.002" - ahora los errores de "no hay dinero para abrir una posición" son mucho menores:

Archivos adjuntos:
h_ts_bw.mqh  128 kb
 

¡Genial! ¡Gracias! ¡Vamos a ver!

 

Así de triste se ve (en el archivo adjunto) la prueba del Asesor Experto en el terminal de un conocido broker. El arrastre no funciona, y como no hay control de márgenes, las operaciones se abren pero no se cierran hasta el final de la prueba, y entonces se acabó.

Pero no ocurre en todos los terminales, ¡gracias a Dios! en los adecuados ocurre correctamente.

¡Gracias por mantener actualizado el código del Asesor Experto!

Archivos adjuntos:
2017-08-13.png  116 kb
 
natyog:

Así de triste se ve (en el archivo adjunto) la prueba del Asesor Experto en el terminal de un conocido broker. El arrastre no funciona, y como no hay control de márgenes, las operaciones se abren pero no se cierran hasta el final de la prueba, y entonces se acabó.

Pero no ocurre en todos los terminales, ¡gracias a Dios! en los adecuados ocurre correctamente.

¡Gracias por mantener actualizado el código del Asesor Experto!


Modificación de posición arreglada: versión "1.003

Cambios realizados:

Los precios de Stop Loss y Take Profit deben normalizarse usando el método CSymbolInfo::NormalizePrice, no NormalizeDouble. Importante.


Archivos adjuntos:
h_ts_bw.mqh  129 kb
 

si sustituye la línea 422 if(exp_trade.PositionModify(m_Symbol,NormalizeDouble(StopLoss,s_info.Digits()),pos_info.TakeProfit())) en la versión "1.002" por

if(exp_trade.PositionModify(m_Symbol,s_info.NormalisePrice(StopLoss),pos_info.TakeProfit()))

misma imagen

Archivos adjuntos:
 
natyog:

si sustituye la línea 422 if(exp_trade.PositionModify(m_Symbol,NormalizeDouble(StopLoss,s_info.Digits()),pos_info.TakeProfit())) en la versión "1.002" por

if(exp_trade.PositionModify(m_Symbol,s_info.NormalisePrice(StopLoss),pos_info.TakeProfit()))

misma imagen


Necesitamos capturas de pantalla

  1. Terminal - ventana "Probador de Estrategias" - pestaña "Configuración
  2. Terminal - ventana "Probador de estrategias" - pestaña "Configuración".
  3. Tipo de cuenta de trading: netting o hedge
  4. Nombre del servidor de negociación al que se está conectando.
  5. Adjunte el archivo de registro del probador.

 
natyog:

si sustituye la línea 422 if(exp_trade.PositionModify(m_Symbol,NormalizeDouble(StopLoss,s_info.Digits()),pos_info.TakeProfit())) en la versión "1.002" por

if(exp_trade.PositionModify(m_Symbol,s_info.NormalisePrice(StopLoss),pos_info.TakeProfit()))

misma imagen


Sólo "reemplazar" algo en el archivo "h_ts_bw.mqh" no es suficiente. También es necesario COMPILAR el archivo EA "tc_bw_new_version_2-02.mq5".

 

Bueno, eso no es serio. ¿¡De verdad crees que no se hizo!? Insultante.

Terminal RoboForex, cuenta de cobertura.

Archivos adjuntos:
 
natyog:
Bueno, no hablas en serio. ¿De verdad crees que no se ha hecho? Insultante.

Sí, genial. Así que seguiremos buscando.

 
y revista
Archivos adjuntos: