Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1410

 
Nauris Zukas #:

Есть непонятность с использованием стандартной библиотеки.
Как получить тикет после открытия ордера с помощью стандартной библиотеки?
Я могу быть уверен что ответ сервера здесь уже получен? Терминал зависает пока ждёт ответа от севера? Непонятно.

В MQ4 все было просто:

Лучше используйте обработку события OnTradeTransaction()

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Функции обработки событий - Функции - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov #:

Лучше используйте обработку события OnTradeTransaction()

Спасибо! Тогда придётся переделать пару функций.

Может где-то видели функцию для расчета проскальзывания на mql5?

 
Nauris Zukas #:

Спасибо! Тогда придётся переделать пару функций.

Может где-то видели функцию для расчета проскальзывания на mql5?

А чё её искать? Там-же в OnTradeTransaction отлавливаете событие постановки ордера, читаете цену ордера, потом отлавливаете сделку, читаете цену сделки и получаете разность этих цен.

Можно и на глобальном уровне завести переменную, в неё записать цену во время отправки ордера, а в  OnTradeTransaction получить цену сделки…

 

Alexey Viktorov #:

Можно и на глобальном уровне завести переменную, в неё записать цену во время отправки ордера, а в  OnTradeTransaction получить цену сделки…

Этот вариант точно отпадает. Что мне цена без тикета если отправлять много ордеров, как там OnTradeTransaction разберётся?

 
Nauris Zukas #:

Этот вариант точно отпадает. Что мне цена без тикета если отправлять много ордеров, как там OnTradeTransaction разберётся?

По ID позиции разберётся без проблем.

Получил сделку, из неё получил ID позиции, вытащил ордера и сделки из истории по этому ID и читай цены ордера и сделки IN.

Читайте наконец документацию. Там можно много интересного найти. 

 

Alexey Viktorov #:

Получил сделку, из неё получил ID позиции, вытащил ордера и сделки из истории по этому ID и читай цены ордера и сделки IN.

Это понятно! Но второй вариант с сохраненай цене, во время отправки ордер, на глобальном уровне и потом в OnTradeTransaction получить цену сделки...это мне не понятен. Зачем сохранять не превязаную (к ордеру) цену во время отправки ордера?


Короче, так и сделаю - получу сделку, из неё вытащу всё остальное.

 
Adam Dee #:

Ребят привет всем профи и кто шарит!

Возникла проблема с получением данных из индикатора -- помогите пожалуйста, кому это под силу..

Цель функции: Рассчитать средние расстояние в пунктах между внешними линиями индикатора "Полосы Боллинджера", за указанный период.

Суть проблемы: Не могу никак получить реальные значения цены на линиях индикатора по указанному бару, потому что по какой-то причине в разные буфера индикатора записывается одно и то-же значение цены, которое ещё к тому-же и не соответствует реальным показателям ни одной из линий на этом барре. И в итоге, в разные буферы (при разных запросах) записывается некторое неведомое значение цены, которое сводит на нет всю дальнейшую работу функции.
Причем, точно таким же методом как и  в этой функции я исправно получал показатели из любых других индикаторов, а тут это не работает...

Болингер - это SMA +- N*стандартных_отклонений. 

Про стандартное отклонение и SMA есть свои индикторы. НО это вс считается и без них - берёте справочник и вот вам формула. Из неё находите "среднее расстояние в пунктах между линиями" которое в моменте по дефолтным значениям равно 4 сигмы.
А среднее (за который период?) потрудитесь посчитать

вы де-факто хотите узнать среднюю величину стандартного отклонения

 
Nauris Zukas #:

Это понятно! Но второй вариант с сохраненай цене, во время отправки ордер, на глобальном уровне и потом в OnTradeTransaction получить цену сделки...это мне не понятен. Зачем сохранять не превязаную (к ордеру) цену во время отправки ордера?


Короче, так и сделаю - получу сделку, из неё вытащу всё остальное.

Это было сказано о спокойной торговле, когда всё будет успевать… Без учёта этого

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих MQL5 MT5 MetaTrader 5

Nauris Zukas, 2022.06.11 17:49

Этот вариант точно отпадает. Что мне цена без тикета если отправлять много ордеров, как там OnTradeTransaction разберётся?


 
Alexey Viktorov #:

Это было сказано о спокойной торговле, когда всё будет успевать… Без учёта этого


Утро вечером мудренее! Зачем мне  для  расчета проскальзывания пытаться внедрить какую то логику с mql4 и использовать OnTradeTransaction? mql5 возможности даёт расчета проскальзывания из историй, пройдусь в определений момент по историй и соберу всю информацию.
В любом случае спасибо за помощь!

 
Maxim Kuznetsov #:

Болингер - это SMA +- N*стандартных_отклонений. 

Про стандартное отклонение и SMA есть свои индикторы. НО это вс считается и без них - берёте справочник и вот вам формула. Из неё находите "среднее расстояние в пунктах между линиями" которое в моменте по дефолтным значениям равно 4 сигмы.
А среднее (за который период?) потрудитесь посчитать

вы де-факто хотите узнать среднюю величину стандартного отклонения

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

Причина обращения: