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

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

---

## eevviill — 2012-07-01 21:55

> Цитата (Kent175):
> К открытым позициям,то бишь ордерам.Когда открывается позиция,брокер берёт с неё комиссию 0.5 пункта.

Добавил к СЛ и ТП.

## Влад2 — 2012-07-01 22:38

> Цитата (eevviill):
> И вам спасибо за отзыв.
> Надписи не верну, так как это они притупливали советник. Они перебирали ордера в истории счёта и так подсчитывали.
> Ошибку я посмотрел и она есть даже в самых первых декомпилированых версиях.
> Пятизнак есть.

Вернулся. Получилась шикарная версия для оптимизации. За сутки пока меня не было прогнал столько тестов, на которые раньше ушла бы неделя, а то и больше. Сейчас погоняю её ещё на демо, повнимательнее. Была у меня вчера мысль, что не спроста Вы убрали сообщения.
Когда я тестил версию лот от эквилити, в тестере мелькнуло сообщение о недопустимости открытия лота, превышение маржи и её уровень, по окончании теста, всё исчезло. Это было от тех модернизаций? Полезные сообщения, я к тому пытаюсь клонить, чтобы собрать "медленную" информативную (с сообщениями) версию со звуком и пятизнаком, совсем неузнаваемую, для реала, а эту использовать в тестах. Боюсь уже злоупотреблять Вашим временем, но пока у Вас всё ещё свежо в памяти.

## Влад2 — 2012-07-01 22:40

> Цитата (kpll):
> Чем он Вас так радует? Настройки по умолчанию.

Не надо использовать настройки по умолчанию. Оптимизируйте, благодаря eeviill, это теперь в разы проще делать.

## yarikbes — 2012-07-02 01:49

Не просто не работает, а вообще МТ виснет. так что придётся идти на сайт )

## Влад2 — 2012-07-02 09:39

> Цитата (yarikbes):
> Не просто не работает, а вообще МТ виснет. так что придётся идти на сайт )

Не очень Вас понял. У меня последняя версия от eevviill работает на демо на форекс фо ю, и робофорекс. В тестере, вообще летает. М1, все тики. Плечо 500. Не работает на ммцис, но у них и другие версии не работали. Похоже это у них какая-то заморочка. Списался с тех. поддержкой, жду что ответят.

## yarikbes — 2012-07-02 10:37

> Цитата (Влад2):
> Не очень Вас понял. У меня последняя версия от eevviill работает на демо на форекс фо ю, и робофорекс. В тестере, вообще летает. М1, все тики. Плечо 500. Не работает на ммцис, но у них и другие версии не работали. Похоже это у них какая-то заморочка. Списался с тех. поддержкой, жду что ответят.

Я об индикаторе готоворю ))

## eevviill — 2012-07-02 10:39

> Цитата (Влад2):
> Вернулся. Получилась шикарная версия для оптимизации. За сутки пока меня не было прогнал столько тестов, на которые раньше ушла бы неделя, а то и больше. Сейчас погоняю её ещё на демо, повнимательнее. Была у меня вчера мысль, что не спроста Вы убрали сообщения.
> Когда я тестил версию лот от эквилити, в тестере мелькнуло сообщение о недопустимости открытия лота, превышение маржи и её уровень, по окончании теста, всё исчезло. Это было от тех модернизаций? Полезные сообщения, я к тому пытаюсь клонить, чтобы собрать "медленную" информативную (с сообщениями) версию со звуком и пятизнаком, совсем неузнаваемую, для реала, а эту использовать в тестах. Боюсь уже злоупотреблять Вашим временем, но пока у Вас всё ещё свежо в памяти.

Дооптимизируешь и тогда добавим лот от депозита и надписи.

P.S. Про ДЦ - бред.

## eevviill — 2012-07-02 10:42

> Цитата (yarikbes):
> Не просто не работает, а вообще МТ виснет. так что придётся идти на сайт )

рекомендую возпользоватся этим индикатором.

## yarikbes — 2012-07-02 10:56

Спасибо, но сам календарь _http://www.forexfactory.com/  ни чем не лучше дейли.

## Andrey1983A — 2012-07-02 10:57

> Цитата (Влад2):
> Не надо использовать настройки по умолчанию. Оптимизируйте, благодаря eeviill, это теперь в разы проще делать.

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

## Влад2 — 2012-07-02 11:22

