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

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

---

## gek — 2016-02-02 16:11

> Цитата (AlanG):
> Zigzag :)

Робит,зараза!:laugh:
Всю голову сломал.

## poto — 2016-02-02 22:46

**Помогите Доработать! Аналогов нет!!!**

Помогите Доработать Советник!

Синтетический График ReverseSymbol ! USDEUR на него вешаем другой советник и что это советник смотрел пару UsdEur  - а сделки открывал и закривает  по EURUSD

просто советник не видит USDEUR( ПОМОГИТЕ ЧТО Б ОН ЕГО ВИДЕЛ)

+ Скин

P.S.   НЕ ЗАБИВАЕМ ГОВОРИТЬ СПАСИБО!;)

## poto — 2016-02-02 23:00

**Примеры**

Вот скин фото
примеры 

на EURUSD  - работает   
    USDEUR   - не работает не не видет цены 

Помогите что б он тоже видел цену USDEUR - И ОБНОВЛЯЛСЯ

спс :embrace:

## RoninGT — 2016-02-02 23:03

**Не отображается, помогите, пожалуйста!**

На короткое время была решена проблема, теперь снова не отображается в терминале и более того, терминал зависает, быть может, можно это исправить? Спасибо!!!

## поручик — 2016-02-03 05:16

надо .mq4

## RoninGT — 2016-02-03 05:24

> Цитата (поручик):
> надо .mq4

И без него никак?:disappointed:

## Petr888 — 2016-02-03 05:26

> Цитата (поручик):
> надо .mq4

не поможете? [#6600](http://forexsystemsru.com/yazyk-programmirovaniya-mql4/77111-dorabotka-botov-sovetnikov-indikatorov-vol-2-a-330.html#post1108458)

## поручик — 2016-02-03 05:42

> Цитата (RoninGT):
> И без него никак?:disappointed:

да и с ним как-как

Тебе же 04.01.2016 AlanG все сделал [http://forexsystemsru.com/1096447-post6034.html](http://forexsystemsru.com/1096447-post6034.html)

у меня все файлы работают
по быструхе в коде есть упоминание DT-ZigZag и ZigZag

у тебя они есть в папке?
что пишется во вкладках эксперты/журнал?

## поручик — 2016-02-03 05:44

Petr888 - нет, я не профи, так, балуюсь индикаторами

## RoninGT — 2016-02-03 05:55

Да, так работает! Извиняюсь, мой косяк:facepalm:

## LexLampard — 2016-02-03 07:50

> Цитата (jenzo):
> Ребят помогите вывести настройки.
>
> И посмотрите пожалуйста, грузит терминал.
> Например: ставишь на М5 а в настройках индюка М15 то грузит терминал.

Попробуй вот так:

Если виснет терминал

Установите, согласно пути, «Сервис-Настройки-Графики» - «Макс. Баров истории» и «Макс. Баров в окне»—5 000. Это помогает.

Настройки и так все вынесены.

## AlanG — 2016-02-03 07:57

> Цитата (poto):
> Помогите Доработать Советник!
>
> Синтетический График ReverseSymbol ! USDEUR на него вешаем другой советник и что это советник смотрел пару UsdEur  - а сделки открывал и закривает  по EURUSD
>
> просто советник не видит USDEUR( ПОМОГИТЕ ЧТО Б ОН ЕГО ВИДЕЛ)
>
>
>
>
> + Скин
>
>
> P.S.   НЕ ЗАБИВАЕМ ГОВОРИТЬ СПАСИБО!;)

пробуй, не проверял! это не советник он не торгует исправил 2-ю ссылку

## AlanG — 2016-02-03 08:02

> Цитата (poto):
> Помогите что б он тоже видел цену USDEUR - И ОБНОВЛЯЛСЯ

Все правильно по не правильному символу он и не будет торговать это специализированные совы нужны например от корпаса

## Skeitch — 2016-02-03 09:56

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

МО #property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 DeepSkyBlue
#property indicator_color2 Red
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_color5 DeepSkyBlue
#property indicator_color6 Red

extern int SignalPeriod = 12;
extern int ArrowPeriod = 2;
int gi_84 = 1;
int gi_88 = 1;
int gi_92 = 1;
int gi_96 = 999;
extern int SL_pips = 100;
double g_ibuf_104[];
double g_ibuf_108[];
double g_ibuf_112[];
double g_ibuf_116[];
double g_ibuf_120[];
double g_ibuf_124[];
extern bool AlertON = TRUE;
extern bool Email = TRUE;
bool gi_136 = FALSE;
bool gi_140 = FALSE;
datetime g_time_144;

void displayAlert(string as_0, double ad_8, double ad_16, double ad_24) {
   string ls_32;
   string ls_40;
   string ls_48;
   string ls_56;
   string ls_64;
   if (Time != g_time_144) {
      g_time_144 = Time;
      if (ad_24 != 0.0) ls_48 = " at price " + DoubleToStr(ad_24, 4);
      else ls_48 = "";
      if (ad_8 != 0.0) ls_40 = ", TakeProfit on " + DoubleToStr(ad_8, 4);
      else ls_40 = "";
      if (ad_16 != 0.0) ls_32 = ", StopLoss on " + DoubleToStr(ad_16, 4);
      else ls_32 = "";
      Alert("BUYSELL MAGIC " + as_0 + ls_48 + ls_40 + ls_32 + " ", Symbol(), ", ", Period(), " minute chart");
      ls_56 = "BUYSELL MAGIC - " + as_0 + ls_48;
      ls_64 = "BUYSELL MAGIC " + as_0 + ls_48 + ls_40 + ls_32 + " " + Symbol() + ", " + Period() + " minute chart";
      if (Email) SendMail(ls_56, ls_64);
   }
}

int init() {
   SetIndexBuffer(0, g_ibuf_104);
   SetIndexBuffer(1, g_ibuf_108);
   SetIndexBuffer(2, g_ibuf_112);
   SetIndexBuffer(3, g_ibuf_116);
   SetIndexBuffer(4, g_ibuf_120);
   SetIndexBuffer(5, g_ibuf_124);
   SetIndexStyle(0, DRAW_ARROW, 6, 0);
   SetIndexStyle(1, DRAW_ARROW, 6, 0);
   SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 1);
   SetIndexStyle(3, DRAW_ARROW, STYLE_SOLID, 1);
   SetIndexStyle(4, DRAW_ZIGZAG, STYLE_DASH, 1);
   SetIndexStyle(5, DRAW_ZIGZAG, STYLE_DASH, 1);
   SetIndexArrow(0, 159);
   SetIndexArrow(1, 159);
   SetIndexArrow(2, 233);
   SetIndexArrow(3, 234);
   IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS));
   string ls_0 = "BUYSELL MAGIC(" + AlertON + "," + ArrowPeriod + ")";
   IndicatorShortName(ls_0);
   SetIndexLabel(0, "UpTrend Stop");
   SetIndexLabel(1, "DownTrend Stop");
   SetIndexLabel(2, "UpTrend Signal");
   SetIndexLabel(3, "DownTrend Signal");
   SetIndexLabel(4, "UpTrend Line");
   SetIndexLabel(5, "DownTrend Line");
   SetIndexDrawBegin(0, SignalPeriod);
   SetIndexDrawBegin(1, SignalPeriod);
   SetIndexDrawBegin(2, SignalPeriod);
   SetIndexDrawBegin(3, SignalPeriod);
   SetIndexDrawBegin(4, SignalPeriod);
   SetIndexDrawBegin(5, SignalPeriod);
   return (0);
}

