# Доработка ботов (советников, индикаторов)

Раздел: Язык программирования MQL4
Автор темы: machzelet
Создана: 2010-02-26 20:00
Ответов: 12060 | Просмотров: 1843567
Страница 53 из 604
Источник: https://forexsystemru.com/threads/61956/page-53

---

## IYG — 2012-05-01 14:00

> Цитата (strannik-ps):
> Такие  имел ввиду линии отображения экстремум?

Немного не так.
Виноват,  исправился!

## Darksie — 2012-05-02 00:24

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

## BigGun — 2012-05-02 09:34

Привет всем!
Включил в код советника индикатор таким образом:

double UpBand1 = iCustom(NULL,0,"ExtremeTMALine",56,1,1);
double DownBand1 = iCustom(NULL,0,"ExtremeTMALine",56,2,1);

В логах циклически выдает сообщение:
00:58:15 Custom indicator ExtremeTMALine EURJPY,M15: loaded successfully
00:58:15 Custom indicator ExtremeTMALine EURJPY,M15: removed
00:58:15 Custom indicator ExtremeTMALine EURUSD,M15: loaded successfully
00:58:15 Custom indicator ExtremeTMALine EURUSD,M15: removed
00:58:15 Custom indicator ExtremeTMALine GBPUSD,M15: loaded successfully
00:58:15 Custom indicator ExtremeTMALine GBPUSD,M15: removed
00:58:15 Custom indicator ExtremeTMALine AUDUSD,M15: loaded successfully
00:58:15 Custom indicator ExtremeTMALine AUDUSD,M15: removed

Из за этого советник нереально оптимизировать. Индикатор постоянно выгружается-загружается. Или индикатор неправильно написан или в советнике описал неправильно? Прошу помощи специалистов.

## Ugar — 2012-05-02 10:45

> Цитата (BigGun):
> Привет всем!
> Включил в код советника индикатор таким образом:
>
> double UpBand1 = iCustom(NULL,0,"ExtremeTMALine",56,1,1);
> double DownBand1 = iCustom(NULL,0,"ExtremeTMALine",56,2,1);
>
> В логах циклически выдает сообщение:
> 00:58:15 Custom indicator ExtremeTMALine EURJPY,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine EURJPY,M15: removed
> 00:58:15 Custom indicator ExtremeTMALine EURUSD,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine EURUSD,M15: removed
> 00:58:15 Custom indicator ExtremeTMALine GBPUSD,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine GBPUSD,M15: removed
> 00:58:15 Custom indicator ExtremeTMALine AUDUSD,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine AUDUSD,M15: removed
>
> Из за этого советник нереально оптимизировать. Индикатор постоянно выгружается-загружается. Или индикатор неправильно написан или в советнике описал неправильно? Прошу помощи специалистов.

Всё правильно. Так работает вызов индикаторов из советника. Советник вызывает индикатор, получает значение и выгружает его.
Единственное что могу посоветовать, если индикатор не перерисовывется на 1 баре, можно его вызывать не на каждом тике, а при открытии бара, так как значения берутся с 1 бара. А значения индикаторов хранить в статических переменных. Это здорово сократит количество вызовов и увеличит производительность советника.

## BigGun — 2012-05-02 12:07

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

## Fuchic — 2012-05-02 15:07

> Цитата (Urs):
> Сделайте пожалуйста "грааль" , прикрутите к ШокБару опцию работы по времени, чтобы он сам в нужное время включался и в нужное время прекращал начинать новые серии а только доводил до тейка уже начатую. При настройках шаг 5 тейк 5 мульт 1,667 делает до 20-50%, конечно при сильном движении 100% слив но думаю для ночной торговли пойдет. Во всяком случае должен больше зарабатывать чем сливать....

Шок-бар надо ставить на 2 графика.На 1 график,только Long,на 2 только
Short.И на 2-ом графике исправить в магике 2 последнме цифры,например
с 99 на 88.И сумма на счёте должна быть минимум 2000.Set  eur-usd 1M.
Круглосуточно.За месяц ещё не слил ни разу.

## borobor — 2012-05-02 19:15

> Цитата (BigGun):
> Привет всем!
> Включил в код советника индикатор таким образом:
>
> double UpBand1 = iCustom(NULL,0,"ExtremeTMALine",56,1,1);
> double DownBand1 = iCustom(NULL,0,"ExtremeTMALine",56,2,1);
>
> В логах циклически выдает сообщение:
> 00:58:15 Custom indicator ExtremeTMALine EURJPY,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine EURJPY,M15: removed
> 00:58:15 Custom indicator ExtremeTMALine EURUSD,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine EURUSD,M15: removed
> 00:58:15 Custom indicator ExtremeTMALine GBPUSD,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine GBPUSD,M15: removed
> 00:58:15 Custom indicator ExtremeTMALine AUDUSD,M15: loaded successfully
> 00:58:15 Custom indicator ExtremeTMALine AUDUSD,M15: removed
>
> Из за этого советник нереально оптимизировать. Индикатор постоянно выгружается-загружается. Или индикатор неправильно написан или в советнике описал неправильно? Прошу помощи специалистов.

