ea sejuta umat v1.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ea sejuta umat v1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Торговый советник для MetaTrader 4, реализованный как экспертный советник (Expert Advisor) на языке MQL4. Программа обрабатывает тики и управляет ордерами на текущем символе с использованием торгового API платформы: открытие рыночных и отложенных ордеров, закрытие позиций и модификация ордеров.
Советник поддерживает фильтрацию по торговым часам, ограничение количества открытых сделок и ордеров, а также управление размером лота. Встроена функция трейлинг-стоп для открытых позиций. При достижении заданного уровня эквити все позиции закрываются с выводом соответствующего уведомления.
В коде реализована функция принудительного закрытия всех позиций, отслеживание прибыли по текущим ордерам и автоматический расчёт параметров на основе изменения эквити. Советник идентифицирует свои ордера с помощью магического номера.
Настройки программы
| Настройка | Описание |
|---|---|
| Expert_Comment | Комментарий советника — Текстовый комментарий, добавляемый к ордерам советника. |
| TargetEquity | Целевая эквити — Целевое значение эквити, при достижении которого все позиции закрываются. |
| CloseAllNow | Закрыть всё сейчас — Переключатель для немедленного закрытия всех открытых позиций на текущем символе. |
| MaxTrades | Максимум сделок — Максимальное допустимое количество открытых сделок на символе. |
| Lots | Размер лота — Базовый размер лота, используемый при открытии позиций. |
| LotDigit | Точность лота — Число знаков после запятой для округления размера лота. |
| SwitchLot | Переключатель лота — Переключатель между фиксированным размером лота и автоматическим расчётом на основе истории. |
| TakeProfit | Тейк-профит — Тейк-профит в пипсах, устанавливаемый для управляемых ордеров. |
| Pips | Пипсы — Значение в пипсах, используемое для условий открытия и управления ордерами. |
| Multiplier | Множитель лота — Множитель, применяемый при расчёте размера лота в автоматическом режиме. |
| MaxOrderBuy | Макс. ордеров на покупку — Максимальное количество разрешённых покупок одновременно. |
| MaxOrderSell | Макс. ордеров на продажу — Максимальное количество разрешённых продаж одновременно. |
| TS_Buy | Трейлинг-стоп покупка — Расстояние в пипсах для трейлинг-стопа по покупкам. |
| TS_Sell | Трейлинг-стоп продажа — Расстояние в пипсах для трейлинг-стопа по продажам. |
| Slippage | Проскальзывание — Допустимое проскальзывание цены при выполнении ордеров. |
| UseHourTrade | Использовать торговые часы — Переключатель включения фильтрации ордеров по торговым часам. |
| ContinueTrade | Продолжение торговли — Переключатель продолжения торговли за пределами заданных торговых часов, если позиции уже открыты. |
| StartHour | Час начала — Час начала торговой сессии (в диапазоне 0–24). |
| EndHour | Час окончания — Час окончания торговой сессии (в диапазоне 0–24). |
| Magic | Магический номер — Магический номер для идентификации ордеров, управляемых данным советником. |
| AutoCalculate | Автоматический расчёт — Пороговое значение для автоматической корректировки позиций при убытке, выраженное в процентах от максимальной эквити. |
Поиск по коду файла
#property show_inputs
extern string Expert_Comment = ?OP Robot?;
extern double TargetEquity = 50000.0;
extern bool CloseAllNow = FALSE;
extern int MaxTrades = 20;
extern double Lots = 0.1;
extern double LotDigit = 2.0;
extern bool SwitchLot = TRUE;
extern double TakeProfit = 10.0;
extern double Pips = 7.0;
extern double Multiplier = 1.5;
extern int MaxOrderBuy = 5;
extern int MaxOrderSell = 5;
extern double TS_Buy = 3.0;
extern double TS_Sell = 3.0;
extern double Slippage = 5.0;
extern bool UseHourTrade = TRUE;
extern bool ContinueTrade = FALSE;
extern int StartHour = 0;
extern int EndHour = 24;
extern int Magic = 291179;
extern double AutoCalculate = 20.0;
bool gi_204 = FALSE;
bool gi_208 = TRUE;
double g_pips_212 = 0.0;
bool gi_220 = FALSE;
bool gi_224 = TRUE;
bool gi_228 = FALSE;
double gd_232 = 0.0;
bool gi_240 = FALSE;
double g_price_244;
double gd_252;
double gd_unused_260;
double gd_unused_268;
double g_price_276;
double g_bid_284;
double g_ask_292;
double gd_300;
double gd_308;
double gd_316;
bool gi_324;
int g_time_328 = 0;
int gi_332;
int gi_336 = 0;
double gd_340;
int g_pos_348 = 0;
int gi_352;
double gd_356 = 0.0;
bool gi_364 = FALSE;
bool gi_368 = FALSE;
bool gi_372 = FALSE;
int gi_376;
bool gi_380 = FALSE;
int g_datetime_384 = 0;
int g_datetime_388 = 0;
double gd_392;
double gd_400;
double gd_408;
int g_count_420;
int g_count_424;
int g_count_428;
color g_color_432;
double g_bid_436;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
double ND(double ad_0) {
return (NormalizeDouble(ad_0, Digits));
}
int fOrderCloseMarket(bool ai_0 = TRUE, bool ai_4 = TRUE) {
int li_ret_8 = 0;
for (int l_pos_12 = OrdersTotal() ? 1; l_pos_12 >= 0; l_pos_12?) {
if (OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
if (OrderType() == OP_BUY && ai_0) {
RefreshRates();
if (!IsTradeContextBusy()) {
if (!OrderClose(OrderTicket(), OrderLots(), ND(Bid), 5, CLR_NONE)) {
Print(?Error close BUY ? + OrderTicket());
li_ret_8 = -1;
}
} else {
if (g_datetime_384 != iTime(NULL, 0, 0)) {
g_datetime_384 = iTime(NULL, 0, 0);
Print(?Need close BUY ? + OrderTicket() + ?. Trade Context Busy?);
}
return (-2);
}
}
if (OrderType() == OP_SELL && ai_4) {
RefreshRates();
if (!IsTradeContextBusy()) {
if (!OrderClose(OrderTicket(), OrderLots(), ND(Ask), 5, CLR_NONE)) {
Print(?Error close SELL ? + OrderTicket());
li_ret_8 = -1;
}
} else {
if (g_datetime_388 != iTime(NULL, 0, 0)) {
g_datetime_388 = iTime(NULL, 0, 0);
Print(?Need close SELL ? + OrderTicket() + ?. Trade Context Busy?);
}
return (-2);
}
}
}
}
}
return (li_ret_8);
}
double fGetLots(int a_cmd_0) {
double l_lots_4;
int l_datetime_12;
Показано первые 50% кода (символов: 16067)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.