Asesores Expertos: Sprut - página 3

 

Este es un excelente ea para aquellos que gustan de las estrategias de cuadrícula, y se puede personalizar fácilmente. Sin embargo, en esta versión para el sitio portugués MQL5 hay algunos bugs que necesitan ser corregidos para evitar recotes y/o errores de ejecución. Estos son:


En la línea 148, de "for(int i=0;i<CountOrders;i++)" a "for(int i=1;i<CountOrders;i++)" , es decir, cambia el recuento del número "0" a "1".

En la línea 185, de "precio=precio_límite_venta-(doble)i*LímitePasoExterno;" a "precio=precio_límite_venta+(doble)i*LímitePasoExterno;". En otras palabras, el signo "-" negativo se invierte en un signo "+" positivo.

 

Buenos dias.

¿Podría aclarar si las posiciones que se cierran cuando se alcanza el beneficio/pérdida son sólo del símbolo operado? ¿O de todas las posiciones de la cuenta?

Gracias.

 
psrs55 :

Buenos dias.

¿Podría aclarar si las posiciones que se cierran cuando se alcanza el beneficio/pérdida son sólo del símbolo operado? ¿O de todas las posiciones de la cuenta?

Gracias.

Cerradas por símbolo y número mágico:

//+------------------------------------------------------------------+
//| Cerrar todas las posiciones|
//+------------------------------------------------------------------+
void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // devuelve el número de posiciones actuales
      if(m_position.SelectByIndex(i))     // selecciona la posición por el índice para acceder posteriormente a sus propiedades
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
            m_trade.PositionClose(m_position.Ticket()); // cerrar una posición por el símbolo especificado
  }
 
Joao Raimundo Alexandre Neto , cambiar el conteo del número "0" a "1".

En la línea 185, de "precio=precio_límite_de_venta-(doble)i*LímitePasoExterno;" a "precio=precio_límite_de_venta+(doble)i*LímitePasoExterno;". En otras palabras, el signo "-" negativo se invierte a un signo "+" positivo.

Nueva corrección línea 148, de "for(int i=0;i<CountOrders;i++)" a "for(int i=1;i<=CountOrders;i++)" , es decir, se cambia el recuento del número "0" a "1" y luego se añade el signo "<".

 

El Asesor Experto fue probado para mis tareas como asistente en el comercio manual. El Asesor Experto es excelente, estable. En cuanto a mí, los ajustes son un poco excesivos, pero todo funciona ..., se puede adaptar. Martingala no fue probado, ya que no lo necesito ahora, así que no puedo decir nada al respecto.

ALGUNAS CARACTERÍSTICAS.... El número de órdenes ByStop, SellStop, ByLimit se establece de acuerdo a la configuración. La orden SellLimit establece sólo una, independientemente del número de órdenes establecidas en la configuración. La duración de la orden pendiente de 60 minutos debe ser considerada como una cuenta atrás cero, es decir, para establecer la duración de la orden pendiente de 1 hora en la configuración es necesario escribir 120 minutos, 2 horas - 180 minutos, etc....

 
Quisiera pedir una actualización: cuando se detiene el FirstOrder, ¿podría volver a colocarlo en el lugar definido?
 
inviable