OrderSelect SELECT_BY_POS MODE_HISTORY

 

Салют !

Объясните плиз кто-нибудь почему при использовании функции OrderSelect (SELECT_BY_POS MODE_HISTORY) в тестере я получаю ордера отсортированные по времени их ухода в историю а при работе онлайн получаю ордера отсортированные по тикету ?

 
jericho1976:

Салют !

Объясните плиз кто-нибудь почему при использовании функции OrderSelect (SELECT_BY_POS MODE_HISTORY) в тестере я получаю ордера отсортированные по времени их ухода в историю а при работе онлайн получаю ордера отсортированные по тикету ?

Как отсортируете историю в клиентском терминале во вкладке истории, так и будете получать
 
stringo:
Как отсортируете историю в клиентском терминале во вкладке истории, так и будете получать

Вы же модератор,зачем дизинформацию писать???

Сортировка не имеет вообще никакого значения. 

 
eevviill:

Вы же модератор,зачем дизинформацию писать???

Сортировка не имеет вообще никакого значения. 

Совершенно верно. Никакого вообще.

Меня хелпдеск послал на форум с этим вопросом. Походу сами не знают :-).

 
jericho1976:

Меня хелпдеск послал на форум с этим вопросом. Походу сами не знают :-).

Можно номер тикета обращения в сервисдеск?
 
eevviill:

Вы же модератор,зачем дизинформацию писать???

Сортировка не имеет вообще никакого значения. 

Ошибся. Отвечал из дома, а кодов под рукой не было.

 
stringo:
Можно номер тикета обращения в сервисдеск?
#1409568
 
jericho1976:
#1409568

Да, вижу.

На самом деле никто никогда не гарантировал порядок сортировки в выборке.

С MetaQuotes-Demo, например, история приходит, отсортированная по возрастанию тикета. То есть, специалист Форекс-клуба просто не знал, что сортировка по убыванию тикета зависит именно от настроек и/или плагинов именно сервера Форекс-клуба. Но в общем-то, они в полном праве отсылать к MetaQuotes Software, потому что вполне логично выдавать выборку ордеров именно так, как отсортировано в клиентском терминале

В любом случае, если Вы не хотите зависеть от порядка выдачи, то Вы вполне можете организовать собственную сортировку. Организуйте двумерный числовой массив, в первом измерении которого, - сортируемое значение (номер тикета, время открытия, время закрытия, мэйджик и т.п.), во втором измерении - номер позиции в оригинальном массиве ордеров. Функция ArraySort сортирует массив по первому измерению, что нам и нужно

 
stringo:

Да, вижу.

На самом деле никто никогда не гарантировал порядок сортировки в выборке.

С MetaQuotes-Demo, например, история приходит, отсортированная по возрастанию тикета. То есть, специалист Форекс-клуба просто не знал, что сортировка по убыванию тикета зависит именно от настроек и/или плагинов именно сервера Форекс-клуба. Но в общем-то, они в полном праве отсылать к MetaQuotes Software, потому что вполне логично выдавать выборку ордеров именно так, как отсортировано в клиентском терминале

В любом случае, если Вы не хотите зависеть от порядка выдачи, то Вы вполне можете организовать собственную сортировку. Организуйте двумерный числовой массив, в первом измерении которого, - сортируемое значение (номер тикета, время открытия, время закрытия, мэйджик и т.п.), во втором измерении - номер позиции в оригинальном массиве ордеров. Функция ArraySort сортирует массив по первому измерению, что нам и нужно

Собственную процедуру сортировки я уже давно сделал :-).

Я просто так и не понял логики режима сортировки по умолчанию и от чего она зависит. От настроек сервера ДЦ или от особенностей работы самой функции ? Ну и я бы включил в справочник MQL4 дополнительные пояснения в описании функции OrderSelect в режиме SELECT_BY_POS. Потому что при ее использовании логично предположить что она будет работать одинаково и в тестере и онлайн. А тут такая засада :-)

Р.Ы. В клиентском терминале исторические ордера у меня всегда отсортированы по времени их ухода в историю. Это логично и информативно. Тем не менее на режим сортировки исторических ордеров онлайн это никак не влияет.

 

Сортировка никак не оговорена. Поэтому логику можно и не искать.

В документации отразим

 
stringo:

Сортировка никак не оговорена. Поэтому логику можно и не искать.

В документации отразим

ОК. Тема закрыта ).