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

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

---

## lexshur — 2014-12-10 15:12

> Цитата (Sapper):
> Там нужно с библиотекой разбираться. Скачивал несколько раз из разных источников. Результат один и тот же. В Вашем архиве такая же фигня.

Уважаемые посмотрите кто нибудь Omega Trend может у кого получится индикатор больно интересный да и совы по нему.

## incomeasset — 2014-12-10 19:43

Privet vsem pomoghite pojalusta kto razberaetsea v Alert i Arrow ispravte pojalusta eto v etom indikatore on doljen davati signal pri peresiceniax 2 linii spasibo!

## osa — 2014-12-10 20:05

Приветствую! Есть такой индюк _https://www.mql5.com/en/code/8844
Можно ли его изменить, чтобы он обрабатывал не весь предыдущий график, а, например  500 свечей. Уж очень сильно грузит терминал при работе. Спасибо заранее!

## mobidik — 2014-12-10 21:11

> Цитата (osa):
> Приветствую! Есть такой индюк _https://www.mql5.com/en/code/8844
> Можно ли его изменить, чтобы он обрабатывал не весь предыдущий график, а, например  500 свечей. Уж очень сильно грузит терминал при работе. Спасибо заранее!

:)

## statistic — 2014-12-10 22:02

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

## GenkaRak — 2014-12-11 06:22

**Поправьте пожалуйста спред в индикаторе**

Здравствуйте!
Уважаемые программисты, такая ситуация:
Спред показывается на пятизнаке так: 20.0 На четырех знаке 2.0
Но спред на 5-ти реальный получается 0.2. Можно поправить индюк, что бы  на пятизнаке показывал реальный спред и на четырехзнаке тоже?
Или это будет неправильно?
Спасибо.

## sergey122 — 2014-12-11 07:11

> Цитата (GenkaRak):
> Здравствуйте!
> Уважаемые программисты, такая ситуация:
> Спред показывается на пятизнаке так: 20.0 На четырех знаке 2.0
> Но спред на 5-ти реальный получается 0.2. Можно поправить индюк, что бы  на пятизнаке показывал реальный спред и на четырехзнаке тоже?
> Или это будет неправильно?
> Спасибо.

Какой ДЦ такой спред на 5знаке выдаёт?

## GenkaRak — 2014-12-11 11:57

> Цитата (sergey122):
> Какой ДЦ такой спред на 5знаке выдаёт?

Альпари. От стандарта до ECN.
Может проблема все-таки в инфрмере?
Потому, что на центовом показывает 2.0 как и должно быть.

## Novikov — 2014-12-11 16:59

