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

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

---

## блондинка.. — 2026-10-01 18:07

> Цитата (belrosa):
> Здравствуйте. Необходимо доработать советник, который в свое время был написан для торговли опционами на терминале  MQL4 брокера Grand Capital. Данный советник выставляет опционы, непосредственно в терминале MQL4 на основании любых стрелочных индикаторах, которые прописывают сигналы в буфер.
> В данном советнике не работает функция Мартингейла. Эту функцию надо доработать. (переписать).
> Также надо сделать так, чтобы советник мог выставлять опционы и на не стандартных таймфреймах таких как m2, m3 и т.д., открытых автономно через скрипт PeriodConverter2.
> Переписать советник, чтоб он мог работать на  версии 4.00 Build 1478
> Будут приложены файлы:
> Proj-12-09-22     - советник   (MQL4)
> PeriodConverter2  - скрипт    (MQL4)
> grandcapital4setup  - терминал Grand Capital

не выставляет опционы -а делает ставки на рост или падение актива за диапазон времени.
советник не будет работать от внешнего индикатора на таймфреймах таких как m2, m3 и т.д. -это невозможно в коде реализовать
бинарные опционы это зло, деньги только можно заводить-вывести не дадут, если ты выигрываешь-то тебя просто заблокируют и всего делов.)
нет ни одного брокера который позволит выигрывать и выводить.
но тебе решать как уничтожать свои деньги.)

## vladradon — 2026-10-01 18:30

> Цитата (блондинка..):
> советник не будет работать от внешнего индикатора на таймфреймах таких как m2, m3 и т.д. -это невозможно в коде реализовать

Привет. В МТ5 есть такие таймфреймы. ;)

## el_Venso — 2026-10-01 18:39

> Цитата (блондинка..):
> советник не будет работать от внешнего индикатора на таймфреймах таких как m2, m3 и т.д. -это невозможно в коде реализовать

Множество стандартных советников работают на нестандартных графиках - единственное надо отключить данную галочку ----

## блондинка.. — 2026-10-01 19:01

> Цитата (el_Venso):
> Множество стандартных советников работают на нестандартных графиках - единственное надо отключить данную галочку ----

У него внешний индикатор это любой буферный стрелочник.Напиши попробуй под него советник на нестандартном ТФ. Читай его текст заявку с тех заданием  внимательней.)

## блондинка.. — 2026-10-01 19:13

> Цитата (vladradon):
> Привет. В МТ5 есть такие таймфреймы. ;)

Влад!)Он просит советник для MT4, что бы он был универсальный-брал в работу любой буферный стрелочник. Это возможно. Но ему надо ещё и нестандартные ТФ в нём!!! Это по моему уже перебор)

## Plat123off — 2026-10-01 21:13

Вечер добрый, Господа ! Можете переписать индикатор
MACD Leader  под МТ4 ? Это вообще реально ???

## kos17788 — 2026-10-05 00:04

Здравствуйте. Подправьте пожалуйста индикатор. Обновил мт4 перестал отображаться. Билд 1491. Благодарю.

## vladradon — 2026-10-05 03:03

> Цитата (kos17788):
> Здравствуйте. Подправьте пожалуйста индикатор. Обновил мт4 перестал отображаться. Билд 1491. Благодарю.

Я немного навел порядок в коде. Добавил ограничение по истории, т.к. при выключенном режиме АТР, были ошибки в расчете и индюк должен был по каждому тику отрабатывать все бары графика, а это тормозит терминал.

## kos17788 — 2026-10-05 03:30

> Цитата (vladradon):
> Я немного навел порядок в коде. Добавил ограничение по истории, т.к. при выключенном режиме АТР, были ошибки в расчете и индюк должен был по каждому тику отрабатывать все бары графика, а это тормозит терминал.

vladradon спасибо вам большое!

## kos17788 — 2026-10-05 09:20

> Цитата (vladradon):
> Я немного навел порядок в коде. Добавил ограничение по истории, т.к. при выключенном режиме АТР, были ошибки в расчете и индюк должен был по каждому тику отрабатывать все бары графика, а это тормозит терминал.

Добрый день. vladradon можно вас попросить еще два индикатора исправить? 
Попытался через ИИ Алису, она что то исправила конечно. Индикатор отображается , но не работает как надо.

1. Область видимости priceVal — главная причина ошибок компиляции
В исходном коде priceVal объявлялся внутри цикла for(j = 0; ...) и затем использовался в блоке Redraw за пределами этого цикла — после выхода из блока переменная уже не существовала. Также priceVal1 объявлялся, но не использовался (вместо него переиспользовался priceVal).

