Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 563
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, спрашиваю о MQL 5? да, доступ надо получить к данным текущего символа. Данные нужны в коде советника. Получается мне нужно, например, узнать цену закрытия бара, предшествующего настоящему
Просмотрите пример для CopyTime
Да, спрашиваю о MQL 5? да, доступ надо получить к данным текущего символа. Данные нужны в коде советника. Получается мне нужно, например, узнать цену закрытия бара, предшествующего настоящему
Вам бы документацию немного почитать.
вот примерчик получение цены закрытия а также индикаторных буферов
...
вот примерчик получение цены закрытия а также индикаторных буферов
Всем салют !
Получаю в тестере по событию OnTrade данные по истории сделок.
И вот что получаю в логах.
0 22:58:16.487 Core 1 2016.04.01 00:00:00 Number of bars in the terminal history for the symbol-period GBPUSD at the moment = 7729
JR 0 22:58:16.487 Core 1 2016.04.01 03:00:00 Попытка совершения торговой операции 0 лотом 0.01
EL 0 22:58:16.487 Core 1 2016.04.01 03:00:00 market buy 0.01 GBPUSD sl: 1.43033 tp: 1.44034 (1.43646 / 1.43654 / 1.43646)
GO 0 22:58:16.487 Core 1 2016.04.01 03:00:00 deal #2 buy 0.01 GBPUSD at 1.43654 done (based on order #2)
GE 0 22:58:16.487 Core 1 2016.04.01 03:00:00 deal performed [#2 buy 0.01 GBPUSD at 1.43654]
NK 0 22:58:16.487 Core 1 2016.04.01 03:00:00 order performed buy 0.01 at 1.43654 [#2 buy 0.01 GBPUSD at 1.43654]
HI 0 22:58:16.487 Core 1 2016.04.01 03:00:00 ticket=1
HM 0 22:58:16.487 Core 1 2016.04.01 03:00:00 price=0.0
HH 0 22:58:16.487 Core 1 2016.04.01 03:00:00 time=2016.04.01 00:00
CR 0 22:58:16.487 Core 1 2016.04.01 03:00:00 ticket=2
ID 0 22:58:16.487 Core 1 2016.04.01 03:00:00 price=1.43654
OP 0 22:58:16.487 Core 1 2016.04.01 03:00:00 time=2016.04.01 03:00
Откуда возникает первая сделка с нулевым прайсом ? Я ее не совершаю :-).
Объясните плиз.
З.Ы. Кажется понял. У первой сделки профит 10килобаксов. Только все равно странно. Зачем ?
И вот еще вопрос. Сделка (которая моя - покупка по 1,43654) не отработала еще. Как она вообще в истории очутилась ?
Мне нужно как в MQL4 считать в массив данные ТОЛЬКО по закрытым сделкам. Как это сделать ???
P.S. Фильтровать по DEAL_ENTRY_OUT ?
Переустановить терминал пробовали?
Плохой пример. Переменную, хранящую хендл индикатора, в MQL5 нужно объявлять в "шапке" - в области глобальных переменных программы, получать хендл в OnInit(). И только потом можно обращаться к хендлу за получением данных из любого места программы.
Не совсем согласен с вами, по поводу получения хендла, так как функция OnInit() выполняется один раз, а 100%-ой гарантии нет что будет создан индикатор с первого раза. По поводу объявления переменной возможны вы правы, но чем хуже вариант со статической переменной хотелось бы знать в документации написано
Локальные переменные, объявленные с ключевым словом static сохраняют свои значения в течение всего времени существования функции. При каждом следующем вызове функции такие локальные переменные содержат те значения, которые они имели при предыдущем вызове.
Фильтровать по DEAL_ENTRY_OUT
Не совсем согласен с вами, по поводу получения хендла, так как функция OnInit() выполняется один раз, а 100%-ой гарантии нет что будет создан индикатор с первого раза. По поводу объявления переменной возможны вы правы, но чем хуже вариант со статической переменной хотелось бы знать в документации написано
...
Для этого в OnInit() при создании хендла индикатора осуществляется проверка. Если хендл не создан, то в OnOnit() нужно возвращать INIT_FAILED. То есть создание хендла индикатора - только один раз и только в OnInit(). Это Вам не "4" - бардак и шатание и объявление хендлов по всем закоулкам программы.