Скрипт для MT5: CloseAllProfitPositions
Скрипт CloseAllProfitPositions предназначен для автоматического закрытия всех прибыльных позиций в торговом терминале MetaTrader 5. Он может быть полезен трейдерам, которые хотят оперативно зафиксировать прибыль на всех открытых сделках.
Основные характеристики:
1. Закрытие только прибыльных позиций, где текущая прибыль больше нуля.
2. Поддержка всех финансовых инструментов и типов ордеров.
3. Простота использования – скрипт запускается одним кликом.
Код скрипта:
//+------------------------------------------------------------------+
//| Скрипт: CloseAllProfitPositions.mq5 |
//| Назначение: Закрытие всех прибыльных позиций |
//+------------------------------------------------------------------+
#property copyright "Fin-Gate"
#property version "1.00"
#property script "Close All Profit Positions"
#include <Trade\Trade.mqh> // Работа с торговыми операциями
CTrade trade; // Создаем объект для торговли
//+------------------------------------------------------------------+
//| Функция проверки и закрытия прибыльных позиций |
//+------------------------------------------------------------------+
void CloseProfitPositions()
{
int total_positions = PositionsTotal(); // Получаем количество открытых позиций
for (int i = total_positions - 1; i >= 0; i--) // Перебор всех позиций
{
ulong ticket = PositionGetTicket(i); // Получаем тикет позиции
if (PositionSelectByTicket(ticket)) // Если позиция выбрана
{
double profit = PositionGetDouble(POSITION_PROFIT); // Текущая прибыль
if (profit > 0) // Проверяем, прибыль ли позиция
{
string symbol = PositionGetString(POSITION_SYMBOL); // Инструмент
if (trade.PositionClose(symbol)) // Закрываем позицию
{
PrintFormat("Позиция по %s с тикетом %d закрыта. Прибыль: %.2f", symbol, ticket, profit);
}
else
{
PrintFormat("Ошибка закрытия позиции по %s с тикетом %d. Код ошибки: %d", symbol, ticket, GetLastError());
}
}
}
}
}
//+------------------------------------------------------------------+
//| Точка входа в скрипт |
//+------------------------------------------------------------------+
void OnStart()
{
Print("Скрипт CloseAllProfitPositions запущен");
CloseProfitPositions();
Print("Скрипт завершил выполнение");
Инструкция по использованию:
1. Сохраните код в файле с именем CloseAllProfitPositions.mq5 в папке MQL5\Scripts вашего терминала MT5.
2. Перезагрузите терминал MetaTrader 5, чтобы скрипт появился в разделе “Навигатор → Скрипты”.
3. Перетащите скрипт на график или дважды кликните по его названию.
4. Все прибыльные позиции будут закрыты автоматически.
Преимущества скрипта:
• Быстрая фиксация прибыли на всех сделках.
• Удобство и простота использования.
• Экономия времени при большом количестве позиций.
Примечание: Перед использованием убедитесь, что у вас включена торговля алгоритмическими средствами (опция “Разрешить автоматическую торговлю”).
Заключение:
Скрипт CloseAllProfitPositions – это полезный инструмент для трейдеров, которые хотят мгновенно закрыть все прибыльные позиции. Он минимизирует необходимость ручных действий и помогает эффективно управлять рисками.