Решение: вынес получение цены в отдельную функцию getPriceByType(), убрал дублирование switch (было 3 копии) и неиспользуемую переменную priceVal1. Теперь priceVal объявлен на уровне цикла for(i = ...).

2. Новые обработчики событий
Было    Стало
int init()    int OnInit() → return(INIT_SUCCEEDED)
int deinit()    void OnDeinit(const int reason)
int start()    int OnCalculate(...) с полным набором параметров
3. Замена устаревших вызовов внутри OnCalculate
Bars → rates_total
IndicatorCounted() → prev_calculated
return(0) → return(rates_total)
Убрана проверка if(counted_bars < 0) return(-1)
4. Обновление функций работы с объектами
ObjectCreate(name, ...) → ObjectCreate(0, name, ...)
ObjectSet(name, prop, val) → ObjectSetInteger(0, name, prop, val)
ObjectsTotal() → ObjectsTotal(0, -1, -1)
ObjectName(i) → ObjectName(0, i)
ObjectDelete(name) → ObjectDelete(0, name)
OBJPROP_RAY → OBJPROP_RAY_RIGHT
"TMA_Shift_T_" + i → "TMA_Shift_T_" + IntegerToString(i)
5. Исправление приведения типов
MathMin(...) / MathMax(...) возвращают double — добавлен (int) каст
SumW = (HalfLength + 2) * (HalfLength + 1) / 2 → SumW = (double)(HalfLength + 2) * (HalfLength + 1) / 2.0
"" + iTfTable* → IntegerToString(iTfTable)
timeFrame / Period() → (double)timeFrame / Period()
6. ChartRedraw() от бага отрисовки build 1491
7. Алерты
Time в doAlert() заменён на глобальную переменную g_time0, которая обновляется из параметра time[] в OnCalculate.

Что НЕ менялось
Логика расчёта TMA, асимметричных полос, стрелок, сдвига и алертов — без изменений
extern вместо input — TimeFrame и HalfLength модифицируются в OnInit()
Предопределённые массивы Close[], High[], Low[], Open[], Time[] в helper-функциях — доступны глобально в MT4*

## kos17788 — 2026-10-05 10:41

vladradon вот этот пожалуйста исправьте, вместо второго индикатора.

## блондинка.. — 2026-10-05 11:43

> Цитата (vladradon):
> Я немного навел порядок в коде. Добавил ограничение по истории, т.к. при выключенном режиме АТР, были ошибки в расчете и индюк должен был по каждому тику отрабатывать все бары графика, а это тормозит терминал.

отличный инструмент)

## vladradon — 2026-10-05 13:00

> Цитата (kos17788):
> vladradon вот этот пожалуйста исправьте, вместо второго индикатора.

Нет времени. Обновленные МТ4 вылетают безо всяких причин и работать невозможно. 🤷‍♂️  Может еще кто сделает - мастеров хватает здесь.

## zhserg — 2026-10-05 13:37

> Цитата (kos17788):
> vladradon вот этот пожалуйста исправьте, вместо второго индикатора.

а что в нем не работает?

## kos17788 — 2026-10-05 13:39

> Цитата (zhserg):
> а что в нем не работает?

После обновления мт4 не отображается и мтф не работает. Или только одну линию  видно, другой нет.

## блондинка.. — 2026-10-05 14:11

> Цитата (vladradon):
> Нет времени. Обновленные МТ4 вылетают безо всяких причин и работать невозможно. 🤷‍♂️  Может еще кто сделает - мастеров хватает здесь.

они целенаправленно уничтожают старые коды, а новые будут продавать на своём codebase.

## kos17788 — 2026-10-05 14:23

Не нужно обновлять мт4 и все будет работать.

## sungariec — 2026-10-05 14:42

Всем привет! 
Что-то сегодня в Альпари всё разом слитело , подлечитете под новый билд пожалуйста!

## vladradon — 2026-10-06 23:25

> Цитата (kos17788):
> vladradon вот этот пожалуйста исправьте, вместо второго индикатора.

МТ4 до 1492 обновился и вроде все нормально стало работать. :unsure:
Код восстановил до полного функционала, но это Младеновское старье с рекурсивным МТФ - наверняка в архивах есть что-то более грамотное.

## Bullra — 2026-10-06 23:31

> Цитата (sungariec):
> Всем привет!
> Что-то сегодня в Альпари всё разом слитело , подлечитете под новый билд пожалуйста!

Это и все остальное не лечится. Системная ошибка в обновлении. Нужно обновиться до 1492 или откатить до 1470 билда.

---

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