int start() {
   int li_8;
   double lda_12;
   double lda_16;
   double lda_20;
   double lda_24;
   double ld_28;
   double l_close_36;
   for (int l_shift_4 = gi_96; l_shift_4 > 0; l_shift_4--) {
      g_ibuf_104 = 0;
      g_ibuf_108 = 0;
      g_ibuf_112 = 0;
      g_ibuf_116 = 0;
      g_ibuf_120 = EMPTY_VALUE;
      g_ibuf_124 = EMPTY_VALUE;
   }
   for (l_shift_4 = gi_96 - SignalPeriod - 1; l_shift_4 > 0; l_shift_4--) {
      lda_12 = iBands(NULL, 0, SignalPeriod, ArrowPeriod, 0, PRICE_CLOSE, MODE_UPPER, l_shift_4);
      lda_16 = iBands(NULL, 0, SignalPeriod, ArrowPeriod, 0, PRICE_CLOSE, MODE_LOWER, l_shift_4);
      if (Close > lda_12[l_shift_4 + 1]) li_8 = 1;
      if (Close < lda_16[l_shift_4 + 1]) li_8 = -1;
      if (li_8 > 0 && lda_16 < lda_16[l_shift_4 + 1]) lda_16 = lda_16[l_shift_4 + 1];
      if (li_8 < 0 && lda_12 > lda_12[l_shift_4 + 1]) lda_12 = lda_12[l_shift_4 + 1];
      lda_20 = lda_12 + (gi_84 - 1) / 2.0 * (lda_12 - lda_16);
      lda_24 = lda_16 - (gi_84 - 1) / 2.0 * (lda_12 - lda_16);
      if (li_8 > 0 && lda_24 < lda_24[l_shift_4 + 1]) lda_24 = lda_24[l_shift_4 + 1];
      if (li_8 < 0 && lda_20 > lda_20[l_shift_4 + 1]) lda_20 = lda_20[l_shift_4 + 1];
      if (li_8 > 0) {
         if (gi_88 > 0 && g_ibuf_104[l_shift_4 + 1] == -1.0) {
            g_ibuf_112 = lda_24;
            g_ibuf_104 = lda_24;
            if (gi_92 > 0) g_ibuf_120 = lda_24;
            if (AlertON == TRUE && l_shift_4 == 1 && !gi_136) {
               ld_28 = Low;
               if (Low < ld_28) ld_28 = Low;
               if (Low < ld_28) ld_28 = Low;
               if (Low < ld_28) ld_28 = Low;
               ld_28 -= SL_pips * Point;
               l_close_36 = Close;
               displayAlert("Buy signal", 0, ld_28, l_close_36);
               gi_136 = TRUE;
               gi_140 = FALSE;
            }
         } else {
            g_ibuf_104 = lda_24;
            if (gi_92 > 0) g_ibuf_120 = lda_24;
            g_ibuf_112 = -1;
         }
         if (gi_88 == 2) g_ibuf_104 = 0;
         g_ibuf_116 = -1;
         g_ibuf_108 = -1.0;
         g_ibuf_124 = EMPTY_VALUE;
      }
      if (li_8 < 0) {
         if (gi_88 > 0 && g_ibuf_108[l_shift_4 + 1] == -1.0) {
            g_ibuf_116 = lda_20;
            g_ibuf_108 = lda_20;
            if (gi_92 > 0) g_ibuf_124 = lda_20;
            if (AlertON == TRUE && l_shift_4 == 1 && !gi_140) {
               ld_28 = High;
               if (High > ld_28) ld_28 = High;
               if (High > ld_28) ld_28 = High;
               if (High > ld_28) ld_28 = High;
               ld_28 += SL_pips * Point;
               l_close_36 = Close;
               displayAlert("Sell signal", 0, ld_28, l_close_36);
               gi_140 = TRUE;
               gi_136 = FALSE;
            }
         } else {
            g_ibuf_108 = lda_20;
            if (gi_92 > 0) g_ibuf_124 = lda_20;
            g_ibuf_116 = -1;
         }
         if (gi_88 == 2) g_ibuf_108 = 0;
         g_ibuf_112 = -1;
         g_ibuf_104 = -1.0;
         g_ibuf_120 = EMPTY_VALUE;
      }
   }
   return (0);
} мир