Уважаемые, есть индикатор [GainLossInfo.mq4](https://forexsystemsru.com/attachment.php?attachmentid=158121&d=1395759057), который показывает размер баров в пунктах.

[изображение: http://charts.mql5.com/4/258/eurusd-d1-alpari-limited-2.png]

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

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

## slavyanix — 2014-12-11 17:10

доброго времени суток Уважаемые Форумчане. У меня такой вопрос в котором нужна ваша помощь.Как настроить параметр profit Target Coef то что это Коэффицие́нт профита я понял,но никак не могу понять как рассчитать если баланс 200  у.е. по умолчанию стоит 13,73 при открытии ордера выставляет аж 157 пунктов но на торговле м15 это слишком  вот как рассчитать пунктов 20-25??? Заранее спасибо

## slavyanix — 2014-12-11 17:11

один лот равен 0,05

## андрей0742 — 2014-12-11 19:44

Ребят помогите добавить такую функцию как сдвиг

## dimitrescu — 2014-12-11 21:40

Ребята может ранно но поздравляю всех с наступающим новым годом :)Не могу понять что с советником он не открывает бай ордера по мартину , открыввает только раз и все, а вот с селовскими все нормально,поможете?

## olegkrg — 2014-12-11 22:40

Дороботайте пож индикатор-вывести стрелки на график и алерт при появлении стрелки.

## geni1973 — 2014-12-11 23:37

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

## chaffinch — 2014-12-12 13:32

Добрый день.
Помогите вставить код в трейлинг стоп,  чтобы  начинал работу после открытию пятого или шестого  открытого ордера. Можно  прописать в настройках после, какого открытого ордера начать тралить позиции.
с уважением Василий.

## nikpilot — 2014-12-12 17:15

Уважаемые програмисты, помогите пожалуйста. Я добавил в код индикатора вывод ценовой метки на график, но ценовая метка появляется на открытии новой свечи, а я хотел в момент появления стрелки.
Скриншот и код индикатора прилагаю.

#property copyright "Repro from Neuro Trade"
#property link      "I2G"

#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 CLR_NONE
#property indicator_color3 Red
#property indicator_color4 Blue
#property indicator_color5 Blue
#property indicator_color6 Red
#define SIGNAL_BAR 1
extern bool UseSound=true;
extern string SoundFile="Alert.wav";
extern bool SendMailPossible = false;
bool SoundBuy  = False;
bool SoundSell = False;
int gi_76 = 3;
int gi_80 = 8;
int gi_84 = 0;
int gi_88 = 2;
double gd_92;
double gd_100;
double gd_108;
double gd_116 = 0.0;
double gd_124;
double gd_132 = 0.0;
double gd_140;
double gd_148;
int gi_156 = 0;
double gd_unused_160 = 0.0;
int gi_unused_168 = 0;
double g_ibuf_172[];
double g_ibuf_176[];
double g_ibuf_180[];
double g_ibuf_184[];
double g_ibuf_188[];
double g_ibuf_192[];
double g_ibuf_196[];
double g_ibuf_200[];

int init() {
   IndicatorBuffers(8);
   SetIndexBuffer(6, g_ibuf_180);
   SetIndexBuffer(7, g_ibuf_184);
   IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS));
   SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 2);
   SetIndexBuffer(0, g_ibuf_172);
   SetIndexStyle(1, DRAW_NONE, STYLE_SOLID, 2);
   SetIndexBuffer(1, g_ibuf_176);
   SetIndexDrawBegin(0, gi_80 + 1);
   SetIndexDrawBegin(1, gi_80 + 1);
   SetIndexDrawBegin(2, gi_80 + 1);
   SetIndexDrawBegin(3, gi_80 + 1);
   SetIndexDrawBegin(4, gi_80 + 1);
   SetIndexDrawBegin(5, gi_80 + 1);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, 1);
   SetIndexBuffer(2, g_ibuf_188);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, 1);
   SetIndexBuffer(3, g_ibuf_192);
   SetIndexStyle(4, DRAW_ARROW, STYLE_DASH, 1);
   SetIndexArrow(4, 233);
   SetIndexBuffer(4, g_ibuf_196);
   SetIndexStyle(5, DRAW_ARROW, STYLE_DASH, 1);
   SetIndexArrow(5, 234);
   SetIndexBuffer(5, g_ibuf_200);
   IndicatorShortName("I2G Entry Signal");
   SetIndexLabel(0, "I2GLine1");
   SetIndexLabel(1, "I2GLine2");
   SetIndexLabel(2, "I2GBar1");
   SetIndexLabel(3, "I2GBar2");
   SetIndexLabel(4, "I2GSig1");
   SetIndexLabel(5, "I2GSig2");
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   int li_0;
   int li_unused_4 = MarketInfo(Symbol(), MODE_DIGITS);
   if (Bars <= gi_80) return (0);
   int l_ind_counted_8 = IndicatorCounted();
   if (l_ind_counted_8 == 0) li_0 = Bars - 1;
   if (l_ind_counted_8 > 0) li_0 = Bars - l_ind_counted_8 - 1;
   for (int li_12 = li_0; li_12 >= 0; li_12--) {
      gd_92 = High[iHighest(NULL, 0, MODE_HIGH, gi_76, li_12)] + gi_84 * Point;
      gd_100 = Low[iLowest(NULL, 0, MODE_LOW, gi_76, li_12)] - gi_84 * Point;
      gd_108 = High[iHighest(NULL, 0, MODE_HIGH, gi_80, li_12)] + gi_88 * Point;
      gd_116 = Low[iLowest(NULL, 0, MODE_LOW, gi_80, li_12)] - gi_88 * Point;
      if (Close > g_ibuf_172[li_12 + 1]) gd_124 = gd_100;
      else gd_124 = gd_92;
      if (Close > g_ibuf_176[li_12 + 1]) gd_132 = gd_116;
      else gd_132 = gd_108;
      g_ibuf_172 = gd_124;
      g_ibuf_176 = gd_132;
      gd_140 = 0.0;
      gd_148 = 0.0;
      if (Close < gd_124 && Close < gd_132) {
         gd_140 = High;
         gd_148 = Low;
      }
      if (Close > gd_124 && Close > gd_132) {
         gd_140 = Low;
         gd_148 = High;
      }
      g_ibuf_188 = gd_140;
      g_ibuf_192 = gd_148;
      if (Close > gd_132 && Close > gd_124 && gi_156 != 1) {
         g_ibuf_196 = gd_132;
         g_ibuf_200 = EMPTY_VALUE;
         gi_156 = 1;
      }
      if (Close < gd_132 && Close < gd_124 && gi_156 != 2) {
         g_ibuf_200 = gd_132;
         g_ibuf_196 = EMPTY_VALUE;
         gi_156 = 2;
      }
   }
   //+------------------------------------------------------------------+     
      if (g_ibuf_196 != EMPTY_VALUE && g_ibuf_196 != 0 && SoundBuy)
         {
         SoundBuy = False;
            if (UseSound) PlaySound (SoundFile);
               Alert("indicators_I2G (", Symbol(), ", ", Period(), ")  -  BUY!!!");
                     ObjectCreate("BUY SIGNAL: " + 
DoubleToStr(Time,0),OBJ_ARROW,0,Time,Close);
          ObjectSet("BUY SIGNAL: " + 
DoubleToStr(Time,0),OBJPROP_ARROWCODE,5);
          ObjectSet("BUY SIGNAL: " + 
DoubleToStr(Time,0),OBJPROP_COLOR,Yellow);
               if (SendMailPossible) SendMail(Symbol()+ " M"+ Period()+ " indicators_I2G  -  BUY!", ""); 
         } 
      if (!SoundBuy && (g_ibuf_196 == EMPTY_VALUE || g_ibuf_196 == 0)) SoundBuy = True;  
            
  
      if (g_ibuf_200 != EMPTY_VALUE && g_ibuf_200 != 0 && SoundSell)
         {
         SoundSell = False;
            if (UseSound) PlaySound (SoundFile);
             Alert("indicators_I2G (", Symbol(), ", ", Period(), ")  -  SELL!!!"); 
                    ObjectCreate("SELL SIGNAL: " + 
DoubleToStr(Time,0),OBJ_ARROW,0,Time,Close);
          ObjectSet("SELL SIGNAL: " + 
DoubleToStr(Time,0),OBJPROP_ARROWCODE,5);
          ObjectSet("SELL SIGNAL: " + 
DoubleToStr(Time,0),OBJPROP_COLOR,Aqua);
             if (SendMailPossible) SendMail(Symbol()+ " M"+ Period()+ " indicators_I2G  -  SELL!!!", "");
         } 
      if (!SoundSell && (g_ibuf_200 == EMPTY_VALUE || g_ibuf_200 == 0)) SoundSell = True;            
                            
