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

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

---

## Iulian — 2026-03-11 10:24

> Цитата (Alchu):
> Will you share?

## G00dwin — 2026-03-12 23:21

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

## deadsoul — 2026-03-13 00:29

> Цитата (G00dwin):
> Можете помочь с отображением свечей в подвале, похожих на терминальные? Потому что тут какое-то безобразие получилось, особенно когда они переворачиваются.

## G00dwin — 2026-03-13 10:07

> Цитата (deadsoul):
> Большущее спасибо! Вы очень выручили.

## phartovy — 2026-03-13 12:18

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

## deadsoul — 2026-03-13 16:21

> Цитата (phartovy):
> Доброго дня всем! Подправьте пожалуйста индикатор под новые билды, сильно грузит терминал. Если не трудно, оптимизируйте код и добавьте в настройки количество отображаемых закрытых ордеров. В похожем видел такую настройку, ставишь
> меньше ордеров-меньше нагрузка.
> Заранее благодарю!

Вот оптимизированная версия с параметром MaxClosedOrders и рядом улучшений производительности.

## berlioz — 2026-03-13 17:01

Уважаемые форумчане.
Я пытался получить помощь в доработке моего Эксперта  _DBL_SHsq.mq4 , но как-то не сложилось.
Не смог получить помощь и на козырном форуме MQL5, хотя по моему мнению, задача как для среднего уровня владеющих mql4.
Попрошу подсказать мне где найти библиотеку, где можно скачать готовые скрипты (думаю наверняка существуют такие), чтобы попытаться
самостоятельно попробовать решить мою задачу. Скрипты типа : Открыть позицию, Закрыть позицию ...
Я не владею тонкостями mql.
Буду премного благодарен.

## Skyrider — 2026-03-13 17:32

> Цитата (Billy Kid):
> Просьба отменяется.
> Уже сделали

Почему-то рисует только сверху. Восходящие тренды снизу не показывает.

## ZenFX — 2026-03-14 00:28

> Цитата (berlioz):
> Я пытался получить помощь в доработке моего Эксперта _DBL_SHsq.mq4 , но как-то не сложилось.

Скорее всего был неправильно сформулированный вопрос... Надо задать его ЧЁТЧЕ, ЧЕТЧЕЕ ))), еще раз ))).

## S.McDuck — 2026-03-14 11:15

> Цитата (berlioz):
> Я не владею тонкостями mql.

А ты хоть маломальски в программирование соображаешь?
Ты эти куски кода сам вставить сможешь?

## berlioz — 2026-03-14 14:58

Ну, если соображаешь - вставь эти куски и доработай эксперт.
Эксперт Buy and Sell ордера отрабатывает  без проблем.
Если открыты 2 лота  необходимо закрыть 1 лот.
if(triger == 2) - открываем 2 лота Buy (Lots*2). Sell - аналогично.
а именно :
if triger == 1 - закрыть 1 лот Buy.
if triger == -1 - закрыть 1 лот Sell.

Я работаю в TradeStation 9.1 ( язык EasyLanguage )  - тут это пишется и работает элементарно.

вот код

## deadsoul — 2026-03-14 19:14

> Цитата (berlioz):
> Ну, если соображаешь - вставь эти куски и доработай эксперт.
> Эксперт Buy and Sell ордера отрабатывает  без проблем.
> Если открыты 2 лота  необходимо закрыть 1 лот.
> if(triger == 2) - открываем 2 лота Buy (Lots*2). Sell - аналогично.
> а именно :
> if triger == 1 - закрыть 1 лот Buy.
> if triger == -1 - закрыть 1 лот Sell.
>
> Я работаю в TradeStation 9.1 ( язык EasyLanguage )  - тут это пишется и работает элементарно.
>
> вот код

Если я правильно понимаю,
Что было добавлено/изменено
Описание элемента
_buy_lots, _sell_lots Глобальные переменные — общий объем открытых лотов покупки/продажи
ord_in_market() Теперь, помимо флагов, _buy/_sell накапливает лоты (+= OrderLots())
Close_partial_by_type() Новая функция — частичное закрытие: находит первый ордер требуемого типа и закрывает ровно Lots из него (не весь ордер)
trigger == 1 Если открытый ордер на покупку ≥ Lots*2 → вызывает Close_partial_by_type(OP_BUY, Lots) — закрывает 1 лот, оставляя 1 лот
trigger == -1 Если открытый ордер на продажу ≥ Lots*2 → вызывает Close_partial_by_type(OP_SELL, Lots) — закрывает 1 лот, оставляя 1 лот
Логика сигнала (общая)
trigger Действие
2 Закрыть продажу → Открыть покупку × Лоты*2
1 Частично закрыть покупку: Лоты*2 → Лоты
0 Закрыть все
-1 Частично закрыть продажу: Лоты*2 → Лоты
-2 Закрыть покупку → Открыть продажу × Лоты*2

## ZenFX — 2026-03-14 23:26

