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

 

Сделал так, можно же сделать более профессионально?

//+----------Удаляем старый сигнал-----------------------------------+
void filterDeal_1(int tf)
  {
   for(int i= 0; i<CountTrade; i++)
      if(trade_buff[i].tf == tf)
        {
         ArrayRemove(trade_buff,i,1);
         CountTrade--;
         i= 0;
        }
  }
[Удален]  
Mikhail Toptunov #:

Сделал так, можно же сделать более профессионально?

Привет, для удаления элементов массива начинайте перебор с конца массива, тогда не нужно менять индекс. Он сам идёт по порядку.

for(int i=CountTrade-1; i>=0; i--)
   {
   if(trade_buff[i].tf == tf)
      {
      ArrayRemove(trade_buff,i,1);
      }
   }
 
Aleksei Stepanenko #:

Привет, для удаления элементов массива начинайте перебор с конца массива, тогда не нужно менять индекс. Он сам идёт по порядку.

Точно, Круто, Спасибо!

 
Mikhail Toptunov #:

Нужно присвоить объекту уникальный номер, этот номер нужно собрать из параметров:

- Время открытия объекта

- Период объекта

- тайм фрейм объекта

Например:

Ну не уверен , что этот номер будет эксклюзивным , и тип данных под int не подходит, а желательно int 

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

 

Подскажите, как пользоваться функцией PostMessageW из WinAPI\winuser.mqh?

Что нашел в поиске, всё относится к МТ4 и не очень работает в МТ5. Задача вызвать окно нового ордера например.

 
Valeriy Yastremskiy #:

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

Хмм, интересно. Спасибо, попробую!!!

 

для чего шифратор встроен в mql? не могу найти ему разумное применение

от самого себя нет смысла шифровать, а для второго пользователя видится только глобальные переменные терминалы

 
Fast235 #:

для чего шифратор встроен в mql? не могу найти ему разумное применение

от самого себя нет смысла шифровать, а для второго пользователя видится только глобальные переменные терминалы

А что тогда нужно сделать, чтобы присвоить индивидуальный номер объекту, который (номер) можно восстановить по данным:

- Период

- Время

- Тайм-фрейм 

 
Mikhail Toptunov #:

А что тогда нужно сделать, чтобы присвоить индивидуальный номер объекту, который (номер) можно восстановить по данным:

- Период

- Время

- Тайм-фрейм 

если на этом можно рабочую тс построить.

 
Mikhail Toptunov #:

А что тогда нужно сделать, чтобы присвоить индивидуальный номер объекту, который (номер) можно восстановить по данным:

- Период

- Время

- Тайм-фрейм 

Кстати у Тришкина Артема посмотрите в 3 или 4 статье последнего цикла его статей, он в Магик кодирует параметры открытия ордера. Очень даже приличная логика. До компа никак не доберусь.