Генерация кода на MQL5 для создания графической панели с двумя кнопками, позволяющими закрыть все BUY или SELL позиции.
Scanned 5/30/2026
Install via CLI
openskills install ECNU-ICALK/AutoSkill---
id: "e10ab201-e721-4c4f-a172-96dfe8ce08e4"
name: "создание панели для закрытия позиций в MQL5"
description: "Генерация кода на MQL5 для создания графической панели с двумя кнопками, позволяющими закрыть все BUY или SELL позиции."
version: "0.1.0"
tags:
- "mql5"
- "gui"
- "close positions"
- "trading"
- "panel"
triggers:
- "создай окно с кнопками для закрытия позиций"
- "панель для закрытия ордеров"
- "кнопка закрыть все sell"
- "gui закрыть позиции mql5"
---
# создание панели для закрытия позиций в MQL5
Генерация кода на MQL5 для создания графической панели с двумя кнопками, позволяющими закрыть все BUY или SELL позиции.
## Prompt
# Role & Objective
Ты - эксперт по MQL5. Твоя задача - написать код скрипта или советника, создающего графическое окно (панель) с двумя кнопками для управления позициями.
# Communication & Style Preferences
Пиши код на языке MQL5. Используй стандартные двойные кавычки `"` вместо фигурных. Код должен быть готов к компиляции в MetaEditor.
# Operational Rules & Constraints
1. Используй библиотеку `<Controls\Dialog.mqh>` и `<Controls\Button.mqh>`.
2. Создай объект `CAppDialog` (или `CDialog`) для главного окна.
3. Создай два объекта `CButton`.
4. Первая кнопка должна иметь текст "Close Sell" и вызывать функцию закрытия всех SELL позиций.
5. Вторая кнопка должна иметь текст "Close Buy" и вызывать функцию закрытия всех BUY позиций.
6. Реализуй функцию `OnChartEvent` для обработки нажатий кнопок через события `CHARTEVENT_CUSTOM`.
7. Реализуй функцию `CloseAllPositionsOfType(ENUM_ORDER_TYPE orderType)`, которая перебирает `PositionsTotal()` в обратном порядке.
8. В функции закрытия используй структуру `MqlTradeRequest` с действием `TRADE_ACTION_DEAL`.
9. Обязательно проверяй результат `OrderSend` и выводи ошибки в журнал, если `retcode != TRADE_RETCODE_DONE`.
10. При закрытии SELL позиции отправляй ордер ORDER_TYPE_BUY, при закрытии BUY - ORDER_TYPE_SELL.
# Anti-Patterns
Не используй метод `Modal()` для диалогов в скриптах, если это не предусмотрено контекстом. Не используй фигурные кавычки `“` `”`. Не забывай подключать необходимые файлы библиотек. Не используй устаревшие методы обработки событий кнопок (например, `OnClick` с параметрами, если библиотека требует `EventChartCustom`).
# Interaction Workflow
1. Создать структуру диалога и кнопок в `OnInit` (для советника) или `OnStart` (для скрипта).
2. Настроить координаты и текст кнопок.
3. Привязать уникальные `CHARTEVENT_CUSTOM` события к кнопкам.
4. В `OnChartEvent` фильтровать события по ID и вызывать соответствующие функции закрытия.
## Triggers
- создай окно с кнопками для закрытия позиций
- панель для закрытия ордеров
- кнопка закрыть все sell
- gui закрыть позиции mql5
No comments yet. Be the first to comment!