## dim777777 — 2016-02-03 10:10

Всем здравствуйте , ребят , сделайте пожалуйста кто может , нужно чтобы эти два индикатора , кроме алертов , рисовали какие нибудь вертикальные палки в подвале ( например - покупка синяя , продажа -красная), спасибо.

## grimax — 2016-02-03 11:35

> Цитата (Petr888):
> не поможете? [#6600](http://forexsystemsru.com/yazyk-programmirovaniya-mql4/77111-dorabotka-botov-sovetnikov-indikatorov-vol-2-a-330.html#post1108458)

Полностью всё выкладывайте, там индикаторов не хватает
Тогда посмотрим, что можно сделать

## Novikov — 2016-02-03 12:31

Уважаемые, доработайте пожалуйста индикатор, что бы терминальные уровни скрывал, а свои уровни на их месте показывал :please:
Возможно вообще такое?

Заранее благодарю!

## asers1111 — 2016-02-03 13:19

> Цитата (LexLampard):
> Попробуй вот так:
>
> Если виснет терминал
>
> Установите, согласно пути, «Сервис-Настройки-Графики» - «Макс. Баров истории» и «Макс. Баров в окне»—5 000. Это помогает.
>
> Настройки и так все вынесены.

Привет Lex.Недавно ты писал для человека сов...Это то,что я так искал...Просил тебя чтоб по TakeProfit закрывались ордера один за другим...Я вписал индикатор в сов и условие для открытия сделки.Сделай,пожалуйста,чтоб вместо моих  OrderSend и DeleteOrders(я даже сами функции не вписывал в сов) как-то инициализировать нажатие кнопок советника Buy ,Sell и Close All......Сам я совершенно не знаю,как это сделать.И заодно поучусь этому моменту.Спасибо заранее.

## asers1111 — 2016-02-03 21:54

Lex ,Сделай пожалуйста,чтоб на открытие серии ордеров инициировалось нажатие кнопки Buy и Sell.А на закрытие ордеров кнопки Close All.Я тут сам поковырялся,посмотри,правильно ли я вставлял свои функции....

## AlanG — 2016-02-04 08:49

> Цитата (Novikov):
> Уважаемые, доработайте пожалуйста индикатор, что бы терминальные уровни скрывал, а свои уровни на их месте показывал
> Возможно вообще такое?

 видел Grid v.2.2 в ней все есть даже кубики у буржуев на _http://www.forexfactory.com

---

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