liquidex full.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «liquidex full.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот Expert Advisor для MetaTrader 4 анализирует рыночные данные на основе тикового потока и применяет набор технических фильтров для формирования торговых сигналов. Система использует скользящие средние, пользовательский индикатор на основе тиковых данных, а также дополнительные фильтры для подтверждения направления сделок. Поддерживаются отложенные ордера, модификация стоп-лоссов и тейк-профитов, а также трейлинг-стопы и перемещение в безубыток.
Робот включает защиту equity, которая при достижении заданного процента от баланса приостанавливает торговлю и закрывает все позиции. Доступна фильтрация по максимальному спреду, ограничения по торговым часам и дню недели, а также фильтр по минимальному размеру тела свечи для сигнала. Параметры позволяют настраивать диапазон входящих ордеров и условия их активации.
Размер позиции может рассчитываться автоматически с учётом риска от свободного маржи или задаваться фиксированным значением лотов. Дополнительно предусмотрены ограничения по минимальному и максимальному размеру лотов, контроль проскальзывания и магический номер для идентификации ордеров. Работа робота можно отключить при превышении допустимого уровня реального спреда.
Настройки программы
| Настройка | Описание |
|---|---|
| DispEquityProtection | Отображение защиты equity — Текстовый заголовок для параметра защиты equity |
| EquityProtection | Защита equity — Включает защиту equity: при достижении заданного процента от баланса торговля приостанавливается |
| AverageEquityProtection | Средняя защита equity — Текстовый заголовок для параметра средней защиты equity |
| UseMM | Использовать управление рисками — Включает автоматический расчёт размера лотов по проценту от свободного маржи; при выключении используется фиксированный размер лотов |
| Lots | Размер лотов — Фиксированный размер лотов (используется при отключённом автоматическом расчёте) |
| MinLots | Минимум лотов — Минимально допустимый размер лотов |
| MaxLots | Максимум лотов — Максимально допустимый размер лотов |
| Risk | Риск — Процент риска от свободного маржи для автоматического расчёта размера лотов |
| BarAndMA_Mode | Режим свеча и MA — Режим проверки расположения свечи относительно скользящей средней (0 — не использовать, 1–3 — различные варианты сравнения) |
| RangeFilter | Фильтр диапазона — Минимальный размер тела свечи в пунктах для генерации торгового сигнала |
| StopLoss | Стоп-лосс — Стоп-лосс в пунктах; 0 — без стоп-лосса |
| TakeProfit | Тейк-профит — Тейк-профит в пунктах; 0 — без тейк-профита |
| MoveToBE | Перемещение в безубыток — Уровень прибыли в пунктах для перемещения стоп-лосса в безубыток; 0 — без перемещения |
| MoveToBE_Offset | Смещение безубытка — Отступ нового уровня стоп-лосса от цены открытия ордера в пунктах |
| TrailingLimit | Лимит трейлинга — Расстояние в пунктах для модификации отложенных ордеров |
| TrailingDistance | Дистанция трейлинг-стопа — Расстояние трейлинг-стопа в пунктах; 0 — без трейлинг-стопа |
| MAPeriod | Период MA — Период скользящей средней |
| MAShift | Сдвиг MA — Сдвиг скользящей средней по времени |
| MAMethod | Метод MA — Метод расчёта скользящей средней (0–3) |
| MaxSpreadWithCommission | Макс. спред с комиссией — Максимально допустимый реальный спред с учётом комиссии в пунктах |
| DefaultCommisionPoints | Комиссия по умолчанию — Стандартная комиссия в пунктах |
| RangeFilterNote | Примечание фильтра диапазона — Примечание с пояснением значений фильтра диапазона |
| MAMethodNote | Примечание метода MA — Примечание с пояснением методов скользящей средней |
| Slippage | Проскальзывание — Максимальное допустимое проскальзывание цены при открытии и закрытии ордеров в пунктах |
| MagicNumber | Магический номер — Магический номер для идентификации ордеров советника |
| TradeComment | Комментарий сделки — Комментарий, добавляемый к каждому ордеру |
| ColorBuy | Цель покупки — Цвет стрелок для ордеров на покупку |
| ColorSell | Цель продажи — Цвет стрелок для ордеров на продажу |
| ShowComment | Показать комментарий — Включает или отключает отображение комментария на графике |
| WriteDebugLog | Запись отладочного лога — Включает или отключает запись отладочной информации в лог |
| ___Keltner_Channel____ | Разделитель канала Кельтнера — Разделитель группы параметров канала Кельтнера |
| UseFilterKeltnerChannel | Фильтр канала Кельтнера — Включает использование индикатора «Каналы Кельтнера» в качестве дополнительного фильтра |
| KC_Period | Период KC — Период индикатора «Каналы Кельтнера» |
| partInRange | Диапазон времени — Описание диапазона торгового времени |
| EntryHourFrom | Час входа с — Начальный час для входа в торговлю |
| EntryHourTo | Час входа до — Конечный час для входа в торговлю |
| FridayEndHour | Конец в пятницу — Час окончания торгов в пятницу |
| part_iVAR | Описание iVAR — Описание фильтра iVAR для подавления ложных входов |
| TimeFrameiVAR | Таймфрейм iVAR — Таймфрейм для индикатора iVAR |
| periods | Периоды — Период расчёта iVAR |
| a1 | Параметр a1 — Параметр iVAR — верхняя граница |
| a2 | Параметр a2 — Параметр iVAR — нижняя граница |
| a3 | Параметр a3 — Параметр iVAR — верхний порог |
| a4 | Параметр a4 — Параметр iVAR — нижний порог |
| TicksPeriod | Период тиков — Период анализа тикового потока |
| Length | Длина — Период оценки средних значений быков и медведей |
| MA_Mode | Режим MA — Режим скользящей средней (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA) |
| NumTicks | Количество тиков — Таймфрейм в тиках (0 — если используется NumSecs) |
| NumSecs | Секунды — Таймфрейм в секундах (0 — если используется NumTicks) |
| DispMaxBars | Отображение макс. баров — Текстовый заголовок для параметра максимального количества баров |
| MaxBars | Макс. бары — Максимальное количество баров для анализа |
| UseRSI | Использовать RSI — Включает или отключает дополнительную фильтрацию по RSI |
Поиск по коду файла
#define Account_Number ****** // write here the number of account; 0 = does not check the number of account
#define IndicatorFileName_KC "Keltner Channels"
extern string DispEquityProtection = "if true, then the expert will protect the account equity to the percent specified";
extern bool EquityProtection = true; // if true, then the expert will protect the account equity to the percent specified
extern string AverageEquityProtection ="percent of the account to protect on a set of trades";
extern int AccountEquityPercentProtection= 75; // percent of the account to protect on a set of trades
extern bool UseMM = true; // enable/disable auto-calculation for size of lots: false = constant size of lots (value of parameter "Lots"); true = calculate size of lots by percent from FreeMargin (parameter "Risk")
extern double Lots = 0.01; // size of lots (used if UseMM = false)
extern double MinLots = 0.01;
extern double MaxLots = 100000.0;
extern double Risk = 3.0;
extern int BarAndMA_Mode = 0; //2; // (0-3) mode for rule "bullish(bearish) bar should be above(below) MA": 0 = does not use this rule; 1 = Close of bar should be above(below) MA; 2 = body of bar should be above(below) MA; 3 = Low(High) of bar should be above(below) MA
extern int RangeFilter = 10; // (amount pips) minimum body of candle for trading signal
extern double StopLoss = 0; // (amount pips) stop-loss; 0 = without stop-loss
extern double TakeProfit = 10; // (amount pips) take profit; 0 = without take profit
extern double MoveToBE = 5; // (amount pips) profit when move the stop-loss level to opening price; 0 = without move to BE (option is disabled)
extern double MoveToBE_Offset = 2; // (amount pips) offset of the new level stop-loss from the opening price of order, positive_value = offset to side of profit, negative_value = offset to side of loss
extern int TrailingLimit = 3; // (amount pips) distance to pending order
extern int TrailingDistance = 1; // (amount pips) trailing stop; 0 = without trailing-stop
extern int MAPeriod = 7;
extern int MAShift = 0;
extern int MAMethod = MODE_LWMA; // (0-3)
extern double MaxSpreadWithCommission = 20.0; // (amount pips)
extern double DefaultCommisionPoints = 0; // (amount pips)
extern string RangeFilterNote = "H-S 0-0: 250 0-1: 300 1-0: 80 1-1: 250";
extern string MAMethodNote = "SMA: 0 EMA: 1 SMMA: 2 LWMA 3";
extern int Slippage = 3; // (amount pips) maximum price slippage at open and close orders
extern int MagicNumber = 41403;
extern string TradeComment = "Liquidex_MKH-M15";
extern color ColorBuy = clrLime; // color arrows of Buy-orders
extern color ColorSell = clrOrange; // color arrows of Sell-orders
extern bool ShowComment = true; // enable/disable show comment on chart
extern bool WriteDebugLog = false; // enable/disable write to log the debug information
extern string ___Keltner_Channel____ = "---------------------------------------------";
extern bool UseFilterKeltnerChannel = false; // true = use indicator "Keltner Channels"; false = does not use indicator "Keltner Channels"
extern int KC_Period = 6; //12; // parameter for indicator "Keltner Channels"
extern string partInRange = "sur EURJPY par de trades entre 23h et 2 heures du mat";
extern int EntryHourFrom = 2;
extern int EntryHourTo = 24;
extern int FridayEndHour = 22;
extern string part_iVAR = " Ivar to remove false entries periods = 5 by default ";
extern int TimeFrameiVAR = 1;
extern int periods = 5;
extern double a1 = 0.01;
extern double a2 = 0.01;
extern double a3 = 0.55;
extern double a4 = 0.54;
extern int TicksPeriod = 33;
extern int Length = 33; //14; //Period of evaluation for AVG Bears and Bulls by default 14
extern int MA_Mode = 3; //2; //MA Mode: 0-SMA,1-EMA,2-Wilder(SMMA),3-LWMA
extern int NumTicks = 0; //TimeFrame in ticks (=0 if NumSecs > 0)
extern int NumSecs = 70; // 0; //20; //TimeFrame in secs (=0 if NumTicks > 0)
extern string DispMaxBars = " MaxBars is matrix 'size, correlated to volatility check out";
extern int MaxBars = 350 ;// 150; //Max Number of Bars
int maxsize = 1200; // 1200 *0.2 (minimal time) gives a Time frame 4MN
double Ticks[];
double Bulls[];
double Bears[];
double AvgBulls[];
double AvgBears[];
double tRSI;
extern bool UseRSI = false;
int RSIdirection = 0;
double Hi;
double Lo;
double tOpen;
double tClose;
int tickCounter=0, barCounter, pSecs;
datetime pTime;
string short_name, t;
int LastTm;
double max = -1000000.0;
double min = 1000000.0;
double stoplevel, freezelevel;
string message;
int slippage;
int digits;
double point;
int my_digits;
double my_point;
int pips_digits;
int lots_digits;
double minlots;
double maxlots;
string symbol;
double risk;
double maxSpreadWithCommission;
double trailingLimit;
double trailingDistance;
double rangeFilter;
bool gotCommissionPointsFromTrade;
double commissionPoints;
double spreadHistory[30];
int spreadHistoryCount = 0;
string objname_hline;
bool is_testing;
double main_sl;
double main_tp;
double main_be_profit;
double main_be_offset;
static int account_number;
static bool is_ok;
int OnInit()
{
// код доступен только после оплаты
}
bool InRange()
{
bool Result=false;
if((EntryHourFrom<=EntryHourTo && Hour()>=EntryHourFrom && Hour()<=EntryHourTo) ||
(EntryHourFrom>EntryHourTo && (Hour()>=EntryHourFrom || Hour()<=EntryHourTo)))
Result=true;
return(Result);
}
bool IsSafetyForTrade()
{
bool Result=false;
if(DayOfWeek()!=5 || FridayEndHour<0 || DayOfWeek()!= 0 ||
(DayOfWeek()==5 && EntryHourFrom<=EntryHourTo && Hour()<FridayEndHour) ||
(DayOfWeek()==5 && EntryHourFrom>EntryHourTo && FridayEndHour>=EntryHourFrom && Hour()<FridayEndHour) ||
(DayOfWeek()==5 && EntryHourFrom>EntryHourTo && FridayEndHour<EntryHourFrom && Hour()<FridayEndHour) ||
(DayOfWeek()==5 && EntryHourFrom>EntryHourTo && FridayEndHour<EntryHourFrom && Hour()>=FridayEndHour && Hour()>=EntryHourFrom))
Result=true;
return(Result);
}
bool iVAR()
{
bool Result=false;
double iVAR_1=iCustom(symbol,TimeFrameiVAR,"iVAR_nmc",periods,0,1);
double iVAR_2=iCustom(symbol,TimeFrameiVAR,"iVAR_nmc",periods,0,2);
if(iVAR_2>a1 && iVAR_1>a2 && iVAR_2<a3 && iVAR_1<a4)
Result=true;
return(Result);
}
bool isNewBar()
{
bool res=false;
if (Time[0]!=pTime)
{
res=true;
pTime=Time[0];
}
return(res);
}
void OnDeinit(const int reason)
{
if(ShowComment) Comment("");
return;
}
void OnTick()
{
// код доступен только после оплаты
}
void PrintLineLine(string text)
{
int start_pos;
int position = -1;
while(position < StringLen(text))
{
start_pos = position + 1;
position = StringFind(text,"\n",start_pos);
if(position == -1)
{
Print(StringSubstr(text,start_pos));
return;
}
Print(StringSubПоказано первые 50% кода (символов: 43388)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.