Asesores Expertos: JK BullP AutoTrader

 

JK BullP AutoTrader:

Este Asesor Experto utiliza en su trabajo el indicador iBullsPower (Bulls Power).

JK BullP AutoTrader tester

Autor: Vladimir Karputov

 

Todo bien, excepto por qué handle_iBullsPower=iBullsPower(Symbol(),Period(),13); ?

Este parámetro se debe mover a la entrada ?

Y me parece que como TrailingStep siempre es menor que TrailingStop pero mayor que cero, podemos introducir en input en vez de TrailingStep un coeficiente doble TrailingStepKo de 0 a 1.

y en OnInit() TrailingStep=int(TrailingStepKo*TrailingStop);

De esta manera es más conveniente para establecer los parámetros en el probador y no se pondrá a prueba con el error "parámetros de entrada incorrectos"

 
Oleg Tsarkov:

Todo bien, excepto por qué handle_iBullsPower=iBullsPower(Symbol(),Period(),13); ?

Este parámetro se debe mover a la entrada ?

...

Cada uno puede hacer lo que quiera. Si te resulta más cómodo, cambia el código.

Oleg Tsarkov:

...

Y me parece que como TrailingStep es siempre menor que TrailingStop pero mayor que cero, podemos introducir en la entrada un coeficiente doble TrailingStepKo de 0 a 1 en lugar de TrailingStep.

y en OnInit() TrailingStep=int(TrailingStepKo*TrailingStop);

...

Cada uno puede hacerlo como quiera. Si te resulta más cómodo, cambia el código.

Oleg Tsarkov:

...

Es más conveniente para establecer los parámetros en el probador y no se pondrá a prueba con el error "parámetros de entrada incorrectos".

Cada uno puede hacer lo que quiera. Si es más conveniente para usted, cambie el código.

 
Vladimir Karputov:

Cada uno puede hacer lo que quiera. Si le resulta más cómodo, cambie el código.

Cada uno puede hacer lo que quiera. Si le conviene más, cambie el código.

Cada uno puede hacer lo que quiera. Si es más conveniente para usted, cambie el código.

Una cosa más, si no te aburro).

   if(pos1pre>pos2cur && pos2cur>0 && total<2)
     {
      m_trade.Sell(Lots,Symbol(),m_symbol.Bid(),
                   m_symbol.Ask()+StopLoss*m_digits_adjust,
                   m_symbol.Ask()-TakeProfit*m_digits_adjust);
     }
   if(pos2cur<0 && total<1)
     {
      m_trade.Buy(Lots,Symbol(),m_symbol.Ask(),
                  m_symbol.Bid()-StopLoss*m_digits_adjust,
                  m_symbol.Bid()+TakeProfit*m_digits_adjust,NULL);
     }

¿por qué hay diferentes condiciones para comprar y vender?

Si puede haber dos yos al mismo tiempo, entonces siempre hay un bay....

Por supuesto puedes contestar como siempre, pero me interesa tu lógica.

 
Oleg Tsarkov:

Una cosa más, si no te estoy aburriendo)

   if(pos1pre>pos2cur && pos2cur>0 && total<2)
     {
      m_trade.Sell(Lots,Symbol(),m_symbol.Bid(),
                   m_symbol.Ask()+StopLoss*m_digits_adjust,
                   m_symbol.Ask()-TakeProfit*m_digits_adjust);
     }
   if(pos2cur<0 && total<1)
     {
      m_trade.Buy(Lots,Symbol(),m_symbol.Ask(),
                  m_symbol.Bid()-StopLoss*m_digits_adjust,
                  m_symbol.Bid()+TakeProfit*m_digits_adjust,NULL);
     }

¿por qué hay diferentes condiciones para comprar y vender?

Si puede haber dos sels al mismo tiempo, entonces siempre hay una compra....

por supuesto puedes responder como siempre, pero me interesa tu lógica.

Lea la descripción cuidadosamente - no es mi lógica :).