MQL4 - automated forex trading   /  

Форум

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

К списку тем  | 1 2 3 Авторизуйтесь или зарегистрируйтесь, чтобы создать новую тему

avatar
89
DR12CED 12.07.2011 22:12 

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

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

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

Бесплатная Groupware для групп разработчиков

Установите систему групповой работы TeamWox и объедините усилия всех разработчиков. Это поможет вашей команде работать быстрее и организованнее. Благодаря TeamWox станет намного проще ставить задачи и контролировать их выполнение.


avatar
963
abolk 12.07.2011 22:16 
DR12CED:

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

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

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


avatar
3672
IgorM 12.07.2011 22:28 

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

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

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



avatar
89
DR12CED 12.07.2011 23:01 
abolk:

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

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

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

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


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

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

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

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


avatar
2378
tara 12.07.2011 23:55 
abolk:


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


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

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


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

avatar
963
abolk 12.07.2011 23:58 
tara:


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

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


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

avatar
2378
tara 13.07.2011 00:02 
abolk:

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


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


avatar
963
abolk 13.07.2011 00:08 
tara:


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


его вопрос:

DR12CED:

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


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

DR12CED:

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

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

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

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

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


avatar
2378
tara 13.07.2011 00:35 

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

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

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

К списку тем   | 1 2 3  

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