Добрый день, у меня есть функция сортировки массива но она как то криво сортирует. Должно сортировать от меньшего до большего значения. Может кто подсказать в чем может быть проблема?
Вывод сортировки :
Вызывайте ArraySort() один раз в конце за пределами цикла.
Потом проходите в цикле по массиву и выводите.
Сейчас вывод не из массива идет, а в том порядке, в котором позиции перебираются.
Вызывайте ArraySort() один раз в конце за пределами цикла.
Потом проходите в цикле по массиву и выводите.
Сейчас вывод не из массива идет, а в том порядке, в котором позиции перебираются.
Попробуйте сортировать после добавления всех данных в массив (а не на каждом шаге итерации)
Спасибо за наводку, попытался сделать но все ровно что-то не так. Можно попросить Вашего мнения ?
for(int i=PositionsTotal()-1; i>=0; i--){ if(a_position.SelectByIndex(i)) if(a_position.Symbol()==Symbol()) { ENUM_POSITION_TYPE pos_type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE); if(pos_type==POSITION_TYPE_SELL){ ArrayResize(PriceSell, ArraySize(PriceSell)+1); PriceSell[i]=a_position.PriceOpen(); int Size=ArraySize(PriceSell); for(int e=0; e<Size; e++){ Print(e,"-",PriceSell[e]); one = PriceSell[0]; two = PriceSell[1]; } } } } ArraySort(PriceSell);
Вывод:
Спасибо за наводку, попытался сделать но все ровно что-то не так. Можно попросить Вашего мнения ?
Вывод:
Примерно так:
ArrayResize(PriceSell,PositionsTotal()); int j=0; for(int i=PositionsTotal()-1; i>=0; i--){ if(a_position.SelectByIndex(i)){ if(a_position.Symbol()==Symbol()) { ENUM_POSITION_TYPE pos_type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE); if(pos_type==POSITION_TYPE_SELL){ PriceSell[j]=a_position.PriceOpen(); j++; } } } } ArrayResize(PriceSell,j); ArraySort(PriceSell);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день, у меня есть функция сортировки массива но она как то криво сортирует. Должно сортировать от меньшего до большего значения. Может кто подсказать в чем может быть проблема?
Вывод сортировки :