ea9.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ea9.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Это торговый советник для платформы MetaTrader 4, реализующий сеточную стратегию с управлением позициями по направлениям покупки и продажи. Советник открывает начальные позиции, при необходимости добавляет уровни по мере движения цены и управляет ордерами с использованием стоп-лосса и тейк-профита. Также реализована фильтрация по времени торговли и отображение информации о счёте на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| _EA | Название EA — Текстовая метка для идентификации советника в списке параметров. |
| Magic | Магический номер — Уникальный номер для идентификации ордеров советника на счёте. |
| Lots | Объём лота — Начальный размер лота для открытия позиций. |
| TakeProfit_OP1 | Тейк-профит начальных ордеров — Размер тейк-профита в пунктах для первоначальных позиций. |
| TakeProfit_Marti | Тейк-профит мартингейла — Дополнительный размер тейк-профита для последующих уровней сетки. |
| StopLoss | Стоп-лосс — Размер стоп-лосса в пунктах для позиций. |
| Step | Шаг сетки — Шаг добавления уровней в пунктах. |
| Max_Level | Максимальный уровень — Максимальное количество уровней сетки. |
| Stop_Buy | Запрет покупки — Если включён, советник не открывает новые позиции на покупку. |
| Stop_Sell | Запрет продажи — Если включён, советник не открывает новые позиции на продажу. |
| _TIMEFILTER | Фильтр времени — Текстовая метка для группы настроек фильтра времени. |
| Use_TimeFilter | Использовать фильтр времени — Включает или отключает ограничение торговли по времени. |
| StartHour | Начальный час — Час начала разрешённого окна торговли. |
| EndHour | Конечный час — Час окончания разрешённого окна торговли. |
Поиск по коду файла
extern string _EA = "______Super COMBO_______";
extern int Magic = 201200727;
extern double Lots = 0.01;
extern int TakeProfit_OP1 = 10;
extern int TakeProfit_Marti = 10;
extern int StopLoss = 0;
extern int Step = 20;
extern int Max_Level = 12;
extern bool Stop_Buy = FALSE;
extern bool Stop_Sell = FALSE;
extern string _TIMEFILTER = "_______ TIME FILTER BROKER TIME _______";
extern bool Use_TimeFilter = FALSE;
extern int StartHour = 0;
extern int EndHour = 24;
int Gi_156;
int Gi_160;
int Gi_164;
string Gs_unused_168;
double Gd_176 = 2.0;
int Gi_184 = 0;
double G_lots_188;
double G_lots_196;
double G_minlot_204;
int Gi_212;
int Gi_216;
int G_slippage_220 = 10;
int Gi_224;
int Gi_228;
double G_order_lots_232;
double G_order_open_price_240;
double G_order_lots_248;
double G_order_open_price_256;
double G_order_open_price_264;
double G_order_lots_272;
int G_cmd_280;
int G_count_284;
int G_count_288;
int G_order_total_292;
int G_count_296;
int G_count_300;
bool G_is_closed_304;
bool G_is_deleted_308;
int G_datetime_312;
double Gd_unused_316;
double Gd_324;
double Gd_332;
double G_order_takeprofit_340;
double G_order_stoploss_348;
int G_count_356 = 0;
int G_count_360 = 0;
double G_order_takeprofit_364;
double G_order_takeprofit_372;
double G_order_stoploss_380;
double G_order_stoploss_388;
double Gd_396;
double Gd_404;
string Gs_412;
int G_pos_420;
double G_order_lots_424;
double Gd_432;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
void f0_3(int A_cmd_0) {
for (G_order_total_292 = OrdersTotal(); G_order_total_292 >= 0; G_order_total_292--) {
OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
if (OrderType() == A_cmd_0 && OrderSymbol() == Symbol() && OrderMagicNumber() == Magic || OrderComment() == Gs_412) {
G_order_lots_272 = OrderLots();
G_pos_420 = G_order_total_292;
return;
}
}
}
void f0_7(int A_cmd_0) {
for (G_order_total_292 = G_pos_420 - 1; G_order_total_292 >= 0; G_order_total_292--) {
OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
if (OrderType() == A_cmd_0 && OrderSymbol() == Symbol() && OrderMagicNumber() == Magic || OrderComment() == Gs_412) {
G_order_lots_424 = OrderLots();
return;
}
}
}
double f0_8(int Ai_0, int Ai_4) {
double Ld_8;
f0_3(Ai_4);
f0_7(Ai_4);
int Li_16 = Ai_0;
if (Li_16 == 1) Ld_8 = 2.0 * Lots;
else Ld_8 = G_order_lots_424 + G_order_lots_272;
Ld_8 = NormalizeDouble(Ld_8, Gi_212);
return (Ld_8);
}
double f0_11(int A_cmd_0) {
double Ld_4 = 0;
double Ld_12 = 0;
double Ld_ret_20 = 0;
for (G_order_total_292 = 0; G_order_total_292 < OrdersTotal(); G_order_total_292++) {
OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == A_cmd_0) {
Ld_4 += OrderLots();
Ld_12 += OrderLots() * OrderOpenPrice();
}
}
if (Ld_4 != 0.0) Ld_ret_20 = Ld_12 / Ld_4;
else Ld_ret_20 = 0;
return (Ld_ret_20);
}
void f0_1(int A_cmd_0, double Ad_4) {
for (G_order_total_292 = OrdersTotal(); G_order_total_292 >= 0; G_order_total_292--) {
OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == A_cmd_0)
if (NormalizeDouble(OrderTakeProfit(), Digits) != NormalizeDouble(Ad_4, Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(Ad_4, Digits), 0, CLR_NONE);
}
}
void f0_10(int A_cmd_0, double Ad_4) {
for (G_order_total_292 = OrdersTotal(); G_order_total_292 >= 0; G_order_total_292--) {
OrderSelect(G_order_total_292, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == A_cmd_0)
if (NormalizeDouble(OrderStopLoss(), Digits) != NormalizeDouble(Ad_4, Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ad_4, Digits), OrderTakeProfit(), 0, CLR_NONE);
}
}
void f0_5(int Ai_0, string As_4, string As_12) {
int Li_20;
int Li_24;
if ((!IsTradeAllowed()) || (!IsExpertEnabled())) {
ObjectDelete("baris0");
return;
}
switch (Ai_0) {
case 1:
Li_20 = 40;
Li_24 = 60;
break;
case 2:
Li_20 = 40;
Li_24 = 75;
break;
case 3:
Li_20 = 40;
Li_24 = 90;
break;
case 4:
Li_20 = 40;
Li_24 = 105;
break;
case 5:
Li_20 = 40;
Li_24 = 120;
break;
case 6:
Li_20 = 40;
Li_24 = 135;
break;
case 7:
Li_20 = 40;
Li_24 = 150;
break;
case 8:
Li_20 = 40;
Li_24 = 165;
break;
case 9:
Li_20 = 40;
Li_24 = 180;
break;
case 10:
Li_20 = 40;
Li_24 = 195;
break;
case 11:
Li_20 = 40;
Li_24 = 210;
break;
case 12:
Li_20 = 40;
Li_24 = 225;
break;
case 13:
Li_20 = 40;
Li_24 = 240;
break;
case 14:
Li_20 = 40;
Li_24 = 25Показано первые 50% кода (символов: 13255)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.