Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подключи MQL5 Cloud Network. Увеличивай свой рейтинг!
drunya
294
drunya 2011.07.12 20:12 

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

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

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

Andrey F. Zelinsky
31366
Andrey F. Zelinsky 2011.07.12 20:16  
DR12CED:

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

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

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

IgorM М
4801
IgorM М 2011.07.12 20:28  

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

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

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

drunya
294
drunya 2011.07.12 21:01  
abolk:

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

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

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


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

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

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

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

Алексей Тарабанов
7208
Алексей Тарабанов 2011.07.12 21:55  
abolk:


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


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

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

Левитин Сергей В.
5160
Левитин Сергей В. 2011.07.12 21:58  
DR12CED:
Совпадение в чём, извините? В том что сравнение номеров ордеров происходит именно по времени их открытия?
Сравнение "номеров" происходит именно по номерам, просто часто ордер с самым большим тикетом имеет самое позднее (математически самое большее) время открытия.
Andrey F. Zelinsky
31366
Andrey F. Zelinsky 2011.07.12 21:58  
tara:


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

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


к чему этот римейк? такое впечатление, что "кворум цел" (с)
Алексей Тарабанов
7208
Алексей Тарабанов 2011.07.12 22:02  
abolk:

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


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

Andrey F. Zelinsky
31366
Andrey F. Zelinsky 2011.07.12 22:08  
tara:


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


его вопрос:

DR12CED:

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


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

DR12CED:

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

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

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

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

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

Алексей Тарабанов
7208
Алексей Тарабанов 2011.07.12 22:35  

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

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

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

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий