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

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

---

## ludaedFX — 2025-12-10 14:32

> Цитата (OSS_5):
> Всем привет!
> Может кто из спецов подмогнёт, чтобы стрелки отображались в списке объектов.
> Спасибо!

Забирай

## olegkom — 2025-12-10 15:09

Уважаемые мастера. Просветите плиз. Стрелка появляется на текущем баре в конце свечи или в начале. Возможно ли прописать условие чтобы стрелка появляется на открытии бара только?

## Hochuh — 2025-12-10 16:49

> Цитата (olegkom):
> Уважаемые мастера. Просветите плиз. Стрелка появляется на текущем баре в конце свечи или в начале. Возможно ли прописать условие чтобы стрелка появляется на открытии бара только?

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

## Farron — 2025-12-10 18:39

Специалисты помогите пожалуйста ! Хочу изменить логику индикатор паттерна Поглощение ! Условия : 
1.Логика для бычьего поглощения: 
Открытие текущей свечи больше закрытия

Открытие предыдущей свечи меньше закрытия

Открытие предыдущей свечи больше закрытия
Минимум текущей свечи ниже минимума предыдущей
Закрытие текущей свечи выше максимума предыдущей.

============================================

2.Логика для медвежьего поглощения:

Открытие текущей свечи меньше закрытия

Открытие предыдущей свечи больше закрытия

Открытие предыдущей свечи меньше закрытия
Максимум текущей свечи выше максимума предыдущей

Закрытие текущей свечи ниже минимума предыдущей.

=================================================
Я вроде бы что то исправил , но на графике ни чего не отображает ! А на скринах отметил в ручную !

## Hochuh — 2025-12-10 22:31

> Цитата (Farron):
> ...
>
> =================================================
> Я вроде бы что то исправил , но на графике ни чего не отображает ! А на скринах отметил в ручную !

Вы зачем то сделали val2 = **EMPTY_VALUE**;(пусто) и выбрали отображение **DRAW_HISTOGRAM**.  А у заливок и гистограмм нужны две точки - верх-низ. Т.е. нужно
                                                                                                                                                  A). либо сделать отображение, которым достаточно одной ценовой метки Line,ARROW.                                                                                                                                                                                                                                                                                                                                                                    
Б). Либо(если хотите гистограмму) - val2 присваивать ценовое значение отличное от val1  (допустим если val1=low, то val2=high  )

## OSS_5 — 2025-12-11 01:04

> Цитата (ludaedFX):
> Забирай

Списка объектов нет.  🧐  🤔

## Farron — 2025-12-11 09:17

> Цитата (Hochuh):
> Вы зачем то сделали val2 = **EMPTY_VALUE**;(пусто) и выбрали отображение **DRAW_HISTOGRAM**.  А у заливок и гистограмм нужны две точки - верх-низ. Т.е. нужно
>                                                                                                                                                   A). либо сделать отображение, которым достаточно одной ценовой метки Line,ARROW.
> Б). Либо(если хотите гистограмму) - val2 присваивать ценовое значение отличное от val1  (допустим если val1=low, то val2=high  )

Тогда вот оригинал индикатора ! Можете сделать поглощение свеч по логике : 
1.Логика для бычьего поглощения: 
Открытие текущей свечи больше закрытия
Открытие предыдущей свечи меньше закрытия
Открытие предыдущей свечи больше закрытия
Минимум текущей свечи ниже минимума предыдущей
Закрытие текущей свечи выше максимума предыдущей.
========================================
2.Логика для медвежьего поглощения:
Открытие текущей свечи меньше закрытия
Открытие предыдущей свечи больше закрытия
Открытие предыдущей свечи меньше закрытия
Максимум текущей свечи выше максимума предыдущей
Закрытие текущей свечи ниже минимума предыдущей.

## Hochuh — 2025-12-11 09:49

> Цитата (OSS_5):
> Списка объектов нет.  🧐  🤔

Добавил выбор - через объекты или через буферы отображать. мало-то какой способ нужен))

## felicitas67868 — 2025-12-11 10:21

> Цитата (felicitas67868):
> точно такой же как несколько постов выше, 40 предупреждений в компиляторе
>
>
> и не одной открытой сделке в тестере и на терминале

Господа гуру, может всё таки поможете с этим советником, уж очень надо завести его... Всех с наступающим НГ [изображение: https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f973.png]  [изображение: https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f973.png]  [изображение: https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f973.png]

## Hochuh — 2025-12-11 11:05

> Цитата (Farron):
> Тогда вот оригинал индикатора ! Можете сделать поглощение свеч по логике :
> ...

