Я не говорил, что это правильный код. Надо еще каким то образом установить "текущее время", т.е. время открытия ордера.
Если цена, по которой Вы пытаетесь купить, отличается от текущей цены Ask, то покупка не состоится. А цена, которую Вы извлекаете из прошлых тиков не обязана совпадать с текущей ценой.
Если цена, по которой Вы пытаетесь купить, отличается от текущей цены Ask, то покупка не состоится. А цена, которую Вы извлекаете из прошлых тиков не обязана совпадать с текущей ценой.
Именно это я пытался сообщить Вам.
У нас же текущей цены и времени нету. Они берутся из структуры тика MqlTick.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Увеличил внутренний буфер копирования в Clipboard с 256 до 4096 символов
Спасибо
Предоставьте пожалуйста код для воспроизведения ошибки
Надеюсь понятно что я хочу делать: вместо OnTick(), использовать массив тиков от CopyTicks()
Я так понял такое решение ошибочно, из-за текущей цены, также из-за текущей времени. Получается функция Buy() без OnTick() не сможет работать ?
Надеюсь понятно что я хочу делать: вместо OnTick(), использовать массив тиков от CopyTicks()
Я так понял такое решение ошибочно, из-за текущей цены, также из-за текущей времени. Получается функция Buy() без OnTick() не сможет работать ?
У Вас очень странный код. Вы пытаетесь совершить покупку по цене, которая была у тика попавшего на
D'2022.06.04 06:32:31'Но дело в том, что текущая (на момент отправки торгового приказа) цена Ask может отличаться от той, которая была в обрабатываемом тике.
У Вас очень странный код. Вы пытаетесь совершить покупку по цене, которая была у тика попавшего на
Но дело в том, что текущая (на момент отправки торгового приказа) цена Ask может отличаться от той, которая была в обрабатываемом тике.
Я не говорил, что это правильный код. Надо еще каким то образом установить "текущее время", т.е. время открытия ордера.
Я не говорил, что это правильный код. Надо еще каким то образом установить "текущее время", т.е. время открытия ордера.
Если цена, по которой Вы пытаетесь купить, отличается от текущей цены Ask, то покупка не состоится. А цена, которую Вы извлекаете из прошлых тиков не обязана совпадать с текущей ценой.
Именно это я пытался сообщить Вам.
Если цена, по которой Вы пытаетесь купить, отличается от текущей цены Ask, то покупка не состоится. А цена, которую Вы извлекаете из прошлых тиков не обязана совпадать с текущей ценой.
Именно это я пытался сообщить Вам.
У нас же текущей цены и времени нету. Они берутся из структуры тика MqlTick.
У нас же текущей цены и времени нету. Они берутся из структуры тика MqlTick.
Надеюсь понятно что я хочу делать: вместо OnTick(), использовать массив тиков от CopyTicks()
Я так понял такое решение ошибочно, из-за текущей цены, также из-за текущей времени. Получается функция Buy() без OnTick() не сможет работать ?
У Вас же исполнение по рынку, пока ордер дошёл до исполнения - цена "убежала"
У Вас же исполнение по рынку, пока ордер дошёл до исполнения - цена "убежала"
Вот именно.
Получается что тиковые данные которые получены через CopyTicks, невозможно использовать в торговых функциях(открытие/закрытие).
Надо было также сделать синхронизацию потоков, как например семафор.