automarti_lads ea.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «automarti_lads ea.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматизирует управление торговыми позициями и отложенными ордерами на текущем инструменте.
Основной логикой обработки тиков является функция start(). При достижении совокупной прибыли по открытым позициям целевого значения tp_dollar советник закрывает все активные ордера и управляет внутренними флагами состояния. Также имеется режим тестирования, в котором при определённых условиях размещается тестовый ордер.
Советник поддерживает размещение отложенных ордеров типа BUYSTOP и SELLSTOP с расчётом объёма на основе текущих позиций и множителя multiplier. При активации параметра use_tp_sl существующим ордерам добавляются стоп-лосс и тейк-профит в пунктах.
Для идентификации своих ордеров используется магический номер magic. Допустимое проскальзывание контролируется параметром slip_page. Советник работает только с ордерами текущего торгового символа.
Настройки программы
| Настройка | Описание |
|---|---|
| jarak_op_pip | Расстояние для размещения отложенных ордеров (BUYSTOP/SELLSTOP), задаваемое в пипсах от цены открытия существующей позиции. |
| tp_dollar | Целевая прибыль в долларах по совокупным открытым позициям, при достижении которой советник закрывает все ордера. |
| multiplier | Множитель, применяемый при расчёте объёма лота для нового отложенного ордера на основе текущих объёмов позиций. |
| level | Пороговый уровень количества открытых позиций, при превышении которого не размещаются новые отложенные ордера. |
| slip_page | Допустимое проскальзывание цены при отправке и модификации ордеров. |
| use_tp_sl | Переключатель, определяющий, добавлять ли стоп-лосс и тейк-профит при модификации открытых ордеров. |
| tp | Значение тейк-профита в пунктах, устанавливаемое при модификации ордера, если включён параметр use_tp_sl. |
| sl | Значение стоп-лосса в пунктах, устанавливаемое при модификации ордера, если включён параметр use_tp_sl. |
| magic | Магический номер, используемый для идентификации ордеров, отправленных советником, при подсчёте отложенных ордеров в функции f0_1(). |
Поиск по коду файла
extern int jarak_op_pip = 20;
extern double tp_dollar = 1.0;
extern double multiplier = 2.0;
extern int level = 7;
extern int slip_page = 5;
extern bool use_tp_sl = FALSE;
extern int tp = 30;
extern int sl = 50;
extern int magic = 191;
double Gd_128;
int G_ticket_136;
int Gi_140;
int G_count_144;
bool Gi_148 = FALSE;
double G_minlot_156;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
int cmd_12;
double order_open_price_16;
double order_lots_24;
int cmd_32;
double order_open_price_36;
double order_lots_44;
double Ld_52;
double Ld_60;
double Ld_68;
double Ld_0 = 0;
for (int pos_8 = 0; pos_8 < OrdersTotal(); pos_8++) {
OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderType() > OP_SELL) continue;
Ld_0 += OrderProfit();
}
if (Ld_0 >= tp_dollar || G_count_144 > 0 || Gi_148) {
f0_2();
f0_2();
f0_2();
G_count_144++;
Gi_148 = TRUE;
if (f0_3() == 0) G_count_144 = 0;
}
for (pos_8 = 0; pos_8 < OrdersTotal(); pos_8++) {
OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
cmd_12 = OrderType();
order_open_price_16 = OrderOpenPrice();
order_lots_24 = OrderLots();
if (f0_3() == 0) G_count_144 = 0;
}
}
if (f0_3() == 0) Gi_148 = FALSE;
if (IsTesting() && f0_3() == 0 && f0_1() == 0 && Hour() == 0) G_ticket_136 = OrderSend(Symbol(), OP_BUY, 0.01, Ask, slip_page, 0, 0, "", 0, 0, Blue);
for (int pos_76 = 0; pos_76 < OrdersTotal(); pos_76++) {
OrderSelect(pos_76, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
cmd_32 = OrderType();
order_open_price_36 = OrderOpenPrice();
order_lots_44 = OrderLots();
if (OrderType() == OP_BUY) {
Ld_52 += OrderLots();
if (use_tp_sl && (OrderStopLoss() == 0.0 || OrderTakeProfit() == 0.0)) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - sl * Gd_128, OrderOpenPrice() + tp * Gd_128, 0, CLR_NONE);
}
if (OrderType() == OP_SELL) {
Ld_60 += OrderLots();
if (use_tp_sl && (OrderStopLoss() == 0.0 || OrderTakeProfit() == 0.0)) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + sl * Gd_128, OrderOpenPrice() - tp * Gd_128, 0, CLR_NONE);
}
}
}
if (f0_3() == 0 && f0_1() > 0) f0_0();
if (f0_3() > 0 && f0_3() < level &&Показано первые 50% кода (символов: 4062)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.