Как запустить советника для нескольких пар? - страница 4

 
cloudbreaker:

Это неверно. Функция OrderSend() может быть выполнена для любого символа, который вы укажете в качестве первого параметра, независимо от графика.

- Один и тот же советник может быть прикреплен ко многим графикам и работать для родного символа каждого графика (используя встроенные переменные Ask и Bid).

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

OrderSend для других пар может быть сделан на одном графике. Это просто невозможно сделать в тестере. Тестирование возможностей и лимитов в MetaTrader 4 - Статьи MQL4

Зачем все усложнять. Заставьте его работать на текущем графике, не будет загружаться история, не будет проблем с триггерами, не будет сложных вызовов функций вместо Bid/Ask, Time[], Close[] и т.д. Также как контролировать, какие пары вы хотите, чтобы он торговал.

Когда советник заработает, вам останется только открыть другой график и добавить его туда.

 
Damco: Любые идеи будут высоко оценены :-)

Вот как бы я поступил. Ссылка. Я бы прикрепил своего эксперта к EURUSD, потому что считаю ее наиболее активной. Пока эта тяжелая для процессора функция обрабатывает первую валюту, в данном случае EURUSD, другие валюты в массиве будут вынуждены ждать своей очереди.

Запуск One-EA-On-Every-Chart имеет свои преимущества и недостатки. Например, если вы управляете скальпером, который просто обязан знать последнюю цену/аск инструмента, потому что пропуск одного тика может стать разницей между прибылью или убытками.

Недостатком является и такая ситуация. У вас есть пример с функцией, перегруженной процессором, или с занятым торговым контекстом. В таких случаях обычно необходимо рассмотреть использование семафора. Использование GlobalVariable..., MathRand, File_Functions, Sleep - это примеры того, что можно использовать для связи между советниками и их синхронизации.

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

 
Ubzen:

Вот как бы я поступил. Ссылка. Я бы прикрепил своего эксперта к EURUSD, потому что считаю ее наиболее активной. Пока эта тяжелая для процессора функция обрабатывает первую валюту, в данном случае EURUSD, другие валюты в массиве будут вынуждены ждать своей очереди.

Запуск One-EA-On-Every-Chart имеет свои преимущества и недостатки. Например, если вы управляете скальпером, который просто обязан знать последнюю цену/аск инструмента, потому что пропуск одного тика может стать разницей между прибылью или убытками.

Недостатком является и такая ситуация. У вас есть пример с функцией, перегруженной процессором, или с занятым торговым контекстом. В таких случаях обычно необходимо рассмотреть использование семафора. Использование GlobalVariable..., MathRand, File_Functions, Sleep - это примеры того, что можно использовать для связи между советниками и их синхронизации.

По этим причинам и для простоты присоединения, в последнее время я предпочитаю писать большинство своих экспертов как мультивалютные советники "один советник на одном графике". Что касается ресурсов, я считаю этот подход наиболее оптимальным (хотя я не проводил никаких расчетов).

Привет, я знаю, что это старая тема, но очень интересная, мне тоже нравится One-EA-On-One-Chart, единственная проблема, с которой я сталкиваюсь, это отложенные ордера, я не могу понять, как использовать функцию MarketInfo.

 

Отличная тема... и спасибо всем!
Я новичок в торговле несколькими парами... У меня вопрос:
Правильный ли это способ поиска настроек на мультипарах? ... Допустим, я прикреплю свой советник на график EURUSD, затем, когда награфике EURUSD появится новый тик, мой советник будет просматривать списки выбранных символов для проверки настроек и, опять же, допустим, я пытаюсь искать настройки на таймфрейме M15 ... Что мне нужно сделать, это проверить, есть ли новая свеча M15 на этой паре и проверить, если условие установки выполнено?

Заранее спасибо! И с уважением, :)

 
aphong:

... Что мне нужно сделать, так это проверить, есть ли новая свеча M15 на этой паре и проверить, выполняется ли условие установки?

Да, всегда проверяйте, открылся ли новый бар на соответствующем ТФ для данного инструмента (предполагается, что стратегия работает с закрытыми свечами).

 
Keith Watford:

Да, всегда проверяйте, открылся ли новый бар на соответствующем ТФ для данного инструмента (предполагается, что стратегия работает с закрытыми свечами).

Спасибо Keith Watford
в случае медленно движущегося рынка на EURUSD ... Как вы думаете, стоит ли нам запустить программное обеспечение типа MT4 ticker для поддержки работы наших советников в качестве простого решения, помимо упомянутых выше?
Просто глупая идея... может быть? Я все еще новичок в работе с советниками, извините :)

 
aphong:

Спасибо Кит Уотфорд
в случае медленно движущегося рынка на EURUSD ... Как вы думаете, стоит ли нам использовать программное обеспечение типа MT4 Ticker для поддержки работы наших советников в качестве простого решения, помимо упомянутых выше?
Просто глупая идея... может быть? Я все еще новичок в работе с советниками, извините :)

Я понятия не имею, что такое MT4 Ticker, но не понимаю, зачем он вам нужен.

 
aphong:

Поскольку вы разместили ссылку на коммерческий сайт, ваше сообщение было удалено

 
Keith Watford:

Поскольку вы разместили ссылку на коммерческий сайт, ваше сообщение было удалено.

ага! ... ниже приведено его описание ..<Deleted>
"MT4Ticker поможет вам разработать программное обеспечение для медленно движущихся и неподвижных рынков. MetaTrader выполняет ваш проект в соответствии с каждым тиком, а MT4Ticker имитирует тики, передавая их в терминал. Таким образом, MetaTrader будет думать, что рынок движется".

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

 
aphong:

... Если мы запустим его, поможет ли он нашим советникам постоянно проверять состояние рынка и избегать моментов, когда рынок на EURUSD движется слишком медленно, что повлияет на работу советника?

На медленно движущихся рынках вы можете использовать OnTimer для выполнения вашего кода.