> Цитата (eevviill):
> Дооптимизируешь и тогда добавим лот от депозита и надписи.
>
> P.S. Про ДЦ - бред.

Про ммцис "бред" в следующем. "Вручную" доступен лот 0.01 с шагом 0.01. Но бот запускается только с мин. лотом 0.1 Ваша последняя версия, выдаёт звук, видимо пытается выставить ордер, но кроме звука ничего не происходит. В журнале никаких ошибок. Версия "schet" с лотом 0.1 запускается, с лотом 0.01 "молчит" без ошибок. Повторюсь на фо ю и робо, всё нормально.

## sochinik — 2012-07-02 13:07

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

Большое спасибо, кажется всё работает как задумано- должен получится вариант , задуманный мной- сейчас делаю настройки, конечно сложно подбирать вручном режиме параметры, но два советника в тестер не загнать....

## volodymyr67 — 2012-07-02 14:51

**Всем привет!**

Уважаемые подскажите пожалоста как сделать чтоб индюк опаздывал на 1 или 2 бара .
Заранее примного благодарен !

## eevviill — 2012-07-02 15:03

> Цитата (volodymyr67):
> Уважаемые подскажите пожалоста как сделать чтоб индюк опаздывал на 1 или 2 бара .
> Заранее примного благодарен !

 Находишь индикаторы которые вычисляются. И последним свойством есть с какого бара брать данные. Туда дописываешь +1 или +2

## volodymyr67 — 2012-07-02 15:55

> Цитата (eevviill):
> Находишь индикаторы которые вычисляются. И последним свойством есть с какого бара брать данные. Туда дописываешь +1 или +2

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

int start() {
   int l_count_8;
   double l_icustom_12;
   int li_0 = IndicatorCounted();
   int li_4 = 300;
   if (li_0 < 0) return (-1);
   if (li_0 > 0) li_0--;
   li_4 = Bars - li_0;
   for (int l_index_20 = 0; l_index_20 < li_4; l_index_20++) {
      if (Time >= gia_92) l_count_8 = 0;
      else {
         l_count_8 = ArrayBsearch(gia_92, Time[l_index_20 - 1], WHOLE_ARRAY, 0, MODE_DESCEND);
         if (Period() <= GrossPeriod) l_count_8++;
      }
      for (int li_24 = l_count_8; li_24 < l_count_8 + 100; li_24++) {
         l_icustom_12 = iCustom(NULL, GrossPeriod, "ZigZag", depth, 2, 2, 0, li_24 + 1);
         if (l_icustom_12 != 0.0) break;
      }
      if (iClose(NULL, 0, l_index_20 + 1) <= l_icustom_12) g_ibuf_88 = l_icustom_12;
      else g_ibuf_88 = 0.0;
      if (iClose(NULL, 0, l_index_20 + 1) >= l_icustom_12) g_ibuf_84 = l_icustom_12;
      else g_ibuf_84 = 0.0;
      ObjectsRedraw();
   }
   return (0);
}

## eevviill — 2012-07-02 17:04