попробуй прописать в советнике все переменные,которые представлены в индикаторе,а не только период

## Ugar — 2012-05-03 14:47

> Цитата (BigGun):
> Советник работает по ценам открытия, но даже это не помогает ускорить работу, в тестере каждый час загружает - выгружает индикатор и сильно тормозит. А значения индикаторов хранить в статических переменных я не умею.... Можно еще как то в код советника внедрить расчеты которые выполняет индикатор, но это тоже сложно для меня...

Если тест идёт по ценам открытия то индикатор и так вызывается 1 раз за бар. Тогда не поможет. значит индюк такой тормозной. Единственный способ, это оптимизировать сам индикатор. Например можно попробовать ограничить количество баров рассчитываемых индикатором. Или перенос кода индикатора в советник с ограничением длинны рассчитываемого массива.

## borobor — 2012-05-03 15:41

> Цитата (BigGun):
> Советник работает по ценам открытия, но даже это не помогает ускорить работу, в тестере каждый час загружает - выгружает индикатор и сильно тормозит. А значения индикаторов хранить в статических переменных я не умею.... Можно еще как то в код советника внедрить расчеты которые выполняет индикатор, но это тоже сложно для меня...

попробуй этот индикатор

## ale9551 — 2012-05-03 18:00

Уважаемые Программисты! Помогите прикрутить alert!
Суть такова: Устанавливаем на график(ТФ любой,валютная пара любая) индикатор TereshSuperMegaWinner Like,на него накладываем сверху стандартный индикатор Боллинджера(20,2,0).Интересует место пересечения голубой линии индикатора TereshSuperMegaWinner Like с верхней,либо нижней линией Боллинджера.Скриншот и индикаторы прикладываю.
Заранее благодарен!

## golden1 — 2012-05-03 18:45

> Цитата (strannik-ps):
> Проверяй.

Добрый вечер,strannik-ps.
Проверил,не срабатывает почему то.  
Я не зря написал что бы подсчет прибыли шел от строки средства а не от баланса.Это мультивалютный илан ,стоит на разных парах под своими мэджиками,баланс то у него растет со страшной силой ,а вот средства выходят в плюс изредка на откатах рынка и поймать эти периоды вручную сложно чтоб закрыть все лоты одновременно ,тем более их там бывает более полусотни за раз.
 То есть в идеале советник должен действовать так:
при включении он запоминает сумму в графе средства,отсчитывае от нее процент прибыли и при наступлении сего радостного события закрывает абсолютно все ордера чёхом ,не обращая внимания на всякие проскальзывания и т.д,просто команда закрыть всё безоговорочно и после закрытия всё повторяется по кругу.
 Вот так хотелось бы)))
Спасибо что уделяете свое время!

## Darksie — 2012-05-04 04:10

Скомпилируйте plz советник по нормальному. А то у меня бред выходит, все описание в настройках отображается ??????????????? ????????????? ????????????? 
Код советника _http://www.forextrade.ru/media/Image/MQLabs/158_ag/BreakFractalLine_Expert.mq4

## strannik-ps — 2012-05-04 06:18

> Цитата (Darksie):
> Скомпилируйте plz советник.

Держи.

## strannik-ps — 2012-05-04 08:52

> Цитата (golden1):
> Проверил,не срабатывает почему то.

Попробуй эти варианты.

## maxstah — 2012-05-04 09:29

Уважаемые доктора, у меня ДЦ принимает торговые приказы, посланные на сервер, не чаще чем 1 раз в 3 секунды. По этому, пожалуйста, сделайте так, чтобы советник после каждой отправки приказа на сервер выжидал какое-то время в секундах, и выведите это время во внешние переменные. Заранее благодарен!!!

## strannik-ps — 2012-05-04 09:59

> Цитата (maxstah):
> Уважаемые доктора, у меня ДЦ принимает торговые приказы, посланные на сервер, не чаще чем 1 раз в 3 секунды. По этому, пожалуйста, сделайте так, чтобы советник после каждой отправки приказа на сервер выжидал какое-то время в секундах, и выведите это время во внешние переменные. Заранее благодарен!!!

Принимай должно помочь.

## maxstah — 2012-05-04 10:39

> Цитата (strannik-ps):
> Принимай должно помочь.

Параметр "Пауза" в секундах???

## strannik-ps — 2012-05-04 10:58

> Цитата (maxstah):
> Параметр "Пауза" в секундах???

Да пояснение в коде.

## ale9551 — 2012-05-04 14:41

почему то пост № 1044 дописан не до конца.Дописываю:  Интересуют места пересечения голубой линии индикатора TereshSuperMegaWinner Like с верхней и нижней линией Боллинджера.Скриншот прилагаю.Заранее благодарен!

## yabloko08 — 2012-05-04 15:02

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

---

Следующая страница: https://forexsystemru.com/threads/61956/page-54
