Советники: JK BullP AutoTrader

 

JK BullP AutoTrader:

В работе советника используется индикатор iBullsPower (Bulls Power).

JK BullP AutoTrader tester

Автор: Vladimir Karputov

 

Все хорошо, вот только почему handle_iBullsPower=iBullsPower(Symbol(),Period(),13); ?

Этот параметр наверно логично перенести в input ?

И еще мне кажется, что т.к. TrailingStep всегда меньшеTrailingStop но больше нуля, можно в input вместо TrailingStep ввести double коэффициент TrailingStepKo  от 0 до 1 

и в OnInit()  TrailingStep=int(TrailingStepKo*TrailingStop);

Так удобнее в тестере выставлять параметры и не будет tested with error "incorrect input parameters"

 
Oleg Tsarkov:

Все хорошо, вот только почему handle_iBullsPower=iBullsPower(Symbol(),Period(),13); ?

Этот параметр наверно логично перенести в input ?

... 

Каждый может делать так, как ему удобно. Если Вам так удобнее - измените код.

Oleg Tsarkov:

...

И еще мне кажется, что т.к. TrailingStep всегда меньшеTrailingStop но больше нуля, можно в input вместо TrailingStep ввести double коэффициент TrailingStepKo  от 0 до 1 

и в OnInit()  TrailingStep=int(TrailingStepKo*TrailingStop);

...

Каждый может делать так, как ему удобно. Если Вам так удобнее - измените код.

Oleg Tsarkov:

...

Так удобнее в тестере выставлять параметры и не будет tested with error "incorrect input parameters"

Каждый может делать так, как ему удобно. Если Вам так удобнее - измените код. 

 
Vladimir Karputov:

Каждый может делать так, как ему удобно. Если Вам так удобнее - измените код.

Каждый может делать так, как ему удобно. Если Вам так удобнее - измените код.

Каждый может делать так, как ему удобно. Если Вам так удобнее - измените код. 

Еще, если не надоел)

   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);
     }

 почему на бай и сел разные условия?

тут если селов может быть два одновременно, то баев всегда один...

можете конечно ответить как обычно, но мне интересна ваша логика 

 
Oleg Tsarkov:

Еще, если не надоел)

   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);
     }

 почему на бай и сел разные условия?

тут если селов может быть два одновременно, то баев всегда один...

можете конечно ответить как обычно, но мне интересна ваша логика 

Внимательно прочтите описание - логика не моя :).