> Цитата (volodymyr67):
> Я конешно извеняюсь посмотрите пожалоста а то я чтото понять немогу вроди итак с плюсом
> тыкните пожалост пальцем ато так получаетса что смотрю в книгу а вижу фигу :rolf:
> 
> int start() {
> int l_count_8;
> double l_icustom_12;
> int li_0 = IndicatorCounted();
> int li_4 = 300;
> if (li_0 < 0) return (-1);
> if (li_0 > 0) li_0--;
> li_4 = Bars - li_0;
> for (int l_index_20 = 0; l_index_20 < li_4; l_index_20++) {
> if (Time >= gia_92) l_count_8 = 0;
> else {
> l_count_8 = ArrayBsearch(gia_92, Time[l_index_20 - 1], WHOLE_ARRAY, 0, MODE_DESCEND);
> if (Period() <= GrossPeriod) l_count_8++;
> }
> for (int li_24 = l_count_8; li_24 < l_count_8 + 100; li_24++) {
> l_icustom_12 = iCustom(NULL, GrossPeriod, "ZigZag", depth, 2, 2, 0, li_24 + 1);
> if (l_icustom_12 != 0.0) break;
> }
> if (iClose(NULL, 0, l_index_20 + 1) <= l_icustom_12) g_ibuf_88 = l_icustom_12;
> else g_ibuf_88 = 0.0;
> if (iClose(NULL, 0, l_index_20 + 1) >= l_icustom_12) g_ibuf_84 = l_icustom_12;
> else g_ibuf_84 = 0.0;
> ObjectsRedraw();
> }
> return (0);
> }
> 

 int start() {
int l_count_8;
double l_icustom_12;
int li_0 = IndicatorCounted();
int li_4 = 300;
if (li_0 < 0) return (-1);
if (li_0 > 0) li_0--;
li_4 = Bars - li_0;
for (int l_index_20 = 0; l_index_20 < li_4; l_index_20++) {
if (Time >= gia_92) l_count_8 = 0;
else {
l_count_8 = ArrayBsearch(gia_92, Time[l_index_20 - 1], WHOLE_ARRAY, 0, MODE_DESCEND);
if (Period() <= GrossPeriod) l_count_8++;
}
for (int li_24 = l_count_8; li_24 < l_count_8 + 100; li_24++) {
l_icustom_12 = iCustom(NULL, GrossPeriod, "ZigZag", depth, 2, 2, 0, li_24 + 1);
if (l_icustom_12 != 0.0) break;
}
if (iClose(NULL, 0, l_index_20 + 1) <= l_icustom_12) g_ibuf_88 = l_icustom_12;
else g_ibuf_88 = 0.0;
if (iClose(NULL, 0, l_index_20 + 1) >= l_icustom_12) g_ibuf_84 = l_icustom_12;
else g_ibuf_84 = 0.0;
ObjectsRedraw();
}
return (0);
}

## volodymyr67 — 2012-07-02 17:21

> Цитата (eevviill):
> int start() {
> int l_count_8;
> double l_icustom_12;
> int li_0 = IndicatorCounted();
> int li_4 = 300;
> if (li_0 < 0) return (-1);
> if (li_0 > 0) li_0--;
> li_4 = Bars - li_0;
> for (int l_index_20 = 0; l_index_20 < li_4; l_index_20++) {
> if (Time >= gia_92) l_count_8 = 0;
> else {
> l_count_8 = ArrayBsearch(gia_92, Time[l_index_20 - 1], WHOLE_ARRAY, 0, MODE_DESCEND);
> if (Period() <= GrossPeriod) l_count_8++;
> }
> for (int li_24 = l_count_8; li_24 < l_count_8 + 100; li_24++) {
> l_icustom_12 = iCustom(NULL, GrossPeriod, "ZigZag", depth, 2, 2, 0, li_24 + 1);
> if (l_icustom_12 != 0.0) break;
> }
> if (iClose(NULL, 0, l_index_20 + 1) <= l_icustom_12) g_ibuf_88 = l_icustom_12;
> else g_ibuf_88 = 0.0;
> if (iClose(NULL, 0, l_index_20 + 1) >= l_icustom_12) g_ibuf_84 = l_icustom_12;
> else g_ibuf_84 = 0.0;
> ObjectsRedraw();
> }
> return (0);
> }

вот и притаком состоянии он рисует 
акак сделать чтоб нерисовал чтоб опаздивал на 1или 2 бара 
а вы писали ( Находишь индикаторы которые вычисляются. И последним свойством есть с какого бара брать данные. Туда дописываешь +1 или +2  )

## strannik-ps — 2012-07-02 17:25

> Цитата (volodymyr67):
> вот и притаком состоянии он рисует
> акак сделать чтоб нерисовал чтоб опаздивал на 1или 2 бара
> а вы писали ( Находишь индикаторы которые вычисляются. И последним свойством есть с какого бара брать данные. Туда дописываешь +1 или +2  )

Не мучайся он данные с зиг-зага берет, а он рисует безбожно.

## volodymyr67 — 2012-07-02 17:34

> Цитата (strannik-ps):
> Не мучайся он данные с зиг-зага берет, а он рисует безбожно.

и что нельзя зделать чтоб он опаздывал
будит опаздывать небудит рисовать
с таким индюком на 1 или 2 бара можно и тормознутса убытка небудет

## eevviill — 2012-07-02 18:06

> Цитата (volodymyr67):
> и что нельзя зделать чтоб он опаздывал
> будит опаздывать небудит рисовать
> с таким индюком на 1 или 2 бара можно и тормознутса убытка небудет

 Блин. Ну если стоит +1, а тебе надо чтобы больше запаздывал то поставь +68

---

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