MultiPositionExpert_v1.1
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «multipositionexpert_v11.11.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
MultiPositionExpert_v1.1 — торговый советник для MetaTrader 4, предназначенный для мониторинга и управления несколькими открытыми позициями одновременно. Он подсчитывает суммарную прибыль по всем позициям в пунктах или долларах США и отображает информацию на графике.
Советник позволяет задать целевую прибыль и максимально допустимый убыток. При достижении заданных лимитов он может автоматически закрыть все открытые ордера. Также доступен ручной режим принудительного закрытия всех позиций.
Фильтрация позиций осуществляется с помощью магического числа: можно управлять либо всеми позициями (значение 0), либо только позициями с заданным магическим числом. Функциональность подтверждена наличием обработчика start() и работы с торговыми API MQL4.
Продукт не включает собственные торговые стратегии открытия позиций — он только отслеживает уже открытые ордера и управляет их закрытием на основе заданных пользователем параметров.
Настройки программы
| Настройка | Описание |
|---|---|
| ExpertName | Имя советника — Текстовый параметр, задающий имя советника (по умолчанию «MultiPositionExpert_v1») |
| Data | Данные — Текстовый параметр, используемый для передачи входных данных (содержимое по умолчанию — « Input Data ») |
| Stop of Manage Account switch(Close All Trades) (StopManageAcc) | Остановка управления счётом — Логический переключатель. При значении true советник немедленно закрывает все открытые позиции |
| Magic Number ( 0 - for All positions) (Magic) | Магическое число — Целочисленный параметр — магическое число для фильтрации позиций. Значение 0 означает все позиции |
| UsePips | Использовать пункты — Логический переключатель. При значении true цели прибыли и убытка задаются в пунктах, при false — в долларах США |
| Profit target in pips or USD (ProfitTarget) | Целевая прибыль — Числовой параметр — целевая совокупная прибыль в пунктах или долларах США |
| Maximum total loss in pips or USD (MaxLoss) | Максимальный убыток — Числовой параметр — максимально допустимый совокупный убыток в пунктах или долларах США |
Поиск по коду файла
#include <stdlib.mqh>
extern string ExpertName = "MultiPositionExpert_v1";
extern string Data = " Input Data ";
extern bool StopManageAcc = false; // Stop of Manage Account switch(Close All Trades)
extern int Magic = 0; // Magic Number ( 0 - for All positions)
extern bool UsePips = true;
extern double ProfitTarget = 100; // Profit target in pips or USD
extern double MaxLoss = 100; // Maximum total loss in pips or USD
int totalPips=0;
double totalProfits=0;
bool CloseSignal=false;
int init()
{
// код доступен только после оплаты
}
int ScanOpenTrades()
{
int total = OrdersTotal();
int numords = 0;
for(int cnt=0; cnt<=total-1; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS);
if(OrderType()<=OP_SELL)
{
if(Magic > 0) if(OrderMagicNumber() == Magic) numords++;
if(Magic == 0) numords++;
}
}
return(numords);
}
void OpenOrdClose()
{
int total=OrdersTotal();
for (int cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS);
int mode=OrderType();
bool res = false;
bool condition = false;
if ( Magic>0 && OrderMagicNumber()==Magic ) condition = true;
else if ( Magic==0 ) condition = true;
if (condition && ( mode==OP_BUY || mode==OP_SELL ))
{
if(mode==OP_BUY)
{
res = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Yellow);
if( !res )
{
Print(" BUY: OrderClose failed with error #",GetLastError());
Print(" Ticket=",OrderTicket());
Sleep(3000);
}
break;
}
else
if( mode == OP_SELL)
{
res = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,White);
if( !res )
{
Print(" SELL: OrderClose failed with error #",GetLastError());
Print(" Ticket=",OrderTicket());
Sleep(Показано первые 50% кода (символов: 2774)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.