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

Раздел: Язык программирования MQL4
Автор темы: chocolate
Создана: 2014-10-02 12:48
Ответов: 33797 | Просмотров: 6662222
Страница 735 из 1690
Источник: https://forexsystemru.com/threads/77111/page-735

---

## OSS_5 — 2018-03-01 20:15

> Цитата (mobidik):
> Вот, один из вариантов реализации выше/ниже МА, при "По-шагу и против шага" - настройка "выше/ниже цены" - не работает, только "По-шагу" или "Против шага".

На скорую в тестере пропустил. Вот что получилось, скрины прилагаю.

## OSS_5 — 2018-03-01 20:31

> Цитата (bliznec808):
> Здравствуйте, могли бы Вы доработать индикатор с этого поста (https://forexsystemsru.com/yazyk-programmirovaniya-mql4/yazyk-programmirovaniya-mql4/1303968-post14726.html)....т.е. сделать алерт и оповещение на почту на все стрелки.....

Да я не программист. Сам прошу помощи у программистов. Что-то простенькое могу добавить, а то что Вы просите для меня сложно.

В личку не смог ответить.

## marattmb — 2018-03-02 04:51

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

## AlexeyVik — 2018-03-02 09:40

> Цитата (marattmb):
> Уважаемые специалисты. Нельзя ли модифицировать данный индикатор.
> Данный индикатор показывает в процентах изменение силы валютных пар, находящихся в терминале. Мы их видим на графике. Нельзя ли сделать так, чтобы индикатор показывал на графике только две пары, которые были ба прописаны в параметрах самого индикатора. Очень нужно.

А не проще в обзоре рынка удалить ненужные символы?

## marattmb — 2018-03-02 09:50

Нет, не проще. Этот индикатор будет использован для будущего сова. О самом сове позже. Если сов буде работать только с двумя парами, за чем ему все остальные, которые есть в терминале.

## поручик — 2018-03-02 09:54

не проще, он просит минимум 5 открытых

## Zarden777 — 2018-03-02 09:59

Ребята кто доработает индюк? Терминал подвисает из-за него и стрелки иногда убирает и сдвигает. https://forexsystemsru.com/1304650-post9022.html

## marattmb — 2018-03-02 10:03

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

## serrus — 2018-03-02 10:10

Уважаемые программисты,поправьте индюк.Перестал отображаться.Буду признателен.

## Zarden777 — 2018-03-02 10:28

> Цитата (serrus):
> Уважаемые программисты,поправьте индюк.Перестал отображаться.Буду признателен.

Скомпилируй его и будет показывать. Правой кнопкой на индикатор, далее изменить, откроется Meta Editor, далее зеленая кнопка начало отладки, нажать на нее и ждать, после откроется вновь мт4 и появится окошко с индикатором, нажать окей, после опять в Meta Editor нажать зеленую галочку компилировать, после перезагрузи терминал и все появится.

## Ramaz — 2018-03-02 10:31

> Цитата (serrus):
> Уважаемые программисты,поправьте индюк.Перестал отображаться.Буду признателен.

:)

## AlexeyVik — 2018-03-02 10:42

> Цитата (marattmb):
> Нет, не проще. Этот индикатор будет использован для будущего сова. О самом сове позже. Если сов буде работать только с двумя парами, за чем ему все остальные, которые есть в терминале.

Для будущего советника оттуда можно взять пару строк и в советник вставить. 
Там берётся две цены Close

```
CopyRates(marketWatchSymbolsList,PERIOD_D1,0,2,DailyBar)
```

и высчитывается отношение текущей цены ко вчерашней

```
      percentChange=((DailyBar.close/DailyBar.close)-1)*100;

```

и заполняется соответствующий lable.

## marattmb — 2018-03-02 11:00

