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

 
JRandomTrader #:

У меня наборы условий на открытие в лонг и в шорт рассматриваются отдельно.

Т.е., например, так:

Благодарю, буду пробовать

 
JRandomTrader #:

У меня наборы условий на открытие в лонг и в шорт рассматриваются отдельно.

Т.е., например, так:

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

Тут можно фактически задать один из 224 вариантов:

Интересна возможность учитывать так много вариантов в одном коде.

В расширенном ответе выражения под case (VRO и прочее) - тоже набор условий, по которым принимается решение?

И Mode и Mode_... и VRP AVR?

Немножко запутался в коде

 
qadexys #:

Интересна возможность учитывать так много вариантов в одном коде.

В расширенном ответе выражения под case (VRO и прочее) - тоже набор условий, по которым принимается решение?

И Mode и Mode_... и VRP AVR?

Немножко запутался в коде

В блоке условий if - каждый флаг определяет проверку своего условия, а в блоке switch конкретное проверяемое условие определяется не одним флагом, а комбинацией из трёх.

 
JRandomTrader #:

   if(  ( !F1 || f1==1 )
      &&( !F2 || f2==1 )
      &&( !F3 || f3==1 )
      &&( !F4 || f4==1 )

А я правильно понимаю, что в Вашем случае f1, ..., fn не обязательно bool? Понимаю что вариантов может быть много, но интересно как вы поступаете.

 
qadexys #:

А я правильно понимаю, что в Вашем случае f1, ..., fn не обязательно bool? Понимаю что вариантов может быть много, но интересно как вы поступаете.

Естественно. fn - любые, их результаты с чем-то сравниваются (и тоже не обязательно с константой), и вот результат этого сравнения - bool.

 
Подскажите пожалуйста: OBJ_RECTANGLE_LABEL позволяет добавлять в него текст? Или мне нужно OBJ_LABEL накладывать поверх OBJ_RECTANGLE_LABEL, если хочу текст в непрозрачном окне.
 

Подскажите, как определить количество разрядов в средней цене позиции (той, что отображается в поле Price в окне Toolbox)?

Экспериментально выяснено, что может быть до 8 разрядов. Но тот же инструмент может иметь и 5 разрядов и пр. Я имею в виду, как определить сколько именно отображается в GUI?

 
void OnInit() 
   { 
   string symb = _Symbol;
   int bars_win_1 = Bars(_Symbol, _Period);
   int bars_win_2 = Bars(symb,    _Period);
   int bars_win_3 = iBars(_Symbol, _Period);
   int bars_win_4 = iBars(symb,    _Period);
   Print("     bars_win_1 = ", bars_win_1,  "     bars_win_2 = ", bars_win_2, "     bars_win_3 = ", bars_win_3,  "     bars_win_4 = ", bars_win_4);
   }
int OnCalculate(  const int         rates_total, 
                  const int         prev_calculated,
                  const datetime   &time[],                   
                  const double     &open[],                     
                  const double     &high[],                     
                  const double     &low[],                      
                  const double     &close[],                    
                  const long       &tick_volume[],                
                  const long       &volume[],                     
                  const int        &spread[]   )       
   {
   return(0);
   }                              

Оставить индикатор в окне. Терминал выключить, включить. Результат такой.

   bars_win_1 = 250688     bars_win_2 = 0     bars_win_3 = 250688     bars_win_4 = 0

Дальше в моём реальном коде таймер 20 мс. Проходит около 8-12 итераций прежде, чем все значения становятся равными реальному количеству.

Кроме того, все они дают фактическое значение, больше настроечного параметра (это нормально, но не соответствует справке).

Это просто к сведению.

 
leonerd #:

Подскажите, как определить количество разрядов в средней цене позиции (той, что отображается в поле Price в окне Toolbox)?

Экспериментально выяснено, что может быть до 8 разрядов. Но тот же инструмент может иметь и 5 разрядов и пр. Я имею в виду, как определить сколько именно отображается в GUI?

Digits()

 

Добрый день!

Подскажите, скачал индикатор, в МЕТАEDITOR он есть в разделе индикаторс, а в терминале , в разделе пользовательские он не появился.. Что можно сделать? 

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