Vibrix Group EA
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «vibrix_group_ea@amazing_owner.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Vibrix Group EA — торговый советник для платформы MetaTrader 4, предназначенный для внутридневной scalping-торговли на таймфреймах M15–H1. Советник анализирует рыночные данные с помощью нескольких технических индикаторов и формирует торговые сигналы для открытия и закрытия позиций. Поддерживаются различные типы ордеров: рыночные, стоп-лимитные и лимитные.
В основе логики лежит комбинация скользящих средних, полос Боллинджера, индикатора MACD и осциллятора RSI. Советник отслеживает текущие рыночные условия и открывает сделки в соответствии с выбранным режимом торговли. Пользователь может выбирать между режимами низкого риска, стандартным и агрессивным, а также настраивать разрешённые направления сделок.
Система управления рисками включает фиксированный и процентный стоп-лосс, тейк-профит, а также контроль по денежным значениям прибыли и убытков. Советник поддерживает фильтрацию по торговому времени, опциональный контроль новостного календаря и автоматический расчёт размера лота. Все ордера помечаются магическим номером для идентификации.
Настройки программы
| Настройка | Описание |
|---|---|
| id | Идентификатор — Текстовый идентификатор советника, отображаемый в свойствах эксперта |
| magic | Магический номер — Уникальный номер для идентификации ордеров, открытых данным советником |
| StartTime (00-23) (StartTime) | Время начала — Начало торгового окна в часах (00–23), в течение которого разрешена торговля |
| EndTime (00-23) (EndTime) | Время окончания — Окончание торгового окна в часах (00–23), после которого торговля запрещается |
| Time frame (TimeFrame) | Таймфрейм — Таймфрейм для анализа ценовых данных и формирования сигналов |
| tracking_News | Учёт новостей — Включает или отключает фильтрацию торговых сигналов по новостному календарю |
| Low_Risk_mode | Режим низкого риска — Активирует режим торговли с пониженным уровнем риска |
| Standard_trade_mode | Стандартный режим — Активирует стандартный режим торговли |
| Agressive_trade_mode | Агрессивный режим — Активирует агрессивный режим торговли с повышенной активностью |
| BUY_market_lowRisk | Покупка маркет низкий риск — Разрешает открытие рыночных покупок в режиме низкого риска |
| SELL_market_lowRisk | Продажа маркет низкий риск — Разрешает открытие рыночных продаж в режиме низкого риска |
| BUY_market | Покупка маркет — Разрешает открытие рыночных покупок |
| SELL_market | Продажа маркет — Разрешает открытие рыночных продаж |
| BUY_stop | Покупка стоп — Разрешает открытие стоп-ордеров на покупку |
| SELL_stop | Продажа стоп — Разрешает открытие стоп-ордеров на продажу |
| BUY_limit | Покупка лимит — Разрешает открытие лимитных ордеров на покупку |
| SELL_limit | Продажа лимит — Разрешает открытие лимитных ордеров на продажу |
| Lots | Объём — Фиксированный размер лота для сделок |
| AutoLot | Авто-объём — Процент от свободного маржи для автоматического расчёта размера лота |
| TakeProfitPercent | TP в процентах — Цель прибыли в процентах от текущего баланса для автоматического закрытия всех позиций |
| TakeProfit in Money (All_Prof) | TP в деньгах — Фиксированная цель прибыли в денежных единицах для закрытия всех позиций |
| Stop- Loss in Money (All_Loss) | SL в деньгах — Лимит убытков в денежных единицах для закрытия всех позиций |
| Stop_Loss_Percentage | SL в процентах — Стоп-лосс в процентах от баланса |
| Stop_Loss_on_ATR | SL на ATR — Стоп-лосс, привязанный к значению индикатора ATR |
| tp_sl | Привязка TP/SL — Пояснительный текст о взаимосвязи уровней тейк-профита и стоп-лосса |
| FixTP | Фиксированный TP — Фиксированный тейк-профит в пунктах для открытых позиций |
| MaxStopLoss (15-150) (MaxStopLoss) | Макс. стоп-лосс — Максимальное допустимое значение стоп-лосса в пунктах |
| Minsl (5-150) (Minsl) | Мин. стоп-лосс — Минимальное допустимое значение стоп-лосса в пунктах |
| DeltaStop | Дельта стоп — Отклонение цены для размещения стоп-ордеров |
| DeltaLimit | Дельта лимит — Отклонение цены для размещения лимитных ордеров |
| initialization1 (2-100) (Ma_period) | Период MA — Период скользящей средней для расчёта |
| initialization2 (5-100) (Bb_period) | Период BB — Период полос Боллинджера |
| Fast (5-100) (Fast_emaperiod) | Быстрая EMA — Период быстрой экспоненциальной скользящей средней |
| Slow (5-150) (Slow_emaperiod) | Медленная EMA — Период медленной экспоненциальной скользящей средней |
| Signal (5-150) (Signal_smaperiod) | Период сигнальной SMA — Период сигнальной простой скользящей средней |
| initialization3 (5-50) (Rsi_period) | Период RSI — Период индикатора относительной силы |
| slipage | Проскальзывание — Максимально допустимое проскальзывание в пунктах при исполнении ордеров |
| use_closed_candle | Использовать закрытую свечу — Советник обрабатывает сигналы только на закрытых свечах, игнорируя текущую незавершённую |
Поиск по коду файла
#property version "";
#property strict
#property description "Web site: hrrps://vibrix-ea.tech\nTelegram @VibrixEA\nE-mail: v*********p*@gmail.com\nVibrix Group EA intraday scalper on timeframe M15-H1.\nThe input parameters are optimized for XAUUSD";
extern string id = "Vibrix Group EA, Telegram @VibrixEA";
extern int magic = 2023;
extern int StartTime; // StartTime (00-23)
extern int EndTime = 24; // EndTime (00-23)
extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Time frame
extern bool tracking_News = true;
extern bool Low_Risk_mode = true;
extern bool Standard_trade_mode;
extern bool Agressive_trade_mode;
extern bool BUY_market_lowRisk = true;
extern bool SELL_market_lowRisk = true;
extern bool BUY_market;
extern bool SELL_market;
extern bool BUY_stop;
extern bool SELL_stop;
extern bool BUY_limit;
extern bool SELL_limit;
extern double Lots = 0.01;
extern double AutoLot;
extern double TakeProfitPercent = 2;
extern double All_Prof = 4; // TakeProfit in Money
extern int All_Loss = 500; // Stop- Loss in Money
extern int Stop_Loss_Percentage = 5;
extern int Stop_Loss_on_ATR = 47;
extern string tp_sl = "The EA uses a take profit equal to the stop";
extern int FixTP = 25;
extern int MaxStopLoss = 40; // MaxStopLoss (15-150)
extern int Minsl = 100; // Minsl (5-150)
extern int DeltaStop = 40;
extern int DeltaLimit = 20;
extern int Ma_period = 10; // initialization1 (2-100)
extern int Bb_period = 17; // initialization2 (5-100)
extern int Fast_emaperiod = 10; // Fast (5-100)
extern int Slow_emaperiod = 19; // Slow (5-150)
extern int Signal_smaperiod = 13; // Signal (5-150)
extern int Rsi_period = 12; // initialization3 (5-50)
extern int slipage = 5;
extern bool use_closed_candle = true;
string Is_00060;
int Ii_0005C;
int Ii_00034;
int Ii_00038;
int Ii_0003C;
int Ii_00040;
int Ii_00044;
int Ii_00048;
int Ii_0004C;
int Ii_00050;
int Ii_00054;
int Ii_00058;
int returned_i;
bool returned_b;
long Gl_00000;
long returned_l;
double Gd_00000;
double Gd_00001;
double Gd_00002;
double Gd_00003;
double Gd_00004;
bool Gb_00005;
double Ind_000;
double Gd_00005;
double Gd_00006;
bool Gb_00006;
int Gi_00006;
int Gi_00007;
double Gd_00008;
int Gi_00009;
double Gd_00009;
double Gd_0000A;
int Gi_0000B;
bool Gb_0000B;
double Gd_0000B;
double Ind_003;
int Gi_0000C;
int Gi_0000D;
int Gi_0000E;
int Gi_0000F;
double Id_00000;
int Gi_00010;
double Id_00008;
int Gi_00011;
int Gi_00012;
double Ind_004;
int Ii_0006C;
bool Gb_00013;
int Gi_00013;
int Gi_00014;
double Gd_00015;
int Gi_00015;
int Gi_00016;
int Gi_00017;
int Gi_00018;
int Gi_00019;
int Gi_0001A;
double Gd_0001C;
bool Gb_0001D;
string Gs_0001B;
int Gi_0001F;
int Gi_00020;
int Gi_00021;
int Gi_00022;
int Gi_00023;
int Gi_00024;
int Gi_00025;
int Gi_00026;
int Gi_00027;
double Gd_00026;
double Id_00020;
int Gi_00028;
int Ii_00014;
int Gi_00029;
bool Gb_0002A;
double Gd_0002A;
double Id_00018;
int Gi_0002B;
int Gi_0002C;
bool Gb_0002D;
double Gd_0002D;
double Ind_002;
int Gi_0002E;
int Gi_0002F;
double Gd_0002E;
bool Gb_0002E;
int Gi_00030;
double Gd_00031;
int Gi_00032;
double Gd_00032;
double Gd_00033;
int Gi_00034;
double Gd_00034;
int Gi_00035;
int Gi_00036;
double Gd_00035;
bool Gb_00035;
int Gi_00037;
double Gd_00038;
int Gi_00039;
double Gd_00039;
double Gd_0003A;
int Gi_0003B;
int Ii_00070;
bool Gb_0003B;
int Ii_00074;
double Gd_0003B;
string Is_00028;
int Ii_00010;
bool Gb_0001E;
double Gd_0001E;
int Gi_0001E;
double Gd_0001F;
bool Gb_0001F;
double returned_double;
bool order_check;
int init()
{
// код доступен только после оплаты
}
void OnTick()
{
// код доступен только после оплаты
}
string tmp_str00000;
string tmp_str00001;
string tmp_str00002;
string tmp_str00003;
string tmp_str00004;
string tmp_str00005;
string tmp_str00006;
string tmp_str00007;
string tmp_str00008;
string tmp_str00009;
string tmp_str0000A;
string tmp_str0000B;
string tmp_str0000C;
string tmp_str0000D;
string tmp_str0000E;
string tmp_str0000F;
string tmp_str00010;
string tmp_str00011;
string tmp_str00012;
string tmp_str00013;
string tmp_str00014;
string tmp_str00015;
string tmp_str00016;
string tmp_str00017;
string tmp_str00018;
string tmp_str00019;
string tmp_str0001A;
string tmp_str0001B;
string tmp_str0001C;
string tmp_str0001D;
string tmp_str0001E;
string tmp_str0001F;
string tmp_str00020;
string tmp_str00021;
double Ld_FFFF8;
double Ld_FFFF0;
string Ls_FFFE0;
bool Lb_FFFDF;
double Ld_FFFD0;
double Ld_FFFC8;
double Ld_FFFC0;
double Ld_FFFB8;
double Ld_FFFB0;
double Ld_FFFA8;
double Ld_FFFA0;
double Ld_FFF98;
int Li_FFF94;
int Li_FFF90;
double Ld_FFF88;
double Ld_FFF80;
long Ll_FFF78;
if(use_closed_candle)
{
if(Bars == Ii_0005C)
return;
Ii_0005C = Bars;
}
if(DayOfWeek() == 0)
return;
if(DayOfWeek() == 6)
return;
if(!IsTradeAllowed())
return;
Ld_FFFF8 = 0;
Gd_00000 = Lots;
Gd_00001 = AccountFreeMargin();
Gd_00002 = MarketInfo(_Symbol, MODE_MARGINREQUIRED);
Gd_00003 = MarketInfo(_Symbol, MODE_MINLOT);
Gd_00004 = MarketInfo(_Symbol, MODE_MAXLOT);
if((Lots < Gd_00003))
{
Gd_00000 = Gd_00003;
}
if((Gd_00000 > Gd_00004))
{
Gd_00000 = Gd_00004;
}
if(((Gd_00000 * Gd_00002) > Gd_00001))
{
Gd_00005 = 0;
}
else
{
Gd_00005 = Gd_00000;
}
Ld_FFFF8 = Gd_00005;
Gd_00006 = AccountEquity();
Ld_FFFF0 = (Gd_00006 - AccountBalance());
if((Ld_FFFF0 >= ((AccountEquity() * TakeProfitPercent) / 100)))
{
tmp_str00000 = "Profit";
Gi_00006 = OrdersTotal() - 1;
Gi_00007 = Gi_00006;
if(Gi_00006 >= 0)
{
do
{
if(OrderSelect(Gi_00007, 0, 0) && OrderSymbol() == _Symbol && OrderMagicNumber() == magic)
{
if(OrderType() == OP_BUY)
{
if(OrderClose(OrderTicket(), OrderLots(), Bid, 0, 16711680))
{
Print("Close Buy: ", _Symbol, "/", tmp_str00000);
}
else
{
Print("Error Close Buy: ", _Symbol, "/", tmp_str00000, " / ", GetLastError());
}
}
if(OrderType() == OP_SELL)
{
if(OrderClose(OrderTicket(), OrderLots(), Ask, 0, 255))
{
Print("Close Sell: ", _Symbol, "/", tmp_str00000);
}
else
{
Print("Error Close Sell: ", _Symbol, "/", tmp_str00000, " / ", GetLastError());
}
}
}
Gi_00007 = Gi_00007 - 1;
}
while(Gi_00007 >= 0);
}
}
if((AutoLot != 0))
{
Lots = NormalizeDouble(((AccountFreeMargin() * AutoLot) / 10000), 2);
}
if(IsTradeAllowed() != true)
{
Gi_0000B = 255;
tmp_str00001 = "Autotrading disabled";
tmp_str00002 = "IsTradeAllowed";
if(ObjectFind(tmp_str00002) == -1)
{
ObjectCreate(0, tmp_str00002, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00002, OBJPROP_CORNER, 1);
ObjectSet(tmp_str00002, OBJPROP_XDISTANCE, 5);
ObjectSet(tmp_str00002, OBJPROP_YDISTANCE, 15);
}
ObjectSetText(tmp_str00002, tmp_str00001, 15, "Arial", Gi_0000B);
return ;
}
Gi_0000C = 32768;
tmp_str00003 = "Autotrading Enabled";
tmp_str00004 = "IsTradeAllowed";
if(ObjectFind(tmp_str00004) == -1)
{
ObjectCreate(0, tmp_str00004, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00004, OBJPROP_CORNER, 1);
ObjectSet(tmp_str00004, OBJPROP_XDISTANCE, 5);
ObjectSet(tmp_str00004, OBJPROP_YDISTANCE, 15);
}
ObjectSetText(tmp_str00004, tmp_str00003, 15, "Arial", Gi_0000C);
Gi_0000D = 16777215;
tmp_str00005 = DoubleToString(AccountBalance(), 2);
tmp_str00006 = StringConcatenate("Balance ", tmp_str00005, Is_00060);
tmp_str00007 = "Balance";
if(ObjectFind(tmp_str00007) == -1)
{
ObjectCreate(0, tmp_str00007, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00007, OBJPROP_CORNER, 1);
ObjectSet(tmp_str00007, OBJPROP_XDISTANCE, 5);
ObjectSet(tmp_str00007, OBJPROP_YDISTANCE, 35);
}
ObjectSetText(tmp_str00007, tmp_str00006, 15, "Arial", Gi_0000D);
Gi_0000E = 42495;
tmp_str00008 = DoubleToString(AccountEquity(), 2);
tmp_str00009 = StringConcatenate("Equity ", tmp_str00008, Is_00060);
tmp_str0000A = "Equity";
if(ObjectFind(tmp_str0000A) == -1)
{
ObjectCreate(0, tmp_str0000A, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str0000A, OBJPROP_CORNER, 1);
ObjectSet(tmp_str0000A, OBJPROP_XDISTANCE, 5);
ObjectSet(tmp_str0000A, OBJPROP_YDISTANCE, 55);
}
ObjectSetText(tmp_str0000A, tmp_str00009, 15, "Arial", Gi_0000E);
Gi_0000F = 255;
tmp_str0000B = DoubleToString(Id_00000, 2);
tmp_str0000C = StringConcatenate("Stop-Loss ", tmp_str0000B, Is_00060);
tmp_str0000D = "Stop-Loss";
if(ObjectFind(tmp_str0000D) == -1)
{
ObjectCreate(0, tmp_str0000D, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str0000D, OBJPROP_CORNER, 1);
ObjectSet(tmp_str0000D, OBJPROP_XDISTANCE, 5);
ObjectSet(tmp_str0000D, OBJPROP_YDISTANCE, 80);
}
ObjectSetText(tmp_str0000D, tmp_str0000C, 15, "Arial", Gi_0000F);
Gi_00010 = 32768;
tmp_str0000E = DoubleToString(Id_00008, 2);
tmp_str0000F = StringConcatenate("Take-Profit ", tmp_str0000E, Is_00060);
tmp_str00010 = "Take-Profit";
if(ObjectFind(tmp_str00010) == -1)
{
ObjectCreate(0, tmp_str00010, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00010, OBJPROP_CORNER, 1);
ObjectSet(tmp_str00010, OBJPROP_XDISTANCE, 5);
ObjectSet(tmp_str00010, OBJPROP_YDISTANCE, 105);
}
ObjectSetText(tmp_str00010, tmp_str0000F, 15, "Arial", Gi_00010);
Gi_00011 = 1;
Gi_00012 = 255;
if(((AccountBalance() - Ii_0006C) >= 0))
{
Gi_00013 = 16119285;
}
else
{
Gi_00013 = Gi_00012;
}
Gi_00014 = Gi_00013;
tmp_str00011 = DoubleToString((AccountBalance() - Ii_0006C), 2);
tmp_str00012 = StringConcatenate("Profit ", tmp_str00011, Is_00060);
tmp_str00013 = "Profit";
if(ObjectFind(tmp_str00013) == -1)
{
ObjectCreate(0, tmp_str00013, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00013, OBJPROP_CORNER, Gi_00011);
ObjectSet(tmp_str00013, OBJPROP_XDISTANCE, 5);
ObjectSet(tmp_str00013, OBJPROP_YDISTANCE, 128);
}
ObjectSetText(tmp_str00013, tmp_str00012, 15, "Arial", Gi_00014);
Gi_00015 = 16711680;
tmp_str00014 = "Vibrix Group EA";
tmp_str00015 = "Vibrix Group EA";
if(ObjectFind(tmp_str00015) == -1)
{
ObjectCreate(0, tmp_str00015, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00015, OBJPROP_CORNER, 8);
ObjectSet(tmp_str00015, OBJPROP_XDISTANCE, 10);
ObjectSet(tmp_str00015, OBJPROP_YDISTANCE, 25);
}
ObjectSetText(tmp_str00015, tmp_str00014, 15, "Arial", Gi_00015);
Gi_00016 = 16711680;
tmp_str00016 = "";
tmp_str00017 = "";
if(ObjectFind(tmp_str00017) == -1)
{
ObjectCreate(0, tmp_str00017, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00017, OBJPROP_CORNER, 8);
ObjectSet(tmp_str00017, OBJPROP_XDISTANCE, 10);
ObjectSet(tmp_str00017, OBJPROP_YDISTANCE, 45);
}
ObjectSetText(tmp_str00017, tmp_str00016, 15, "Arial", Gi_00016);
Gi_00017 = 16777215;
tmp_str00018 = "Live trading";
tmp_str00019 = "Live trading";
if(ObjectFind(tmp_str00019) == -1)
{
ObjectCreate(0, tmp_str00019, OBJ_LABEL, 0, 0, 0, 0, 0, 0, 0);
ObjectSet(tmp_str00019, OBJPROP_CORNER, 8);
ObjectSet(tmp_str00019, OBJPROP_XDISTANCE, 10);
ObjectSet(tmp_str00019, OBJPROP_YDISTANCE, 65);
}
ObjectSetText(tmp_str00019, tmp_str00018, 15, "Arial", Gi_00017);
Gi_00018 = 16777215;
tmp_str0001A = "Initial balance USD";
tmp_str0001B = "Initial balance USD";
if(Показано первые 50% кода (символов: 20017)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.