Изменяется параметр из DLL или нет, как он сигналит, надо разобраться изначально с этим. Если он не изменяется там и висит (то же значение в нём), надо значит проверять его на изменение уже в эксперте на mql.  2 ордера указанным лотом открылись, один ордер закрыть надо... какой ? Старший по времени или младший ? Пишутся универсальные функции, типа openOrderSerie, где в параметрах указывается лот ордера и количество ордеров для открытия и так далее там. Создаётся структура Order, с полями, куда сохраняются данные ордеров. Пишется функция checkOrders, которая по соответствующему сигналу в массив структур собирает данные об открытых ордерах по данному инструменту, меджику и типу (OP_BUY/OP_SELL), их тикет, лот, цену  открытия/закрытия и так далее... Пишется функция closeOrderSerie, в которую передается массив с данными об открытых ордерах, количество ордеров которые надо закрыть и параметр со старшего по времени или младшего надо закрывать... ну как то типа того... )
P.S. А не вот типа - я открыл 2 лота, 1 лот мне надо закрыть ))).

## berlioz — 2026-03-15 09:54

Ребята, спасибо за сочувствие.

Алгоритм работы DLL такой:

If AA > BB  Then 
Begin
    Buy 2 Lots This Bar at Close ;
    triger == 2 ;
End;

If Marketposition == 1 And triger == 2 Then
Begin 
    Sell 1 Lots Next Bar at (Entryprice + 50 point) Limit;
    triger == 1 ;
    StopLos == (Entryprice - 50 point);
    ProfitLevel == (Entryprice + 100 point);
End;

If Marketposition == 1 And triger == 1 Then
Begin
    Close All Next Bar at StopLos stop;
    Close All Next Bar at ProfitLevel stop;
    triger == 0 ;
End ;    

// Marketposition == 1 - открыт ордер BUY .
// Marketposition == -1 - открыт ордер Sell .
// Entryprice == Close открытого ордера .
DLL брал здесь: [FX1 | SharedVar - Key-Value Storage for Traders and Quants](https://fx1.net/sharedvar.php)

## S.McDuck — 2026-03-15 10:50

> Цитата (berlioz):
> Ребята, спасибо за сочувствие.
>
> Алгоритм работы DLL такой:
>
> If AA > BB  Then
> Begin
>     Buy 2 Lots This Bar at Close ;
>     triger == 2 ;
> End;
>
> If Marketposition == 1 And triger == 2 Then
> Begin
>     Sell 1 Lots Next Bar at (Entryprice + 50 point) Limit;
>     triger == 1 ;
>     StopLos == (Entryprice - 50 point);
>     ProfitLevel == (Entryprice + 100 point);
> End;
>
> If Marketposition == 1 And triger == 1 Then
> Begin
>     Close All Next Bar at StopLos stop;
>     Close All Next Bar at ProfitLevel stop;
>     triger == 0 ;
> End ;
>
> // Marketposition == 1 - открыт ордер BUY .
> // Marketposition == -1 - открыт ордер Sell .
> // Entryprice == Close открытого ордера .
> DLL брал здесь: [FX1 | SharedVar - Key-Value Storage for Traders and Quants]('https://fx1.net/sharedvar.php')

Ты отремонтировал чё хотел?

## sergik116 — 2026-03-15 11:30

> Цитата (berlioz):
> Ребята, спасибо за сочувствие.
>
> Алгоритм работы DLL такой:
>
> If AA > BB  Then
> Begin
>     Buy 2 Lots This Bar at Close ;
>     triger == 2 ;
> End;
>
> If Marketposition == 1 And triger == 2 Then
> Begin
>     Sell 1 Lots Next Bar at (Entryprice + 50 point) Limit;
>     triger == 1 ;
>     StopLos == (Entryprice - 50 point);
>     ProfitLevel == (Entryprice + 100 point);
> End;
>
> If Marketposition == 1 And triger == 1 Then
> Begin
>     Close All Next Bar at StopLos stop;
>     Close All Next Bar at ProfitLevel stop;
>     triger == 0 ;
> End ;
>
> // Marketposition == 1 - открыт ордер BUY .
> // Marketposition == -1 - открыт ордер Sell .
> // Entryprice == Close открытого ордера .
> DLL брал здесь: [FX1 | SharedVar - Key-Value Storage for Traders and Quants]('https://fx1.net/sharedvar.php')

а сюда длл выгрузить?

## berlioz — 2026-03-15 11:55

please

## superhonda498 — 2026-03-15 12:57

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

## Andpriser — 2026-03-18 06:37

Помогите ,пожалуйста, вывести на  экран  отображение стопа  и  тейка  .Сам  не  смог ))

## lukich555 — 2026-03-18 15:21

Здравствуйте. сделайте пожалуйста индикатор тма гистограмму. красная стрелка, полоса гисто красного цвета до синей стрелки, полоса гисто синего цвета до красной стрелки.

---

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