Наверное Вы правы. Поставлю вопрос иначе. Насколько сложно из данного индикатора сделать скрипт для открытия ордеров на основании заданной разницы в параметрах двух коррелирующих пар? Сейчас пытаюсь торговать на парах EURUSD GBPUSD. Жду, когда разница между ними примерно 0.15 - 0.20%. После этого одну пару открываю на понижение, другую на повышение. При образовании заданного профита, другой скрипт закрывает ордера, либо сам вручную закрываю. Приходится находиться у компа. В дальнейшем, если неделя-другая будет успешной, буду думать о сове.

## поручик — 2018-03-02 11:01

он берет дневные данные, для совы думаю это вредно будет. На другом компе есть версия с выбором ТФ

## rkkgs — 2018-03-02 14:42

**Dear coders**

Dear Coders and traders

pls added  this code in 3  indicators

share mql4 format pls

//put at the top before Init() function
 
string ExpiryDate="2015.02.26";
 
//put in the Init() function
if(TimeCurrent() >= StrToTime(ExpiryDate)){
Alert("This indicator has expired. Contact xxx for new version");
return(0);
}
else{
Print(" Indicator Valid");
}

(i am try 2-3 errors will come )

thank you

advance

## oddron — 2018-03-02 15:33

> Цитата (rkkgs):
> Dear Coders and traders
>
> pls added  this code in 3  indicators
>
> share mql4 format pls
>
>
> //put at the top before Init() function
>
> string ExpiryDate="2015.02.26";
>
> //put in the Init() function
> if(TimeCurrent() >= StrToTime(ExpiryDate)){
> Alert("This indicator has expired. Contact xxx for new version");
> return(0);
> }
> else{
> Print(" Indicator Valid");
> }
>
>
> (i am try 2-3 errors will come )
>
> thank you
>
> advance

Не угадал, здесь скорее откроют код, чем закроют.

## cmillion — 2018-03-02 15:38

> Цитата (rkkgs):
> Dear Coders and traders

На примере первого индикатора:
измените функцию init так
//+------------------------------------------------------------------+
int OnInit()
  {
   datetime ExpiryDate=D'2015.02.26';
   if(TimeCurrent()>=ExpiryDate)
     {
      Alert("This indicator has expired. Contact xxx for new version");
      return(INIT_FAILED);
     }
   else
     {
      Print(" Indicator Valid");
     }
   IndicatorBuffers(2);
   SetIndexStyle(0, DRAW_ARROW);
   SetIndexArrow(0, 108);
   SetIndexStyle(1, DRAW_ARROW);
   SetIndexArrow(1, 108);
   SetIndexBuffer(0, G_ibuf_84);
   SetIndexBuffer(1, G_ibuf_88);
   if (AlertOnClosedCandle) SignalCandle=1;
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+

## OSS_5 — 2018-03-02 16:30

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

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

## Duxxa — 2018-03-02 16:47

**Советник не может отличить сделки на разных парах**

В общем проблема была такая, думал меджика нет, по этому сова упорно отказывается открывать сделки на разных парах, если хотябы на 1 сделки уже открыты, не знаю как это вылечить и лечится ли это вообще?

## rkkgs — 2018-03-02 16:51

> Цитата (cmillion):
> На примере первого индикатора:
> измените функцию init так
> //+------------------------------------------------------------------+
> int OnInit()
>   {
>    datetime ExpiryDate=D'2015.02.26';
>    if(TimeCurrent()>=ExpiryDate)
>      {
>       Alert("This indicator has expired. Contact xxx for new version");
>       return(INIT_FAILED);
>      }
>    else
>      {
>       Print(" Indicator Valid");
>      }
>    IndicatorBuffers(2);
>    SetIndexStyle(0, DRAW_ARROW);
>    SetIndexArrow(0, 108);
>    SetIndexStyle(1, DRAW_ARROW);
>    SetIndexArrow(1, 108);
>    SetIndexBuffer(0, G_ibuf_84);
>    SetIndexBuffer(1, G_ibuf_88);
>    if (AlertOnClosedCandle) SignalCandle=1;
>    return(INIT_SUCCEEDED);
> }
> //+------------------------------------------------------------------+
> 

thank you 

thank you very much bro

if you possible balance 2 indicators also added code  please

thank you

advance

---

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