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

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

---

## lapigna — 2026-03-04 00:21

Per favore, alcuni programmatori potrebbero aggiungere avvisi (acquisto, vendita, neutrale) sonori e notifiche push sul cellulare (possibilmente alla chiusura di OGNI candela) sull'indicatore Powersystem MT5. Grazie mille in anticipo.

## deadsoul — 2026-03-04 00:53

> Цитата (lapigna):
> Per favore, alcuni programmatori potrebbero aggiungere avvisi (acquisto, vendita, neutrale) sonori e notifiche push sul cellulare (possibilmente alla chiusura di OGNI candela) sull'indicatore Powersystem MT5. Grazie mille in anticipo.

Как настроить мобильные уведомления: Если вы ещё не настроили Push-уведомления в MT5: Откройте мобильное приложение MT5 на телефоне, перейдите в Настройки > Сообщения и найдите свой MetaQuotes ID (код из 8 символов). В десктопной версии MT5 перейдите в Сервис > Настройки > Уведомления. Установите галочку «Включить Push-уведомления». Введите ваш MetaQuotes ID и нажмите «Проверить». Если телефон издаст звуковой сигнал — настройка завершена успешно!

## lapigna — 2026-03-04 01:13

> Цитата (deadsoul):
> Come impostare le notifiche push su dispositivi mobili: se non hai ancora impostato le notifiche push su MT5, apri l'app mobile di MT5 sul tuo telefono, vai su Impostazioni > Messaggi e trova il tuo ID MetaQuotes (codice di 8 caratteri). Nella versione desktop di MT5, vai su Strumenti > Impostazioni > Notifiche. Seleziona la casella "Abilita notifiche push". Inserisci il tuo ID MetaQuotes e clicca su "Test". Se il telefono emette un segnale acustico, la configurazione è avvenuta correttamente!

WOW! So fast, and so complete. I thank you very much, appreciate your reply. Many many thanks again.

## berlioz — 2026-03-05 20:51

Еще раз обращаюсь с просьбой, очень надо.
Эксперт в таком виде работает без проблем.
if(triger == 2) - открываем 2 лота Buy (Lots*2). Sell - аналогично.
Помогите прописать возможнось закрытия одного лота из 2 открытых т.е
if triger == 1 - закрыть 1 лот Buy.
if triger == -1 - закрыть 1 лот Sell.

ИванМН посоветовал такой вариант, но я не могу это прописать.
" Вы имеете в виду частичное закрытие позиции? Просто указываете в функции OrderClose необходимую лотность и всё. Только не забудьте нормализовать количество лотов перед отправкой приказа. 
У Вас закроется требуемый объём, на оставшуюся часть терминалом будет создана новая позиция с новым номером ("тикетом"). 
И добавится соответствующий комментарий к закрывшейся и оставшейся частям ".
Спасибо сочувствующим.

## deadsoul — 2026-03-05 21:52

> Цитата (berlioz):
> Еще раз обращаюсь с просьбой, очень надо.
> Эксперт в таком виде работает без проблем.
> if(triger == 2) - открываем 2 лота Buy (Lots*2). Sell - аналогично.
> Помогите прописать возможнось закрытия одного лота из 2 открытых т.е
> if triger == 1 - закрыть 1 лот Buy.
> if triger == -1 - закрыть 1 лот Sell.
>
> ИванМН посоветовал такой вариант, но я не могу это прописать.
> " Вы имеете в виду частичное закрытие позиции? Просто указываете в функции OrderClose необходимую лотность и всё. Только не забудьте нормализовать количество лотов перед отправкой приказа.
> У Вас закроется требуемый объём, на оставшуюся часть терминалом будет создана новая позиция с новым номером ("тикетом").
> И добавится соответствующий комментарий к закрывшейся и оставшейся частям ".
> Спасибо сочувствующим.

Сводная таблица работы триггеров

ТриггерДействие

2Закрыть все Sell → Открыть Buy с Lots*2

-2Закрыть все Buy → Открыть Sell с Lots*2

**1****Частично закрыть Buy на Lots (из Lots*2 останется Lots)**

**-1****Частично закрыть Sell на Lots (из Lots*2 останется Lots)**

0Закрыть всё

Как это работает

- **trigger == 2** — открывается позиция Buy объёмом Lots*2 (например, 0.02)

- **trigger == 1** — вызывается PartialClose_ord_by_type(OP_BUY, Lots), которая передаёт в OrderClose объём Lots (например, 0.01) вместо полного объёма позиции

- Терминал **закрывает** указанную часть и **создаёт новую позицию** с новым тикетом на оставшийся объём (0.01)