Вы и сами можете внести свои условия. Просто в текущем виде задания у вас последнее условие исключает предыдущее(второй-третий пункт то же фиг поймешь где какой клоз). Нарисуйте две вечки с нумерацией 1,2 и по порядку напишите с соответствующей нумерацией условия(С1>C2, H2>L1 и т.д.). Тогда будет все четко работать.

## Zxspectrum — 2025-12-11 12:58

все равно как то не то...

## Макс777 — 2025-12-13 15:00

> Цитата (BUT):
> Алерты добавил.
> Стрелки уже были буферные:
> 0 - стрелка вверх.
> 1 - стрелка вниз.

Доброго времени,уважаемый BUT-не могли бы ВЫ сделать в прилагаемом индикаторе стрелки буферными,пожалуйста?!

## BUT — 2025-12-15 00:48

> Цитата (Макс777):
> Доброго времени,уважаемый BUT-не могли бы ВЫ сделать в прилагаемом индикаторе стрелки буферными,пожалуйста?!

Здравствуйте! Забирайте.
0 - стрелка вверх.
1 - стрелка вниз.

## imelam — 2025-12-18 21:02

Добрый день! Посмотрите пожалуйста, стрелки в тестере не совпадают со стрелками на истории. Иногда совпадают, иногда нет.  Спасибо!

## Макс777 — 2025-12-19 17:05

> Цитата (BUT):
> Здравствуйте! Забирайте.
> 0 - стрелка вверх.
> 1 - стрелка вниз.

Огромное спасибо,добрый волшебник!)

## Capital Plus — 2025-12-19 17:47

> Цитата (imelam):
> Добрый день! Посмотрите пожалуйста, стрелки в тестере не совпадают со стрелками на истории. Иногда совпадают, иногда нет.  Спасибо!

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

В коде есть такие строки:

```
l_ima_20 = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, li_100 + 1);
l_irsi_60 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, li_100 + 1);
```

Обратите внимание на li_100 **+ 1. **Это значит, что индикатор смотрит на **следующий** бар относительно текущего.

По сути, это индикатор, который хорошо выглядит на истории, но бесполезен в реальной торговле.

## imelam — 2025-12-19 19:47

> Цитата (Capital Plus):
> Индикатор использует нечестный прием - он заглядывает в будущее, что невозможно в реальной торговле. В тестере он показывает реальные результаты, но на исторической отрисовке может использовать будущие значения.
>
> В коде есть такие строки:
> 
```
l_ima_20 = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, li_100 + 1);
> l_irsi_60 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, li_100 + 1);
```

>
> Обратите внимание на li_100 **+ 1. **Это значит, что индикатор смотрит на **следующий** бар относительно текущего.
>
> По сути, это индикатор, который хорошо выглядит на истории, но бесполезен в реальной торговле.

Огромное спасибо!!

## imelam — 2025-12-19 21:37

> Цитата (Capital Plus):
> Индикатор использует нечестный прием - он заглядывает в будущее, что невозможно в реальной торговле. В тестере он показывает реальные результаты, но на исторической отрисовке может использовать будущие значения.
>
> В коде есть такие строки:
> 
```
l_ima_20 = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, li_100 + 1);
> l_irsi_60 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, li_100 + 1);
```

>
> Обратите внимание на li_100 **+ 1. **Это значит, что индикатор смотрит на **следующий** бар относительно текущего.
>
> По сути, это индикатор, который хорошо выглядит на истории, но бесполезен в реальной торговле.

В тестере он работает с этим +1 и часть сигналов ( иногда бОльшая) соответствует истории на живом графике. А если удалить эту строчку? Получается она в тестере и на живом графике не нужна?

## Capital Plus — 2025-12-19 22:30

> Цитата (Capital Plus):
> ...
> В коде есть такие строки:
> 
```
l_ima_20 = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, li_100 + 1);
> l_irsi_60 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, li_100 + 1);
```

>
> Обратите внимание на li_100 **+ 1. **Это значит, что индикатор смотрит на **следующий** бар относительно текущего.
> ...

Не те строчки скопировал. Там индексация в другую сторону, и будущее - это минусовые.
Но это неважно, те строчки просто выше стоят по порядку.

> Цитата (imelam):
> В тестере он работает с этим +1 и часть сигналов ( иногда бОльшая) соответствует истории на живом графике. А если удалить эту строчку? Получается она в тестере и на живом графике не нужна?

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

## lain7123 — 2025-12-22 11:01

Может ли кто-нибудь предоставить мне опцию EA «не принимать последовательные сигналы одного типа», чтобы при появлении двух последовательных сигналов на покупку или продажу принимался только первый из них.

---

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