ilan1.7bynikolaus.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ilan1.7bynikolaus.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматизирует процесс открытия и управления ордерами на торговом счёте, используя анализ ценовых данных и технический индикатор RSI для принятия решений о направлении сделок.
Продукт поддерживает динамический расчёт шага в пунктах на основе анализируемого ценового диапазона, а также позволяет открывать ордера с различными типами стоп-лосса и тейк-профита. Доступны функции трейлинга для управления защитными ордерами, ограничение количества одновременно открытых позиций и стоп-эквити для контроля рисков.
Советник работает в цикле обработки тиков, чередуя направления сделок, и включает систему управления лотами с возможностью экспоненциального увеличения. Также реализованы локальные ордера и механизм закрытия всех позиций при достижении заданных условий по прибыли или эквити.
Настройки программы
| Настройка | Описание |
|---|---|
| LotExponent | LotExponent — Коэффициент для расчёта размера лота при увеличении количества открытых ордеров |
| DynamicPips | DynamicPips — Переключатель для использования динамического расчёта шага в пунктах |
| DefaultPips | DefaultPips — Базовое значение шага в пунктах при отключённом динамическом режиме |
| Glubina | Glubina — Глубина анализа ценового диапазона для расчёта пипсов |
| DEL | DEL — Делитель для расчёта динамического шага пипсов |
| slip | slip — Допустимое отклонение цены при исполнении ордеров |
| Lots | Lots — Начальный размер лота для торговли |
| lotdecimal | lotdecimal — Точность округления лота: 0 — стандартные лоты, 1 — мини, 2 — микро |
| TakeProfit | TakeProfit — Расстояние в пунктах для фиксации прибыли |
| RsiMinimum | RsiMinimum — Нижняя граница RSI для условий открытия |
| RsiMaximum | RsiMaximum — Верхняя граница RSI для условий открытия |
| MagicBuy | MagicBuy — Магический номер для ордеров на покупку |
| MagicSell | MagicSell — Магический номер для ордеров на продажу |
| MaxTrades | MaxTrades — Максимальное количество одновременно открытых ордеров |
| UseEquityStop | UseEquityStop — Переключатель стоп-эквити для закрытия всех позиций |
| TotalEquityRisk | TotalEquityRisk — Процент эквити для расчёта уровня стоп-эквити |
| TSLast | TSLast — Переключатель трейлинга последней позиции |
| TSStartLast | TSStartLast — Прибыль в пунктах для начала трейлинга последней позиции |
| TSStopLast | TSStopLast — Расстояние в пунктах для трейлинга последней позиции |
| PlusKoleno | PlusKoleno — Дополнительный коэффициент для расчёта лота при определённых условиях |
| RecalcTP | RecalcTP — Переключатель пересчёта тейк-профита |
| FirstTP | FirstTP — Переключатель для первой настройки тейк-профита |
| StKoleno | StKoleno — Количество ордеров для применения дополнительного шага пипсов |
| AddPips | AddPips — Дополнительные пипсы, добавляемые к шагу при превышении количества ордеров |
| TPforSL | TPforSL — Переключатель использования тейк-профита при трейлинге |
| s3 | s3 — Текстовый параметр группы настроек Trail All |
| TrailAll | TrailAll — Переключатель трейлинга всех позиций |
| TrailAllStart | TrailAllStart — Расстояние в пунктах от тейк-профита для начала трейлинга всех позиций |
| TrailAllStop | TrailAllStop — Расстояние в пунктах для трейлинга всех позиций |
| TPforTrailAll | TPforTrailAll — Переключатель сохранения тейк-профита при трейлинге всех позиций |
| s4 | s4 — Текстовый параметр группы настроек LocOrder |
| EqLoc | EqLoc — Переключатель локального ордера по эквити |
| LocEquity | LocEquity — Процент эквити для открытия локального ордера |
| PointLoc | PointLoc — Переключатель локального ордера по расстоянию |
| LocPoint | LocPoint — Расстояние в пунктах для условия локального ордера |
| LocLot | LocLot — Коэффициент размера лота для локального ордера |
| TrailLoc | TrailLoc — Переключатель трейлинга локальных ордеров |
| TrailLocStop | TrailLocStop — Расстояние в пунктах для трейлинга локальных ордеров |
| LocSL | LocSL — Стоп-лосс для локального ордера |
| Antisliv | Antisliv — Переключатель защиты от сливов локальных ордеров |
| AntiPoint | AntiPoint — Расстояние в пунктах для защиты от сливов локальных ордеров |
| CloseOver | CloseOver — Переключатель закрытия всех позиций при достижении прибыли |
Поиск по коду файла
extern double LotExponent = 1.4; // на сколько умножать лот при выставлении следующего колена. пример: первый лот 0.1, серия: 0.16, 0.26, 0.43 ...
extern bool DynamicPips = true;
extern int DefaultPips = 12;
extern int Glubina = 24;
extern int DEL = 3;
extern double slip = 3.0; // на сколько может отличаться цена в случае если ДЦ запросит реквоты (в последний момент немного поменяет цену)
extern double Lots = 0.1; // разер лота для начала торгов
extern int lotdecimal = 1; // сколько знаков после запятой в лоте рассчитывать 0 - нормальные лоты (1), 1 - минилоты (0.1), 2 - микро (0.01)
extern double TakeProfit = 10.0; // по достижении скольких пунктов прибыли закрывать сделку
extern double RsiMinimum = 5.0; // нижняя граница RSI
extern double RsiMaximum = 95.0; // верхняя граница RSI
int MagicNumber = 0;
bool Prohod1=True;
extern int MagicBuy = 111;
extern int MagicSell = 222;
int PipStep=0;
extern int MaxTrades = 10; // максимально количество одновременно открытых ордеров
extern bool UseEquityStop = FALSE;
extern double TotalEquityRisk = 20.0;
extern bool TSLast = True;
extern int TSStartLast = 15;
extern int TSStopLast = 7;
extern int PlusKoleno = 2;
extern bool RecalcTP=TRUE;
extern bool FirstTP = false;
extern int StKoleno=9;
extern int AddPips = 2;
int ftp = 0;
extern bool TPforSL = false;
string s2="For dynamic lot";
bool DynLots = false;
double MyLots;
int Prosadka = 400;
int LastBars = 0;
bool UseMargin = false;
double errcheck=0;
bool buypr=false;
bool sellpr=false;
extern string s3="New for Trail all";
extern bool TrailAll = false;
extern int TrailAllStart = 2;
extern int TrailAllStop = 5;
extern bool TPforTrailAll = false;
bool FirstTrail = false;
bool SecondTrail = false;
extern string s4="New for LocOrder";
extern bool EqLoc = false;
extern double LocEquity = 20.0;
extern bool PointLoc = false;
extern int LocPoint = 30;
extern double LocLot = 1;
extern bool TrailLoc = false;
extern int TrailLocStop = 20;
extern int LocSL = 0;
extern bool Antisliv = true;
extern int AntiPoint=1;
extern bool CloseOver=true;
double PrevRSI, CurRSI;
double PriceTarget, StartEquity, BuyTarget, SellTarget;
double AveragePrice, SellLimit, BuyLimit;
double LastBuyPrice, LastSellPrice;
bool flag;
string EAName="I1.7N";
int timeprev = 0;
int NumOfTrades = 0;
double iLots;
int cnt = 0, total;
bool TradeNow = FALSE, LongTrade = FALSE, ShortTrade = FALSE;
int ticket;
int OldCount=0;
bool NewOrdersPlaced = FALSE;
bool RecalcProfit = FALSE;
double AccountEquityHighAmt, PrevEquity;
int RightDirect = 1;
int RD=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return (0);
}
int start()
{
// код доступен только после оплаты
}
void SecondLock()
{
int Lock1=0;
int Lock2=0;
int Lock1Ticket;
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || (OrderMagicNumber() != MagicNumber+1 && OrderMagicNumber() != MagicNumber+2)) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber+1)
{
Lock1 +=1;
Lock1Ticket = OrderTicket();
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber+2)
{
LocSave(cnt);
return(0);
}
}
if (Lock1==0) return(0);
OrderSelect(Lock1Ticket, SELECT_BY_TICKET);
if (OrderType()==OP_BUY && Bid<=(OrderOpenPrice()-10*Point) && iRSI(NULL, Period(), 14, PRICE_CLOSE, 1)>70)
{
ticket = OpenPendingOrder(1, OrderLots(), Bid, slip, 0, 0, 0, EAName + "-LOC2", MagicNumber+2, 0, Red);
}
if (OrderType()==OP_SELL && Ask>=(OrderOpenPrice()+10*Point)&& iRSI(NULL, Period(), 14, PRICE_CLOSE, 1)<30)
{
ticket = OpenPendingOrder(0, OrderLots(), Ask, slip, 0, 0, 0, EAName + "-LOC2", MagicNumber+2, 0, Red);
}
}
void TrailLoc()
{
for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol(Показано первые 50% кода (символов: 21732)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.