Последовательность выполнение Init() и DeInit() - страница 16

 
Slawa:

Всё правильно.

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

Индикатор не должен быть панелью управления

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

Спасибо за пояснения.

 
Slawa:

Всё правильно.

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

Индикатор не должен быть панелью управления

Не логично.

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

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

Я по вашему нарушил эксплуатацию Метатрейдера? Мне нужно было писать не индикатор для ручной торговли, а робот, и при этом открывать в Метатрейдере ещё 20 окон чтоб установить советник?

P.S. Не все торгуют только одним евро/долларом, и открытым всего одним графиком в Метатрейдере.

 
Vitaly Muzichenko:

Не логично.

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

Нет.

Ещё раз перечитайте, что такое индикаторы. У Акелиса. У Колби. Да у яндекса спросите, что такое индикаторы рынка.

В MT3, когда мы ввели понятие кастомных индикаторов, мы позволили оперировать с объектами на графиках из-за того, что индикаторных буфера было всего 2.

Небольшой экскурс в историю. Сначала был FXCharts, я его не застал, так как пришёл в компанию всего лишь в октябре 2002 года. Потом был MetaTrader. Я пришёл в компанию на разработку MQL II (в FXCharts уже был язык торговых стратегий). Когда мы сделали MQL II и эксперты, мы поменяли название на MetaTrader 2. Когда мы дали возможность писать кастомные индикаторы, MetaTrader стал третьим - MetaTrader 3.

Потом был MetaTrader 4 и MQL4. Кастомные индикаторы получили возможность оперировать с 8 индикаторными буферами. Возможность работы с объектами на графике осталась. Но так как индикаторы рассчитывались в интерфейсном потоке, мало кто злоупотреблял работой с объектами.

И вот MT5. Архитектура совсем другая, но мы оказались заложниками MT4 в плане возможностей оперирования графическими объектами на чарте. Да мы - стахановцы, мы ещё, как герои, добавили практически неограниченные возможности управления графиком из индикаторов. Мы приехали. Иллюстрация - 16 страниц обсуждений ни о чём.

Будем переходить на сервисы

 
Slawa:

Нет.

Ещё раз перечитайте, что такое индикаторы. У Акелиса. У Колби. Да у яндекса спросите, что такое индикаторы рынка.

В MT3, когда мы ввели понятие кастомных индикаторов, мы позволили оперировать с объектами на графиках из-за того, что индикаторных буфера было всего 2.

Небольшой экскурс в историю. Сначала был FXCharts, я его не застал, так как пришёл в компанию всего лишь в октябре 2002 года. Потом был MetaTrader. Я пришёл в компанию на разработку MQL II (в FXCharts уже был язык торговых стратегий). Когда мы сделали MQL II и эксперты, мы поменяли название на MetaTrader 2. Когда мы дали возможность писать кастомные индикаторы, MetaTrader стал третьим - MetaTrader 3.

Потом был MetaTrader 4 и MQL4. Кастомные индикаторы получили возможность оперировать с 8 индикаторными буферами. Возможность работы с объектами на графике осталась. Но так как индикаторы рассчитывались в интерфейсном потоке, мало кто злоупотреблял работой с объектами.

И вот MT5. Архитектура совсем другая, но мы оказались заложниками MT4 в плане возможностей оперирования графическими объектами на чарте. Да мы - стахановцы, мы ещё, как герои, добавили практически неограниченные возможности управления графиком из индикаторов. Мы приехали. Иллюстрация - 16 страниц обсуждений ни о чём.

Будем переходить на сервисы

То, что возможности МТ практически ничем не ограничены - согласен! Обрубить возможность работы с объектами на графике - нельзя)

В обсуждении есть здравые суждения, Я сам столкнулся с этим, и думал что баг в моём коде, оказывается - нет, это просто такая особенность МТ, и уже исправил.

Подробнее пожалуйста о последнем пункте.

Спасибо!

 
Slawa:

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

