Билд 2085 - 3 бага(недостатка) в работе с CustomSymbol через пользовательский интерфейс - страница 2

 
Roman:

Это так же работает и в мт5, жму  Page Up и подгружается история.
Это хорошо видно по счётчику загрузки, в нижнем правом углу где сервера.
Так что метод рабочий и для мт5 

ну если удобнее клавиши держать , ничего не имею против, в МТ5 история любого ТФ состоит из минуток, поэтому достаточно обновить самый старший ТФ - мой пример, в МТ4 каждый ТФ находится на сервере, там только ВАш пример работает, причем нужно каждый ТФ отдельно "руками жать"


не понятный топик по содержанию, по моему кастомные символы через пользовательский интерфейс работают идеально, правда с начала года терминал МТ5 стал задумчивым вообще при построении любого ТФ, не говоря о кастомных графиках, в старых юилдах быстрее графики по ТФ обновлялись, теперь по 10 секунд можно черный экран наблюдать... по моему что то поломали в новых билдах

 
Igor Makanu:

ну если удобнее клавиши держать , ничего не имею против, в МТ5 история любого ТФ состоит из минуток, поэтому достаточно обновить самый старший ТФ - мой пример, в МТ4 каждый ТФ находится на сервере, там только ВАш пример работает, причем нужно каждый ТФ отдельно "руками жать"


Да, за старший ТФ не сообразил ))
Жмакал по привычке Page Up ))


 
Igor Makanu:
   

в МТ5 терминал сам обеспечивает подгрузку истории, достаточно переключить на месячный ТФ или программно запросить данные - терминал сам все синхронизирует, вот пример программной проверки и загрузки истории он же и в справке MQL5 есть  https://www.mql5.com/ru/code/1251

При создании кастомного символа терминал тоже сам подгружает историю, но там нужно учитывать, что это будет дольше происходить, т.к. необходимо подгрузить все символы участвующие в расчетах и потом терминал сам произведет синхронизацию данных при построении кастомного символа 

В общем  случае разработчики сделали максимум функционала для обычного пользователя - он просто пишет формулу расчета кастомного символа, терминал выполняет всю работу сам

Игорь, вы описали ожидаемую и адекватную работу функционала)) Все согласно Справке. И по нефти у меня так норм работает.

Теперь внимательно посмотрите на график приаттаченный к 2й проблеме - по базовому символу FUTGOLDCONT все котировки есть, бары на Н1 строятся; а по GOLDC построение "оборвалось" , бары недоформировались и более внутренний процесс формирования не запустился. Подобное отклонение наблюдаемого функционала от заявленного - это и есть БАГ по определению.

И то, что этот баг можно попытаться перекрыть/выправить "костылем" типа ручного выкачивания истории скриптом с сервера брокера и последующей "программной прогрузкой" ее в ранее созданный  синтетический инструмент, не отменяет факта наличия бага.

А недостаток функционала в виде отсутствия адекватных пользовательских средств контроля процесса внутреннего пересчета истории, отсутствие возможности принудительного перезапуска перерасчета, лишь усугубляет ситуацию.

 
А вы не забыли, что квартальный фьючерсный контракт имеет начало и конец жизни? 
Подгружая склейку, вы получаете всю историю склейки.
Подгружая квартальный фьючерс, вы получаете историю только этого контракта.
Как я понял вы так и делаете, первый символ склейка, второй квартальный контракт.
У квартального контракта, по определению не может быть истории, раньше времени начала его обращения.
По этому анализировать синтетику получится только с даты начала квартального контракта.
Постройте синтетику из двух текущих квартальных контрактов, это будет правильнее, чем использовать склейку.
Она по сути не нужна, так как по второму символу нет истории по определению, по этому грузить склейку смысла нет.
 

В приведенном мной примере GOLDC это не квартальный фьючерс, а синтетический инструмент, созданный через функционал CustomSymbol….

В целом до сих пор не могу свыкнуться с мыслью, что разрабатывая функционал CustomSymbols, MQ забыли про управление таким измерением как "обьемы", при том что для парного-трейдинга те же принципы VSA по соотнесению превышения проторгованных по базовым инструментам объемов к их среднему или квантили - так же значимый и весомый фактор для принятия решения о достижении "синтетика" точки расхождения или сужения канала.

 
Билд 2170 - баг 2,  описанный в данной ветке, исправлен. Все считается корректно на всю глубину истории М1.
Т.о. остается нерешенным только проблема 3 - отсутствие поля для задания формулы обработки данных по торговым обьемам.

 
Sergey Lebedev:
Билд 2170 - баг 2,  описанный в данной ветке, исправлен. Все считается корректно на всю глубину истории М1.
Т.о. остается нерешенным только проблема 3 - отсутствие поля для задания формулы обработки данных по торговым обьемам.

Откуда у синтетических инструментов торговые объёмы?

 
Объемы нужны для фьчерсных и опционных склеек, созданных на основе функционала каст. символов.
Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговый запрос проходит несколько стадий проверок на торговом сервере. В первую очередь проверяется корректность заполнения всех необходимых полей параметра , и при отсутствии ошибок сервер принимает ордер для дальнейшей обработки. При успешном принятии ордера торговым сервером функция OrderSend() возвращает значение true. Рекомендуется...
 

В версии 2650 из прежнего списка проблемных поинтов, остался нерешенным только п.3.При этом с учетом наработанных часов по созданию и каст. символов в целях проведения по фьючерсам полноценного тех. анализа, список "nice to have" обновлен до следующего состава:

1. Создать отдельное текстовое поле "Формула пересчета объемов", в которой дать возможность пользователям ввести формулу точно так же как в поле "Формула синтетического инструмента", и обеспечить пересчет реальных объемов для каст. символа сделок по данной формуле;

2. Создать чек-бокс поле "Копировать T&S", при активации которого МТ5 автоматически транслирует в каст.символ всю T&S брокерского символа, указанного в формуле;

3. Создать числовое поле "Максимальная глубина пересчета (дн)", так что при смене формулы через настройки каст. символа, МТ5 пересчитывает историю на заданное количество дней назад, и при этом не трогает более ранние данные (сейчас более ранние данные вообще стираются, что крайне неудобно);

4. Создать чек-бокс поле "Для торговли", так что если данный чек-бокс установлен, то МТ5 позволяет выполнить команду OrderSend на данный каст. символ, так что МТ5 автоматически ретранслирует ее в команду выполнения торгового приказа по брокерскому символу, указанному в поле "Формула синтетического инструмента" (по первому символу, если в формуле указано несколько символов) - это как минимум, так же по идее нужно ретранслировать команду OrderCalcMargin;

5. Создать программную функцию "CustomSymbolFormulasUpdate"" для программной смены формулы каст инструмента, с возможностью указания как формулы пересчёта цены, так и формулы пересчета объемов, и указания максимальной глубины пересчета после обновления формулы;

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

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговый запрос проходит несколько стадий проверок на торговом сервере. В первую очередь проверяется корректность заполнения всех необходимых полей параметра , и при отсутствии ошибок сервер принимает ордер для дальнейшей обработки. При успешном принятии ордера торговым сервером функция OrderSend() возвращает значение true. Рекомендуется...
Причина обращения: