robot 2050_ long.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «robot 2050_ long.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Экспертный советник для MetaTrader 4, работающий на текущем символе с использованием рыночных и отложенных ордеров. Система отслеживает открытые позиции и открывает новые направления при движении цены против существующих сделок, применяя configurable множитель для расчёта размера лота при наращивании позиции. Советник поддерживает как длинные, так и короткие направления и использует магический номер для идентификации своих ордеров. Встроены механизмы риск-менеджмента: ограничение максимального числа одновременных сделок, аварийное закрытие всех позиций при достижении порога просадки по equity, а также временное окно торговли, ограничивающее активность указанными часами. Также реализован механизм таймаута, закрывающий все позиции по истечении заданного периода.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Лот — Начальный размер лота для новых сделок |
| MaxTrades | Максимум сделок — Максимальное количество одновременных сделок на символе |
| UseHourTrade | Часовая торговля — Включает или отключает ограничение торговли по часам |
| StartHour | Час начала — Час начала торгового окна по серверному времени |
| EndHour | Час окончания — Час окончания торгового окна по серверному времени |
Поиск по коду файла
/*
Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
Website:
E-mail : p******m*@gmail.com
*/
#property show_inputs
int gi_76 = 1;
bool gi_80 = FALSE;
bool gi_84 = TRUE;
double gd_88 = 1.08;
double g_slippage_96 = 5.0;
extern double Lots = 0.01;
int gd_112 = 2;
double g_pips_120 = 10.0;
double g_pips_128 = 0.0;
double gd_136 = 10.0;
double gd_144 = 10.0;
double g_pips_152 = 10.0;
extern int MaxTrades = 100;
bool gi_164 = FALSE;
double gd_168 = 20.0;
bool gi_176 = TRUE;
bool gi_180 = FALSE;
double gd_184 = 0.0;
bool gi_192 = FALSE;
extern bool UseHourTrade = FALSE;
extern int StartHour = 0;
extern int EndHour = 8;
int g_magic_208 = 12324;
double g_price_212;
double gd_220;
double gd_unused_228;
double gd_unused_236;
double g_price_244;
double g_bid_252;
double g_ask_260;
double gd_268;
double gd_276;
double gd_284;
bool gi_292;
string gs_296 = "Robot 2050";
int g_time_304 = 0;
int gi_308;
int gi_312 = 0;
double gd_316;
int g_pos_324 = 0;
int gi_328;
double gd_332 = 0.0;
bool gi_340 = FALSE;
bool gi_344 = FALSE;
bool gi_348 = FALSE;
int gi_352;
bool gi_356 = FALSE;
int g_datetime_360 = 0;
int g_datetime_364 = 0;
double gd_368;
double gd_376;
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() == g_magic_208) {
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_360 != iTime(NULL, 0, 0)) {
g_datetime_360 = 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_364 != iTime(NULL, 0, 0)) {
g_datetime_364 = iTime(NULL, 0, 0);
Print("Need close SELПоказано первые 50% кода (символов: 14672)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.