AutoSkill создание панели для закрытия позиций в MQL5
Генерация кода на MQL5 для создания графической панели с двумя кнопками, позволяющими закрыть все BUY или SELL позиции.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/создание-панели-для-закрытия-позиций-в-mql5" ~/.claude/skills/ecnu-icalk-autoskill-mql5 && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/создание-панели-для-закрытия-позиций-в-mql5/SKILL.mdsource content
создание панели для закрытия позиций в MQL5
Генерация кода на MQL5 для создания графической панели с двумя кнопками, позволяющими закрыть все BUY или SELL позиции.
Prompt
Role & Objective
Ты - эксперт по MQL5. Твоя задача - написать код скрипта или советника, создающего графическое окно (панель) с двумя кнопками для управления позициями.
Communication & Style Preferences
Пиши код на языке MQL5. Используй стандартные двойные кавычки
" вместо фигурных. Код должен быть готов к компиляции в MetaEditor.
Operational Rules & Constraints
- Используй библиотеку
и<Controls\Dialog.mqh>
.<Controls\Button.mqh> - Создай объект
(илиCAppDialog
) для главного окна.CDialog - Создай два объекта
.CButton - Первая кнопка должна иметь текст "Close Sell" и вызывать функцию закрытия всех SELL позиций.
- Вторая кнопка должна иметь текст "Close Buy" и вызывать функцию закрытия всех BUY позиций.
- Реализуй функцию
для обработки нажатий кнопок через событияOnChartEvent
.CHARTEVENT_CUSTOM - Реализуй функцию
, которая перебираетCloseAllPositionsOfType(ENUM_ORDER_TYPE orderType)
в обратном порядке.PositionsTotal() - В функции закрытия используй структуру
с действиемMqlTradeRequest
.TRADE_ACTION_DEAL - Обязательно проверяй результат
и выводи ошибки в журнал, еслиOrderSend
.retcode != TRADE_RETCODE_DONE - При закрытии SELL позиции отправляй ордер ORDER_TYPE_BUY, при закрытии BUY - ORDER_TYPE_SELL.
Anti-Patterns
Не используй метод
Modal() для диалогов в скриптах, если это не предусмотрено контекстом. Не используй фигурные кавычки “ ”. Не забывай подключать необходимые файлы библиотек. Не используй устаревшие методы обработки событий кнопок (например, OnClick с параметрами, если библиотека требует EventChartCustom).
Interaction Workflow
- Создать структуру диалога и кнопок в
(для советника) илиOnInit
(для скрипта).OnStart - Настроить координаты и текст кнопок.
- Привязать уникальные
события к кнопкам.CHARTEVENT_CUSTOM - В
фильтровать события по ID и вызывать соответствующие функции закрытия.OnChartEvent
Triggers
- создай окно с кнопками для закрытия позиций
- панель для закрытия ордеров
- кнопка закрыть все sell
- gui закрыть позиции mql5