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

 
Vladimir Karputov:

Никому я не грозил. Вы грезите.

Также Вы путаете MQL5 и MQL4. MQL5 код - это файлы с расширением .mq5.

Пусть не грозили, а сделали замечание, это ведь юмористический оборот речи :-)

Я приводил здесь пятерочный код, возможно вы меня с кем-то перепутали.

 
psyman:

Пусть не грозили, а сделали замечание, это ведь юмористический оборот речи :-)

Я приводил здесь пятерочный код, возможно вы меня с кем-то перепутали.

Два шага:

сравните цифру 4 и 5. Найдите отличие.

пройдите по своим сообщениям и посмотрите на цифру.


А вообще эта тема по MQL5, хватит здесь разглагольствовать о бытие.

 

Друзья помогите с функцией которая отбирала бы символы открытых позиций и сохраняла бы их в массив. С этим вроде проблем нету, но не могу избавиться от дубликатов, если открыто несколько позиций. 

 
Alexander Mikryukov:

Друзья помогите с функцией которая отбирала бы символы открытых позиций и сохраняла бы их в массив. С этим вроде проблем нету, но не могу избавиться от дубликатов, если открыто несколько позиций. 

Вот, под mql5 перепишите сами

  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
    if(OrderType()<2) {
     if(ArraySearchStr(symbols, OrderSymbol())==-1) {
      b++;
       ArrayResize(symbols,b+1);
       symbols[b]=OrderSymbol();
  }}}}

//===============================================================================================
//------------------------------ Функция удаляет копии с массива -------------------------------+
//===============================================================================================
int ArraySearchStr(string& m[], string e) {
  for(int i=0; i<ArraySize(m); i++) {
   if(m[i]==e) return(i);
  }
  return(-1);
 }
 
Vitaly Muzichenko:

Вот, под mql5 перепишите сами

Спасибо.

 

Помогите понять непонятное.

      for(int p = 0; p < InpShiftCorrection; p++) prs += pressureDetermination(open[i],close[i],high[i],low[i]);
      prs /= InpShiftCorrection;
      prs *= (high[i] - low[i]);
      Print(NormalizeDouble(prs,Digits()));

Вопрос собственно почему принт с нормализацией выдаёт такую чушь?

2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00025
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00012
2019.03.29 22:53:29.310 2019.01.02 06:01:21   8.000000000000001e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -9.000000000000001e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   5e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -4e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00017
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -8.000000000000001e-05
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00052
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00029
2019.03.29 22:53:29.310 2019.01.02 06:01:21   -0.00114
2019.03.29 22:53:29.310 2019.01.02 06:01:21   0.00123
 
Сергей Таболин:

Помогите понять непонятное.

Вопрос собственно почему принт с нормализацией выдаёт такую чушь?

Print(NormalizeDouble(prs,Digits()));
Print(DoubleToString(prs,Digits()));
 
Vitaly Muzichenko:

Попробую. Спасибо. Но до сего дня этот самый принт выдавал исключительно верные значения...

 
Сергей Таболин:

Попробую. Спасибо. Но до сего дня этот самый принт выдавал исключительно верные значения...

Он вам льстил) 

 
Vitaly Muzichenko:

Он вам льстил) 

Видимо, да ))) Получилось.

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