Basket trading profit protect
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trading profit protect_ea.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Торговый советник для MetaTrader 4, предназначенный для мониторинга и защиты прибыли по корзине торговых позиций. Советник отслеживает совокупный пипсовый профит всех ордеров, привязанных к заданному магическому числу, и при достижении определённых уровней прибыли автоматически закрывает позиции.
В основе работы лежит система поэтапной фиксации прибыли: после достижения начального порога активируется механизм защиты, при котором позиции закрываются при откатах от зафиксированного уровня. Также предусмотрен режим фиксации прибыли при достижении заданного целевого значения в пипсах.
Советник выводит на экран текущую информацию о магическом числе, общем пипсовом профите, объёме зафиксированной прибыли и статусе закрытия позиций. Закрытие ордеров выполняется по текущим рыночным ценам с учётом параметра допустимого отката.
Настройки программы
| Настройка | Описание |
|---|---|
| StartLockPips | Начальный уровень фиксации пипсов — Задаёт минимальный пипсовый профит, при достижении которого активируется механизм защиты прибыли. |
| MagicNumber | Магическое число — Идентификатор ордеров, которые подлежат мониторингу и управлению со стороны советника. |
| CloseAtPipsProfitReached | Закрытие при достижении целевого профита — Переключатель, включающий или отключающий автоматическое закрытие позиций при достижении целевого пипсового профита. |
| ScalpProfitPips | Целевой профит для скальпинга — Значение пипсового профита, при достижении которого происходит закрытие всех мониторимых позиций, если функция включена. |
| AllowTradeClosure | Разрешение закрытия сделок — Переключатель, определяющий, разрешено ли советнику закрывать торговые позиции. |
Поиск по коду файла
#include <WinUser32.mqh>
#include <stdlib.mqh>
#define NL "\n"
extern int StartLockPips=200;
extern int MagicNumber=71946723;
extern bool CloseAtPipsProfitReached=false;
extern int ScalpProfitPips=30;
extern bool AllowTradeClosure=true;
bool CloseAll=false;
int LockedPips=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int CalculatePipsProfit()
{
int Profit=0;
for (int cc=0; cc<OrdersTotal()-1; cc++)
{
OrderSelect(cc,SELECT_BY_POS);
if (OrderMagicNumber()==MagicNumber)
{
if (OrderType()==OP_BUY) double ThisTradeProfit = MarketInfo(OrderSymbol(),MODE_BID)-OrderOpenPrice();
if (OrderType()==OP_SELL) ThisTradeProfit = OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK);
if (MarketInfo(OrderSymbol(),MODE_DIGITS)==4) int multiplier=10000;
if (MarketInfo(OrderSymbol(),MODE_DIGITS)==2) multiplier=100;
ThisTradeProfit = ThisTradeProfit * multiplier;
int iThisTradeProfit=ThisTradeProfit;
Profit=Profit+iThisTradeProfit;
}//if (OrderMagicNumber()==MagicNumber)
}//for (int cc=0; cc<OrdersTotal(); cc++)
return(Profit);
}// end int CalculatePipsProfit()
void CloseAllBasketTrades()
{
CloseAll=false;
Comment("Pips protect point reached. Closing all trades monitored by this ea");
if (!AllowTradeClosure) return;
for (int cc=0; cc<OrdersTotal(); cc++)
{
OrderSelect(cc,SELECT_BY_POS);
if (OrderMagicNumber()==MagicNumber)
{
if (OrderType()==OP_BUY)
{
int ticket=OrderClose(OrderTicket(),OrderLots(), MarketInfo(OrderSymbol(), MODE_BID),5,CLR_NONE);
Показано первые 50% кода (символов: 2682)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.