- Magic number и символ сохраняются, поэтому советник продолжает корректно отслеживать позицию через ord_in_market()

Аналогично работает для Sell с триггерами -2 и -1.

## ale9551 — 2026-03-08 07:50

> Цитата (deadsoul):
> Краткое описание всех изменений
> Подробности о функциях
> UseMoneyManagement true → лоты рассчитываются на основе капитала; false → используется фиксированное значение лотов
> RiskPercent Процент от капитала счета, используемый для определения размера лота (по умолчанию 2%)
> DecreaseFactor Сохраняется из исходного значения — уменьшает лот после последовательных убытков
> Нормализация лота Привязана к MODE_LOTSTEP, ограничена диапазоном MODE_MINLOT / MODE_MAXLOT
> MaxSpreadPoints Максимально допустимый спред в пунктах; 0 = фильтр отключен
> IsSpreadAllowed() Вызывается в CheckForOpen() — пропускает сделку и регистрирует сообщение, если спред слишком большой
> ReverseSignals false = исходная логика (crossDown→BUY, crossUp→SELL); true = обратная (crossDown→SELL, crossUp→BUY)
> Теперь проверяется значение возвращаемого значения OrderSend для сообщений об ошибках; Ошибки, выведенные в журнал
> Округление партии Исправлено в исходном коде NormalizeDouble(..., 01) → правильное округление до 2 знаков после запятой с шагом партии

Уважаемый deadsoul! Не могли бы вы добавить в вашу модификацию ещё 2 небольших параметра: 1.Время работы советника
2. Магик номер
Заранее благодарен!

## superhonda498 — 2026-03-08 11:59

Уважаемые программисты!!! Прошу помощи. Сделайте пожалуйста буферные стрелки......

## deadsoul — 2026-03-08 19:07

> Цитата (ale9551):
> Уважаемый deadsoul! Не могли бы вы добавить в вашу модификацию ещё 2 небольших параметра: 1.Время работы советника
> 2. Магик номер
> Заранее благодарен!

## deadsoul — 2026-03-08 19:23

> Цитата (superhonda498):
> Уважаемые программисты!!! Прошу помощи. Сделайте пожалуйста буферные стрелки......

Я обновил код и добавил BufferBUY (Буфер 6) и BufferSEL (Буфер 7). Я также изменил функцию DrawARROW, чтобы она записывала значения цены в эти буферы до отрисовки графических объектов. Это значит, что твой советник (EA) сможет считывать сигналы, даже если в настройках индикатора на графике выбрать ShowArrows = HideArrows. Вот твой обновленный код

## ale9551 — 2026-03-08 19:42

> Цитата (deadsoul):
>

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

## petya21472147 — 2026-03-08 20:46

ПРиветсвую, уберите бедте добры все остальное кроме продажа покупка, тоесть оставте таблички 0

## deadsoul — 2026-03-08 22:29

> Цитата (petya21472147):
> ПРиветсвую, уберите бедте добры все остальное кроме продажа покупка, тоесть оставте таблички 0

## petya21472147 — 2026-03-08 23:03

> Цитата (deadsoul):
>

Надо оставить только long,short надпись!

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

## deadsoul — 2026-03-08 23:20

> Цитата (petya21472147):
> Хотябы, было неплохо если бы добавили звуковое оповещение и табличку .... уважаемые программисты...

## petya21472147 — 2026-03-09 00:02

> Цитата (deadsoul):
>

Благодарю

## superhonda498 — 2026-03-09 09:23

> Цитата (deadsoul):
> Я обновил код и добавил BufferBUY (Буфер 6) и BufferSEL (Буфер 7). Я также изменил функцию DrawARROW, чтобы она записывала значения цены в эти буферы до отрисовки графических объектов. Это значит, что твой советник (EA) сможет считывать сигналы, даже если в настройках индикатора на графике выбрать ShowArrows = HideArrows. Вот твой обновленный код

огромное спасибо.....

## saw — 2026-03-09 09:54

> Цитата (superhonda498):
> огромное спасибо.....

запаздывает?

## petya21472147 — 2026-03-09 11:26

> Цитата (saw):
> запаздывает?

ДА,

## berlioz — 2026-03-09 13:58

> Цитата (petya21472147):
> ДА,

Уважаемый deadsoul! Можбыть я не все понимаю, обьясните пожалуйста.
Я прикрепил код _DBL_SHsq.mq4 для доработки, Вы выложили код _DBL_SHsq(1)-MOD.mq4.
Значит ли это,что код был доработан ?
Но этот MOD.mq4 не работает. Стоит ли ждать следующего MOD.mq4 ?

## Billy Kid — 2026-03-09 14:21

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

---

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