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

 
natyog:
y registro

Algoritmo incorrecto para recorrer todas las posiciones - la posición se seleccionaba por SIMPLE:

void C_TS_BW::TrailingStop(void)
  {
   bool select=pos_info.Select(m_Symbol);

y fue necesario organizar el recorrido de todas las posiciones y seleccionar una posición por índice en la lista de posiciones, algo así (esto es sólo un ejemplo):

//+------------------------------------------------------------------+
//| Calcular posiciones Compra y Venta|
//+------------------------------------------------------------------+
void CalculatePositions(int &count_buys,int &count_sells)
  {
   count_buys=0.0;
   count_sells=0.0;

   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // selecciona la posición por índice para acceder posteriormente a sus propiedades
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
           {
            if(m_position.PositionType()==POSITION_TYPE_BUY)
               count_buys++;

            if(m_position.PositionType()==POSITION_TYPE_SELL)
               count_sells++;
           }
//---
   return;
  }


algoritmo de modificación de posición incorrecto - la posición fue seleccionada por SIMPLE

bool  PositionModify( 
   const string  symbol,     // símbolo 
   double        sl,         // Precio Stop Loss 
   double        tp          // Precio Take Profit 
   )

y la posición debería haber sido seleccionada por ticket:

bool  PositionModify( 
   const ulong   ticket,     // billete de posición 
   double        sl,         // Precio Stop Loss 
   double        tp          // Precio Take Profit 
   )
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
 

A la espera de que el autor haga correcciones.

 

El Asesor Experto fue desarrollado y en consecuencia el artículo fue diseñado cuando las cuentas de cobertura para mt5 ni siquiera se atrevían a ser mencionadas.

Por lo tanto, la selección de posiciones se realizó por símbolo.

 
Alexey Klenov:

El Asesor Experto fue desarrollado y en consecuencia el artículo fue diseñado cuando las cuentas de cobertura para mt5 ni siquiera se atrevían a ser mencionadas.

Por eso la selección de posiciones se realizaba por símbolo.


Las cuentas de cobertura ya tienen un año. Por lo tanto, por favor, haga todos los cambios que he mencionado anteriormente.

 

Para que funcione plenamente en ambos tipos de contabilidad (acciones y cobertura), es necesario hacer muchos cambios en el código del Asesor Experto, no sólo en la sección con trailing stop.

Lo haré tan pronto como sea posible.

 

En las cuentas del modo de compensación en 2 corredores (BKS-Forex y Roboforex) durante la prueba (ajustes y parámetros de prueba se adjuntan)

trailing stop en la línea roja (historia y operaciones - en el apéndice) se realiza en dientes[5] contrariamente al trailing stop en dientes[0] indicado en el código del Asesor Experto.

dientes[0].

Sin embargo, cuando se opera en una cuenta demo de Roboforex y BKS-Forex, el trailing stop todavía se arrastra por los dientes de la barra actual.

Pero cuando se opera en la cuenta real de BKS-Forex, las paradas de nuevo "van" a teeth[5].

No debería ser así.

 

Hola. He compilado el código y he intentado utilizarlo en el probador, pero no se produce ninguna operación. ¿Qué debo cambiar en los parámetros? Gracias.

 
¿Cómo funciona la red de arrastre? Stop loss en la línea roja del caimán se arrastra (dientes)?
 
natyog:

En las cuentas del modo de compensación en 2 corredores (BKS-Forex y Roboforex) durante la prueba (ajustes y parámetros de prueba se adjuntan)

trailing stop en la línea roja (historia y operaciones - en el apéndice) se realiza en dientes[5] contrariamente al trailing stop en dientes[0] indicado en el código del Asesor Experto.

dientes[0].

Sin embargo, cuando se opera en una cuenta demo de Roboforex y BKS-Forex, el trailing stop todavía se arrastra por los dientes de la barra actual.

Pero cuando se opera en la cuenta real de BCS-Forex, las paradas de nuevo "van" a teeth[5].

No debería ser así.

Es normal allí. La línea roja de 5 a 0 bar tiene una línea recta - arrastre en los dientes[0]. Y en sus dos dibujos extremos - también hay el cierre de la vela actual con el cruce de la línea roja - salida de la posición.

 

Buenas tardes.

Digamos que me puse manos a la obra para modernizar el Asesor Experto para cuentas de cobertura

También hice algunos cambios

  • 5 barras trall analiza sólo AO sin AC cuando se tiene en cuenta la tendencia en el caimán (por lo que parece funcionar mejor).
  • El indicador Alligator se inicializa con los parámetros de desplazamiento de la configuración para que sea más claro en el modo de prueba visual.
  • con todas las variantes de las fracciones deshabilitadas, podría haber casos en los que la red de arrastre se dispara y una nueva entrada en la tendencia podría ser por el fractal "cancelado" antes por el precio - he eliminado esta situación.
Pido a todos los que no son indiferentes a comprobar lo que ha resultado y dar sus comentarios.
Archivos adjuntos: