Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 620

 
Alexey Viktorov:

Иногда это именно так и есть, об этом я знаю... Но в данном случае после предложения делать не скрипт, а советник вот что в ответ...


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

 
Galim_V:

Спасибо, Игорь. Значит терминал никаких флажков для программы не оставляет? И если я не хочу на каждом тике перебирать ордера, мне придется выдумать для этого условия?

ну тут дело фантазии, посмотрите в кодобазе примеры экспертов

исторически как то сложилась такая вот схема советников: на каждом тике советник делает:

1. пересчет ордеров

2. вызов индикаторов

3. закрытие и открытие ордеров

4. вывод информации в лог или на экран

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

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

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

https://www.mql5.com/ru/code/mt4/experts

ЗЫ: как вариант можете попробовать работать с разными магник номерами ордеров, т.е. выставили отложенный ордер, потом контролируете рыночные ордера с таким магиком, потом новый отложенный ордер с новым магиком.... даже не вспомню изменяется ли тикет отложенного ордера когда он становится рыночным, наверное нет - нужно проверить, тоже вариант если тикеты одинаковые, т.е. запомнили тикет отложенного ордера, затем ищете такой тикет рыночного ордера. Но по моему это только усложнит реализацию и нужно будет продумать как перезапускать терминал... скажем так овчинка выделки не стоит, проще пересчитать ордера на каждом тике

MQL5 Code Base: Советники
MQL5 Code Base: Советники
  • www.mql5.com
Сеточный советник "Поворот паука" заданным объемом открывает начальный ордер со скрытыми СЛ и ТП. При срабатывании СЛ открывается противоположный ордер таким же объемом и СЛ, но ТП ордера увеличивается на размер убытка предыдущего ордера. Так позиция переворачивается пока не закроется по ТП. При уходе цены в прибыль, на определенных условиях...
 
Igor Makanu:

ну тут дело фантазии, посмотрите в кодобазе примеры экспертов

исторически как то сложилась такая вот схема советников: на каждом тике советник делает:

1. пересчет ордеров

2. вызов индикаторов

3. закрытие и открытие ордеров

4. вывод информации в лог или на экран

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

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

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

https://www.mql5.com/ru/code/mt4/experts

Спасибо за развернутый ответ.

 
Vitaly Gorbunov:

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

Действительно... Какая задача стояла изначально? Я тоже не помню...:)))))))))))

 
Alexey Viktorov:

Действительно... Какая задача стояла изначально? Я тоже не помню...:)))))))))))


neverness:

У меня вопрос следующего содержания.

Запускаем терминал и  произвольный график котировок на нем. Например EUR/USD.

Прикрепляем к этому графику некоторый индикатор . Например индикатор SMA.

Запускаем некоторый скрипт на этом графике. Например скрипт построения эллипса ELLIPSSCRIPT.

Вопросы:

Как из индикатора SMA экспортировать значения в ELLIPSSCRIPT ?

Например, как экспортировать значения четырех координат эллипса (время, котировка, время, котировка) из индикатора в скрипт ?

Можно ли экспортировать значения массивов и как это сделать?

Как описывать экспортируемые значения в свойствах индикатора, и как импортируемые значения описывать в свойствах скрипта?

 
Igor Makanu:

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

Номер тикета не меняется. Появляется профит или убыток.) Мне было важно не искать черную кошку в темной комнате, когда ее там нет. Спасибо большое.

 
Igor Makanu:


Да уж.

А что мешает рисовать этот элипс в самом индикаторе

без экспорта......  импорта....

 
Igor Makanu:


Вот именно!!!!!

neverness:

У меня вопрос следующего содержания.

Запускаем терминал и  произвольный график котировок на нем. Например EUR/USD.

Прикрепляем к этому графику некоторый индикатор . Например индикатор SMA.

Запускаем некоторый скрипт на этом графике. Например скрипт построения эллипса ELLIPSSCRIPT.

Вопросы:

Как из индикатора SMA экспортировать значения в ELLIPSSCRIPT ?

Например, как экспортировать значения четырех координат эллипса (время, котировка, время, котировка) из индикатора в скрипт ?

Можно ли экспортировать значения массивов и как это сделать?

Как описывать экспортируемые значения в свойствах индикатора, и как импортируемые значения описывать в свойствах скрипта?

А дальше вопрос переходит в другую плоскость... Типа "скрипт запустили и пусть он ждёт когда индикатор даст команду".......

Как можно дать вразумительный совет такому программисту????

Хотя вот, после нескольких дней обсуждения он есть....

Но... наверное он уже никому не нужен.
 
Alexey Viktorov:

Вот именно!!!!!

ну что можно сказать? как там говорят: правильно поставленный вопрос это половина ответа

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

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