[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 424

 
7777877:

Правильно ли я Вас понял? Надо представить функцию deinit (и цикл в частности) следующим образом:


Правильно, в таком случае удаляя например 18 объект, 19 становится на его место, 19=>18 то есть автоматом получается одна обратная итерация. Используйте это и для ордеров тоже.

И еще, так как список объектов и ордеров формально являются массивами, и начинаются с = 0, то максимальный индекс будет на один меньше чем размер массива :

int Quant_Objects=ObjectsTotal()-1;
 
pako:

Спасибо, но это не то что надо. Я писал " Как исправить код (не меняя magic) что-бы блок выдавал результат для каждой валютный паре?"

 
вот спасибо еще раз.
Файлы:
 
вот в этом индикаторе переделать
 
Reshetov:

Поменять:

На:


Спасибо, но это не то что надо. В вашем случае будут подсчитаны все валютные пари а надо что-бы блок выдавал результат для каждой валютный паре.
 
abeiks:

Спасибо, но это не то что надо. Я писал " Как исправить код (не меняя magic) что-бы блок выдавал результат для каждой валютный паре?"

если две - три пары, там же просто добавте для каждой пары if(OrderSymbol() == "EURUSD") countEURUSD++; и т.д

если все инструменты, то загоните в матрицу

 
abeiks:

Спасибо, но это не то что надо. В вашем случае будут подсчитаны все валютные пари а надо что-бы блок выдавал результат для каждой валютный паре.

Тогда вам надо сначала взять данные по всем ордерам, а потом, подсчитать количество валютных пар, разбить один массив на несколько (каждый по своей паре), и читать данные отдельно
 
pako:

если две - три пары, там же просто добавте для каждой пары if(OrderSymbol() == "EURUSD") countEURUSD++; и т.д

если все инструменты, то загоните в матрицу


Спасибо.

 
FAQ:

Тогда вам надо сначала взять данные по всем ордерам, а потом, подсчитать количество валютных пар, разбить один массив на несколько (каждый по своей паре), и читать данные отдельно

Спасибо, буду пробавать.

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