//+------------------------------------------------------------------+
   return (0);
}

## mobidik — 2014-12-13 01:54

> Цитата (Dominowka):
> ...

Есть такой, к тому же с настройками:

## Евгений Степовой — 2014-12-13 13:36

Всем доброго времени суток! Помогите кто может плз.! Задолбался уже с этим программированием! Имеется советник работающий с Iсhimoku и индикатор LWMA-Crossover system. 
     Помогите пожалуйста вставить в работу советника этот индикатор, чтобы он открывался на позицию при подтверждающем сигнале индикатора(визуально это стрелка, вверх или вниз соответственно).
     В Iсhimoku мне нужно только пересечение цены и закрытие предыдущего бара выше Senkou Span A, в момент закрытия бара и открытия следующего бара вверх, нужно открыть buy на 5 пунктов по лоту 0.1. 
     В момент закрытия бара ниже Senkou Span B и открытия следующего бара ниже, нужно открыть sell на 5 пунктов по лоту 0.1. К каждой последующей сделке нужно прибавлять один лот по прогрессии.  Пока торговля без стопа.
     Открытие должно происходить только после появления подтверждающего сигнала индикатора LWMA-Crossover system.
     Всё остальное из этого советника нужно убрать, чтобы он был лёгким и понятным.
Вроде всё кажется не сложно, но как это всё совместить уже голову сломал.
     Заранее благодарен!!!!

## Ambrela — 2014-12-13 14:28

**!Overdraft_Profit_System реверсная система**

Выкладываю советника, инверсионная стратегия с визуализацией и со всеми наворотами.
Индикатор тоже прикрепил, тестируйте, может кто сможет доработать для более стабильного состояния.
Код чистый, всё зеркально понятно как работает сам советник, есть визуализация виртуальных ордеров + на чарте инфа + в журнале.
Если кто нибудь сможет стабилизировать сов, поделитесь уж )) пишите в личку.
Не забываем ставить лайк;) Работы не мало проделано всё таки.

---

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