Сравнение тикетов ордеров - вопрос корифеям

 

Не хочу захламлять форум, но уж вопрос очень важный!

Хотел в советнике определять последний по времени открытия ордер и чисто случайно (сказался трудный рабочий день) по ошибке поставил в поиск минимума тикет ордера. Когда спохватился было уже поздно. Программа чётко и безошибочно модифицировала только самый последний из всех открытых ордеров - что и требовалось.

Отсюда вопрос - неужели в MQL4 и правда сравнение тикетов ордеров происходит по времени их открытия. От ответа на этот вопрос зависит уверенность в правильности моей программы.

 
DR12CED:

Отсюда вопрос - неужели в MQL4 и правда сравнение тикетов ордеров происходит по времени их открытия.

нет. в вашем случае - это чистое совпадение.

ваш вопрос на форуме неоднократно поднимался.

 

может я и ошибаюсь, но имхо:

тут вопрос не в mql, а в понимании конструкции: сервер <--> терминал <--> mql

терминал получает всю информацию от сервера, сам он не хранит ни историю ордеров не текущие открытые ордера, как и свойства ордера (время, цена,тикет....), поэтому оптимальнее перебирать ордера по списку в терминале и сравнивать конкретно каждое свойство ордера с заданным

 
abolk:

нет. в вашем случае - это чистое совпадение.

ваш вопрос на форуме неоднократно поднимался.

Совпадение в чём, извините? В том что сравнение номеров ордеров происходит именно по времени их открытия?
Ещё раз: сколько бы ни было открыто ордеров, модифицируется только последний из всех по времени открытия (что и требуется), причём сравнение ордеров происходит по номеру их тикета. Результат стабильный, из раза в раз повторяющийся. Причём такое решение существенно упрощает задачу.
 
DR12CED:
Совпадение в чём, извините? В том что сравнение номеров ордеров происходит именно по времени их открытия?
Ещё раз: сколько бы ни было открыто ордеров, модифицируется только последний из всех по времени открытия (что и требуется), причём сравнение ордеров происходит по номеру их тикета. Результат стабильный, из раза в раз повторяющийся. Причём такое решение существенно упрощает задачу.


лично для вас провёл эксперимент с открытием:

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

да и задача сравнения по тикету вместо времени - не упрощается - и тикет и время - суть тип int, размер 4 байта.

p.s. если вы так уверены в своей правоте, так зачем спрашивать? слитый дипозит - лучший советчик и доктор.

 
abolk:


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


Цитата топикстартера: по ошибке поставил в поиск минимума тикет ордера. Когда спохватился было уже поздно. Программа чётко и безошибочно модифицировала только самый последний из всех открытых ордеров - что и требовалось.

Отсюда вопрос - неужели в MQL4 и правда сравнение тикетов ордеров происходит по времени их открытия. От ответа на этот вопрос зависит уверенность в правильности моей программы.

 
DR12CED:
Совпадение в чём, извините? В том что сравнение номеров ордеров происходит именно по времени их открытия?
Сравнение "номеров" происходит именно по номерам, просто часто ордер с самым большим тикетом имеет самое позднее (математически самое большее) время открытия.
 
tara:


Цитата топикстартера: по ошибке поставил в поиск минимума тикет ордера. Когда спохватился было уже поздно. Программа чётко и безошибочно модифицировала только самый последний из всех открытых ордеров - что и требовалось.

Отсюда вопрос - неужели в MQL4 и правда сравнение тикетов ордеров происходит по времени их открытия. От ответа на этот вопрос зависит уверенность в правильности моей программы.


к чему этот римейк? такое впечатление, что "кворум цел" (с)
 
abolk:

к чему этот римейк? такое впечатление, что "кворум цел" (с)


Вы подтвердили утверждение оппонента своим примером

 
tara:


Вы подтвердили утверждение оппонента своим примером


его вопрос:

DR12CED:

Хотел в советнике определять последний по времени открытия ордер


для тех, кто в танке: понятен вопрос? надо найти последний по времени открытый ордер.

DR12CED:

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

топикстартер, вместо того, чтобы искать по времени стал искать по тикету.

далее он утеврждает, что:

DR12CED:
Ещё раз: сколько бы ни было открыто ордеров, модифицируется только последний из всех по времени открытия (что и требуется), причём сравнение ордеров происходит по номеру их тикета. Результат стабильный, из раза в раз повторяющийся. Причём такое решение существенно упрощает задачу.

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

 

Андрей, истина дороже :)

В 22:07 Вы открыли ордер,- сервер присвоил ему номер 59699370.

В 22:15 Вашему новому ордеру сервер присвоил номер 59699369.