Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1141

 
Vladimir Karputov:

Да. А теперь попробуйте начать сверху графика и перетянуть перекрестие вниз ...

(1250,761-1193,590)/1250,761*100 = 4,570897237762


 
Igor Zakharov:

(1250,761-1193,590)/1250,761*100 = 4,570897237762

Только теперь есть нюанс: так как начинали тянуть выше, а закончили ниже - проценты на графике указаны со знаком "-". Как по мне добавилось информативности.

 
Vladimir Karputov:

Ну я думаю, Вы ещё не забыли что есть калькулятор? Может хоть что-то сами посчитаете?


Добавлено: если калькулятор сильно тяжел, то могу привести ещё раз цитату:

Terminal: Теперь инструмент "Перекрестие" показывает расстояние между ценовыми уровнями не только в пипсах, но и в процентах:

С калькулятором проблем нет и ни когда не было.

Однако "Процент" это часть чего-либо по отношению к целой заранее заданной величине = 100%.

Так вот, расстояние между ценовыми уровнями в процентах   относительно чего?

https://ru.wikipedia.org/wiki/Процент

 
Anzhela Sityaeva:

Так вот, расстояние между ценовыми уровнями в процентах   относительно чего?

относительно начальной цены (откуда тащите перекрестие). у меня сошлось, см. выше.

 
Igor Zakharov:

относительно начальной цены (откуда тащите перекрестие). у меня сошлось, см. выше.

Если там откуда тащить = 100% а там где остановились 0%, то результат = 100%
 
Anzhela Sityaeva:
Если там откуда тащить = 100% а там где остановились 0%, то результат = 100%

Надеюсь, ваши покупатели этого не читают...

0% там где 0 абсолютный
 
Igor Zakharov:

Надеюсь, ваши покупатели этого не читают...

0% там где 0 абсолютный

Да... пятница, хорошо что я не одна. Хотя чего проще было сказать, что за 100% берется значение цены откуда начинается измерение.

 

Помогите, пожалуйста, доковырять советник на МТ5))))

Добавил выбор фикс-лота и риск-лота... В тестере все работает прекрасно, а в терминале, при выборе риск-лота, напрочь выбрасывает советника с графика...

   double dfg, ifg;
   dfg = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
   ifg = InpVolumeLotOrRisk;
   switch(IntLotOrRisk)
     {
      case MY_FIXLOT:
         InpLots= InpLotsfix;
         break;

      case MY_RISKLOT:
         InpLots= dfg*ifg/25000;    // FreeMargin * %риска) / 100 * 250(средняя цена лота)
         break;

     }

что в этом кусочке кода не так?))

P.S. Только не начинайте критиковать формулу риска на несколько страниц - меня устраивает такой вариант вполне) Главное, чтобы лот сам поднимался за балансом) 

 
Vlad Svetlov:

Помогите, пожалуйста, доковырять советник на МТ5))))

Добавил выбор фикс-лота и риск-лота... В тестере все работает прекрасно, а в терминале, при выборе риск-лота, напрочь выбрасывает советника с графика...

что в этом кусочке кода не так?))

P.S. Только не начинайте критиковать формулу риска на несколько страниц - меня устраивает такой вариант вполне) Главное, чтобы лот сам поднимался за балансом) 

Полученный В РЕЗУЛЬТАТ МАТЕМАТИЧЕСКИХ ВЫЧИСЛЕНИЙ лот необходимо проверит и при необходимости округлить.

Я использую функцию:

//+------------------------------------------------------------------+
//| Lot Check                                                        |
//+------------------------------------------------------------------+
double LotCheck(double lots,CSymbolInfo &symbol)
  {
//--- calculate maximum volume
   double volume=NormalizeDouble(lots,2);
   double stepvol=symbol.LotsStep();
   if(stepvol>0.0)
      volume=stepvol*MathFloor(volume/stepvol);
//---
   double minvol=symbol.LotsMin();
   if(volume<minvol)
      volume=0.0;
//---
   double maxvol=symbol.LotsMax();
   if(volume>maxvol)
      volume=maxvol;
   return(volume);
  }

после вызова необходимо проверить что она вернула - если "0.0" -> значит лот расчётный получился очень маленький.

 

Всем салют.

Обратил внимание на такую аномалию при отрисовке стандартного зигзага из папки Examples.

Разница только в дате начала теста. Возможно кто-нибудь знает причину таких искажений и как это исправить ?

Причина обращения: