mgv10-block.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mgv10-block.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник предназначен для автоматической работы на рынке: он размещает отложенные ордера типа BUYSTOP и SELLSTOP, управляет их параметрами и осуществляет закрытие позиций при достижении заданного уровня прибыли.
В работе используются пользовательские настройки начального лота, расстояния между ордерами, стратегии увеличения лота и тейк-профита. Советник также включает встроенную кнопку «CLOSE ALL» для быстрого закрытия всех открытых позиций и ордеров на графике.
Торговые операции выполняются через стандартные API MetaTrader 4, включая отправку, модификацию и удаление ордеров. Советник фильтрует ордера по символу и идентификатору, обеспечивая работу только с собственными позициями. Перед началом работы выполняется проверка авторизации, привязанная к номеру торгового счёта.
Продукт не содержит встроенных библиотек и работает как автономный эксперт-советник с обработкой событий OnInit, OnDeinit и OnTick.
Настройки программы
| Настройка | Описание |
|---|---|
| Lot | Начальный размер лота для открытия торговых позиций. |
| Step | Расстояние между ордерами, задаваемое в пунктах базового инструмента. |
| Nap_strategy | Стратегия увеличения лота: умножение (Мартингейл), прибавление фиксированного значения или отключение. |
| K | Коэффициент, применяемый при расчёте размера лота в зависимости от выбранной стратегии увеличения. |
| TP | Тейк-профит в валюте депозита, при достижении совокупной прибыли которого происходит закрытие всех позиций. |
| ExpertID | Идентификатор советника, используемый для привязки и фильтрации торговых ордеров. |
| Sleeppage | Допустимое прокальзывание цены при открытии ордеров. |
Поиск по коду файла
#property version "1.00"
#property strict
extern double Lot = 0.01;//Первоначальный лот
extern int Step = 1000;//Расстояние между ордерами
enum Enum_strategy {num1 = 1/* Мартингейл (умножение) */, num2 = 2/* Прибавление лота */, num3 = 3/* Выключено */};
input Enum_strategy Nap_strategy = 2;//Увеличение лота
extern double K = 0.01;//Коэффициент
extern double TP = 10;//Тейк профит (в валюте депозита)
extern int ExpertID = 5551555;//Регистрационный номер
extern int Sleeppage = 30;//Прокальзывание
extern int KEY = *;//Ключ (к номеру счета)
double ssg;
int all;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
// код доступен только после оплаты
}
int OrderOpen(int Order_Type, double Order_Lot, int Order_Slippage, int OrderSL, double OrderTP, string Order_Comment, int Order_Magic, color Order_Color,double SSGs) {
int U;
double SLbs = 0;
double TPbs = 0;
double SLss = 0;
double TPss = 0;
if(OrderSL > 0){SLbs = SSGs-OrderSL*Point; SLss = SSGs+OrderSL*Point;}
if(OrderTP > 0){TPbs = SSGs+OrderTP*Point; TPss = SSGs-OrderTP*Point;}
if(Order_Type == OP_BUYSTOP)U = OrderSend(Symbol(),Order_Type,Order_Lot,NormalizeDouble(SSGs,Digits),Order_Slippage,NormalizeDouble(SLbs,Digits),NormalizeDouble(TPbs,Digits),Order_Comment,Order_Magic,0,Order_Color);
if(Order_Type == OP_SELLSTOP)U = OrderSend(Symbol(),Order_Type,Order_Lot,NormalizeDouble(SSGs,Digits),Order_Slippage,NormalizeDouble(SLss,Digits),NormalizeDouble(TPss,Digits),Order_Comment,Order_Magic,0,Order_Color);
return(0);
}
int Orders(int type) {
int i=0, c=0;
for (i = OrdersTotal()-1; i>=0; i--) {
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if(OrderType()==type && OrderSymbol()==Symbol() && OrderMagicNumber() == ExpertID)
c++;
}
return(c);
}
int DELL(){
for(int ig44=OrdersTotal()-1;ig44>=0;ig44--)
{
if(OrderSelect(ig44,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol() && OrderMagicNumber() == ExpertID)
{
if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP)bool FD = OrderDelete(OrderTicket());
if(OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP)bool FD = OrderDelete(OrderTicket());
}
}
return(0);
}
int POS(){
int res = 0;
for(int ig44=OrdersTotal()-1;ig44>=0;ig44--)
{
if(OrderSelect(ig44,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol() && OrderMagicNumber() == ExpertID)
{
if(OrderType() == OP_BUY)res = 1;
if(OrderType() == OP_SELL)res = 2;
if(res > 0)break;
}
Показано первые 50% кода (символов: 6280)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.