Да, именно это является истинной причиной появления подобных веток.

Slawa:

могут поддержать парадигму  "сколько хочешь экспертов на одном графике"

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

Slawa:

Будем переходить на сервисы

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

Сейчас эксперты по какой-то причине привязаны к чартам. А на каком основании, кроме традиции из истории создания MT?

В эксперте же только OnTick, который никакого отношения к чартам не имеет. Поэтому логично эксперты отвязать от чартов совсем.


Так же сейчас, чтобы получить пустое окно, нужно открыть окно чарта, а затем погасить в нем график (бары + шкалы). Но это же костыльно. Почему нельзя создавать просто окно. А если хочется, то добавлять на него чарт?


Видимо, всему причина исторический багаж предыдущих MT.


В Сервисах хотелось бы иметь полный доступ к Order-функциям (а не запрет, как в индикаторах), плюс иметь OnMultiTick и OnCustomTick. Если мультитика не будет, то так и продолжится пляска с бубном, при создании мультисимвольного советника.


Короче, пора давно избавиться от всех старых костылей, создав продуманные возможности Сервисов.

 
fxsaber:

Сейчас эксперты по какой-то причине привязаны к чартам. А на каком основании, кроме традиции из истории создания MT?

В эксперте же только OnTick, который никакого отношения к чартам не имеет. Поэтому логично эксперты отвязать от чартов совсем.


Так же сейчас, чтобы получить пустое окно, нужно открыть окно чарта, а затем погасить в нем график (бары + шкалы). Но это же костыльно. Почему нельзя создавать просто окно. А если хочется, то добавлять на него чарт?


Видимо, всему причина исторический багаж предыдущих MT.


В Сервисах хотелось бы иметь полный доступ к Order-функциям (а не запрет, как в индикаторах), плюс иметь OnMultiTick и OnCustomTick. Если мультитика не будет, то так и продолжится пляска с бубном, при создании мультисимвольного советника.


Короче, пора давно избавиться от всех старых костылей, создав продуманные возможности Сервисов.

Я так понял, что сервисы - это поставщики рыночных данных, они не будут обладать ни торговыми функциями, ни возможностью управлять объектами. По моему это логично. Все четыре типа программ несут свою смысловую нагрузку и предназначение.
 
Andrey Dik:
Я так понял, что сервисы - это поставщики рыночных данных, они не будут обладать ни торговыми функциями, ни возможностью управлять объектами. По моему это логично. Все четыре типа программ несут свою смысловую нагрузку и предназначение.

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

Поставщик рыночных данных - это только одна из возможностей.

 
fxsaber:

Сейчас эксперты по какой-то причине привязаны к чартам. А на каком основании, кроме традиции из истории создания MT?

В эксперте же только OnTick, который никакого отношения к чартам не имеет. Поэтому логично эксперты отвязать от чартов совсем.


Так же сейчас, чтобы получить пустое окно, нужно открыть окно чарта, а затем погасить в нем график (бары + шкалы). Но это же костыльно. Почему нельзя создавать просто окно. А если хочется, то добавлять на него чарт?


Видимо, всему причина исторический багаж предыдущих MT.


В Сервисах хотелось бы иметь полный доступ к Order-функциям (а не запрет, как в индикаторах), плюс иметь OnMultiTick и OnCustomTick. Если мультитика не будет, то так и продолжится пляска с бубном, при создании мультисимвольного советника.


Короче, пора давно избавиться от всех старых костылей, создав продуманные возможности Сервисов.

У сервисов будет OnTick(string symbol). Но на тики от конкретного символа надо будет подписаться
 
Slawa:

Получается, что Сервисы будут иметь почти все On-функции: OnInit, OnDeinit, OnTick(string), OnTimer, OnTrade, OnTradeTransaction, OnTester, OnTesterInit, OnTesterPass, OnTesterDeinit, OnBookEvent, OnChartEvent(long ChartID, ...), OnCalculate, ...


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

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