ilan_lite_1.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ilan_lite_1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для платформы MetaTrader 4, предназначенный для управления торговыми позициями на текущем финансовом инструменте. Отображает на графике баланс, собственный капитал и количество открытых позиций с определённым магическим номером. Открывает сделки и управляет уровнями фиксации прибыли на существующих позициях.
Советник проверяет наличие открытых позиций и при их отсутствии формирует направление сделки на основе анализа движения цены. При работающих позициях периодически выставляет уровни фиксации прибыли. Расчёт объёма лота учитывает начальный размер, множитель роста и текущее количество позиций с проверкой доступного свободного маржи.
Настройки программы
| Настройка | Описание |
|---|---|
| TakeProfit | Тейк-профит — Уровень фиксации прибыли в пунктах от средней цены открытия позиций |
| StartLot | Начальный лот — Базовый объём позиции, используемый при открытии первой сделки |
| LotExponent | Экспонента лота — Множитель, определяющий скорость увеличения объёма лота с ростом количества сделок |
| LotStep | Шаг цены — Минимальное движение цены в пунктах от последней цены позиции для формирования сигнала на открытие следующей сделки |
| MaxTrades | Максимум сделок — Ограничение на количество одновременных позиций с данным магическим номером |
Поиск по коду файла
extern double TakeProfit = 10;
extern double StartLot = 0.1;
extern double LotExponent = 1.5;
extern double LotStep = 30;
extern int MaxTrades = 10;
int Magic = 12345;
int PrevTime = 0, cnt = 0, Ticket;
bool TradeNow = FALSE, LongTrade = FALSE, ShortTrade = FALSE, NewOrdersPlaced = FALSE, Flag;
int init() {
// код доступен только после оплаты
}
int deinit() {
ObjectsDeleteAll();
return (0);
}
int start() {
// код доступен только после оплаты
}
double B = AccountEquity(), C = AccountBalance();
color Color;
if (B < C) Color = Yellow;
if (B > C) Color = Lime;
ObjectCreate("A", OBJ_LABEL, 0, 0, 0);
ObjectSet("A", OBJPROP_CORNER, 3);
ObjectSet("A", OBJPROP_XDISTANCE, 25);
ObjectSet("A", OBJPROP_YDISTANCE, 60);
ObjectSetText("A", ""+OrdersTotal()+"", 12, "Courier", OrangeRed);
ObjectCreate("B", OBJ_LABEL, 0, 0, 0);
ObjectSet("B", OBJPROP_CORNER, 3);
ObjectSet("B", OBJPROP_XDISTANCE, 25);
ObjectSet("B", OBJPROP_YDISTANCE, 40);
ObjectSetText("B", ""+DoubleToStr(AccountEquity(), 2)+"", 12, "Courier", Color);
ObjectCreate("C", OBJ_LABEL, 0, 0, 0);
ObjectSet("C", OBJPROP_CORNER, 3);
ObjectSet("C", OBJPROP_XDISTANCE, 25);
ObjectSet("C", OBJPROP_YDISTANCE, 20);
ObjectSetText("C", ""+DoubleToStr(AccountBalance(), 2)+"", 12, "Courier", Lime);
if (PrevTime == Time[0]) return (0);
PrevTime = Time[0];
if (CountTrades() == 0) Flag = FALSE;
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
if (OrderType() == OP_BUY) {
LongTrade = TRUE;
ShortTrade = FALSE;
}
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
if (OrderType() == OP_SELL) {
LongTrade = FALSE;
ShortTrade = TRUE;
}
}
}
if (CountTrades() > 0 && CountTrades() <= MaxTrades) {
if (LongTrade && LastPrice() - Ask >= LotStep * Point) TradeNow = TRUE;
if (ShortTrade && Bid - LastPrice() >= LotStep * Point) TradeNow = TRUE;
}
if (CountTrades() < 1) {
LongTrade = FALSE;
ShortTrade = FALSE;
TradeNow = TRUE;
}
if (TradeNow) {
if (ShortTrade) {
Ticket = OrderSend(Symbol(), OP_SELL, Lots(StartLot), NormalizeDouble(Bid, Digits), 3, 0, 0, NULL, Magic, Red);
TradeNow = FALSE;
NewOrdersPlaced = TRUE;
}
if (LongTrade) {
Ticket = OrderSend(Symbol(), OP_BUY, Lots(StartLot), NormalizeDouble(Ask, Digits), 3, 0, 0, NULL, Magic, Blue);
TradeNow = FALSE;
NewOrdersPlaced = TRUE;
}
}
if (TradeNow && CountTrades() < 1) {
double PrevCl = iClose(Symbol(), 0, 2);
double CurrCl = iClose(Symbol(), 0, 1);
if (Показано первые 50% кода (символов: 4010)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.