Madlen
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «madlen_5_0.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Madlen — это пользовательский индикатор для MetaTrader 4, отображающий на графике каналы, построенные по фракталам. Основная визуализация представлена двумя линиями под углами 45° и 315°, которые рисуются от экстремумов фракталов. Индикатор также рисует горизонтальные уровни по верхним и нижним фракталам и строит объекты Фибоначчи между ними.
Индикатор поддерживает отрисовку прямоугольных зон торговых сессий (Европейская и Американская) для таймфреймов до H4 включительно. В зависимости от настроек можно включить или отключить отображение последних линий, фибоначчи и сессионных зон.
Встроенная аналитическая функция сравнивает текущую цену закрытия с линиями канала и уровнями Фибоначчи, формируя комментарии на графике и оповещения при совпадении условий. Также индикатор рассчитывает размеры лотов на основе заданного процента риска и расстояния стоп-лосса в пунктах.
Язык реализации — MQL4, платформа — MetaTrader 4. Индикатор работает в режиме расчёта и отрисовки на графике, обрабатывая данные ценовых баров.
Настройки программы
| Настройка | Описание |
|---|---|
| __ | Метка заголовка — Текстовый параметр для пользовательской метки заголовка. |
| cfg_Signal | Оповещения о сигналах — Переключатель, включающий отправку оповещений (Alert) при появлении сигналов. |
| _ | Метка 2 — Текстовый параметр для пользовательской метки. |
| D1 (cfg_Period) | Период фракталов — Целое число, задающее таймфрейм для расчёта фракталов (по умолчанию D1). |
| ?????????? ?????? ??????? ?????????????? (cfg_MaxBars) | Макс. баров для фракталов — Целое число, задающее максимальное количество баров для поиска фракталов. |
| ????????? ?????? ??? ??? (cfg_Ray) | Лучи канала — Переключатель, определяющий, продолжаются ли линии канала вправо лучами. |
| ????????? ????????????? ??????. (cfg_DrawLast) | Рисовать последнюю линию — Переключатель отображения последних линий канала. |
| ????????? Fibo (cfg_DrawFibo) | Рисовать Фибоначчи — Переключатель отображения объектов Фибоначчи между фракталами. |
| _Session | Метка сессий — Текстовый параметр для пользовательской метки сессий. |
| cfg_DrawSession | Рисовать сессии — Переключатель отрисовки прямоугольных зон торговых сессий. |
| ??????????? (cfg_SessionColor1) | Цвет сессии Европа — Цвет прямоугольника европейской торговой сессии. |
| ???????????? (cfg_SessionColor2) | Цвет сессии США — Цвет прямоугольника американской торговой сессии. |
| _Risks | Метка риска — Текстовый параметр для пользовательской метки раздела риска. |
| cfg_Risk | Размер риска (%) — Числовой параметр, задающий процент риска от баланса для расчёта лота. |
| cfg_RiskLevelPoint | Стоп-лосс в пунктах — Целое число, задающее расстояние стоп-лосса в пунктах от уровня. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
/*
Update 5.0
- ????? ????? ????????, ?????????? ????????? ????? 45 ? 315
- ?????? ? ??????????? ?? ????????? ???? ????? ????????
- ????????? ?????????? ?? ?????????????? ? ????????????????
- ????? ??????, ???????
Update 4.4
- ????????? ????????? ??????
?? ????????? 0.1 ???, 1% ?? ????
Update 4.31
- ?????????? ???????:-)
Ipdate 4.3
- ?? ????????? ?????????, ???? ? ?????? ?????????
Update 4.2
- ????????? ?????? ????????? ?? ??????
- ?????? ?????
Update 4.1
- ???????? ?????? ?????????
- ????????? ????? ??? ????????? ????? ??????? ? ??????
- ????????? ????????? ?????? ??????????? ? ???????????? ?? ??????? ????????
- ???????? Pivot
Update 4.0
- ???????? ????????? ??????? (????????? ?? ????????? ??? D1, W1, H4)
- ???????????? ?????? ??????? ??????? ? ??????? ????? ? ????? ?? ?????? ???, ????????? ????? ? ?????? ??????
Update 3.1
- ????????? ????????? ????????? ??????
Update 3.0
- ????????? ?????? ?? ?????????
- ??????? ??????? ????????????? ???????
Update 2.9
- ????????? ????. ??? ?????????
Update 2.8
- ?????? ????????????? dll
- ?????????? ?????? ?????
Update 2.7
- ?????????? ???????? ?????????
- ????????? ????? ??? ??????????????? ????????? ????? ?? ????????????? ?????
Update 2.6
- ????? ?????????????? ??? ????? ????????????? ??????? ?????????! ?????? 45 ??? 1:1
- ???????? ??????? ??? ????????
Update 2.5.
- ????????? ?????? ??????
- ???????? ????????
Update 2.4.
- ?????? ????????? ?? ?????? ???????? ?.?. ????? ????????? ??????
- ????????? ??????????? ???????? ???? ?? ???????, ???? ?? ????????, ? ? ??????????? ?? ????? ??????? ?? ??????.
- ?????????? ?????? ????????? ???? ??? ???????????????, ?????? ?? ?????? 45.
Update 2.3.
- ????????? ????????? ?? ????????????????? ????????.
- ??????? ?????? ??????? ????????
Update 2.2.
- ????????? ??????????? ????????? ??????? ?? ???????
*/
#include <stdlib.mqh>
string str="Madlen v5";
extern string __="?????? ???????";
extern bool cfg_Signal=false;
extern string _="????????? ?????????";
extern int cfg_Period=0; //D1
extern int cfg_MaxBars=5; //?????????? ?????? ??????? ??????????????
extern bool cfg_Ray=true; //????????? ?????? ??? ???
extern bool cfg_DrawLast=true; //????????? ????????????? ??????.
extern bool cfg_DrawFibo=true; //????????? Fibo
extern string _Session="????????? ????????? ??????";
extern bool cfg_DrawSession=true;
extern color cfg_SessionColor1=MediumTurquoise; //???????????
extern color cfg_SessionColor2=Gainsboro; //????????????
extern string _Risks="?????";
double cfg_RiskLots=0.1;
extern double cfg_Risk=0.01;
extern int cfg_RiskLevelPoint=25;
/*
?5 72-144-288
?10 36-72-144
?1 12-24-120 ??? 120-240-480
H4 30-60-120
D1 5-10-20 ??? 9-26-52
W1 9-26-52
*/
double up,low,dUp,dLow; //fractals
double width=0; //kanal
int g_Zoom=36; //??? ????? ?????? ??? 1:1 32,16,8,4,1 ??????? 2-??
int g_typeSignal=-1; //signal
double Pivot; //pivot
double haOpen, haHigh, haLow, haClose; //heiken ashi
int ExtCountedBars=0;
double dFibo38,dFibo50,dFibo62,dFibo100,dFibo162,dFibo200,dFibo262;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
DeleteAll();
return(0);
}
void DeleteAll()
{
ObjectsDeleteAll(0,OBJ_TREND);
ObjectsDeleteAll(0,OBJ_HLINE);
ObjectsDeleteAll(0,OBJ_FIBO);
ObjectsDeleteAll(0,OBJ_RECTANGLE);
ObjectsDeleteAll(0,OBJ_TEXT);
}
int start()
{
// код доступен только после оплаты
}
void AnalizSignal(double price,double line45[2],bool isInit)
{
double l=MarketInfo(Symbol(),MODE_SWAPLONG);
double s=MarketInfo(Symbol(),MODE_SWAPSHORT);
double swap=0;
string sSwap="";
double sl_b=0,sl_s=0;
double osl_b=0,osl_s=0;
double lot_b=0,lot_s=0;
int iFiboSignal=-1;
double dUp=ObjectGet("level_up",OBJPROP_PRICE1);
double dDown=ObjectGet("level_down",OBJPROP_PRICE1);
if(Bid>dDown && Ask<dUp)
{
sl_s=dUp+Point*cfg_RiskLevelPoint;
sl_b=dDown-Point*cfg_RiskLevelPoint;
osl_b=dDown+Point*10;
osl_s=dUp-Point*10;
lot_s=GetLotOfRisk(cfg_Risk,sl_s,0);
lot_b=GetLotOfRisk(cfg_Risk,sl_b,1);
}
else
if(Bid>dUp && Bid>dDown)
{
sl_s=0;lot_s=0;
sl_b=dUp-Point*cfg_RiskLevelPoint;
osl_b=dUp+Point*10;
osl_s=0;
lot_b=GetLotOfRisk(cfg_Risk,sl_b,1);
}
else
if(Ask<dUp && Ask<dDown)
{
sl_b=0;lot_b=0;
sl_s=dDown+Point*cfg_RiskLevelPoint;
osl_s=dDown-Point*10;
lot_s=GetLotOfRisk(cfg_Risk,sl_s,0);
}
InitFibo();
iFiboSignal=AnalizeFibo();
string sFiboSignal="NOT";
if(iFiboSignal==OP_BUY) sFiboSignal="BUY";
else if(iFiboSignal==OP_SELL) sFiboSignal="SELL";
if(l>0 && s<0){sSwap="BUY"; swap=l;}
else if(l<0 && s>0){sSwap="SELL"; swap=s;}
else if(l>0 && s>0){sSwap="BUY,SELL"; swap=MathMin(l,s);}
else {sSwap=""; swap=l;}
if(iClose(Symbol(),cfg_Period,0)>price && iClose(Symbol(),cfg_Period,0)>line45[1] && iClose(Symbol(),cfg_Period,0)>line45[0] && line45[1]!=0 && iFiboSignal==OP_BUY)
{
Comment("Signal: BUY,Close: ",iClose(Symbol(),cfg_Period,1),", line45: ",line45[1],"\nWidthCanal: ",width," pips"," SwapType: ",sSwap," = ",swap,
"\n","Risk: ",cfg_Risk*100,"% RiskLots for buy(",lot_b,"), sell(",lot_s,")","\nNormal open for buy(",osl_b,"), sel(",osl_s,")",
"\nStop for buy(",sl_b,"), sell(",sl_s,")\n",GetMidleDay(20),"\nFibo signal: ",sFiboSignal);
if((g_typeSignal==OP_SELL || isInit==true)&& cfg_Signal==true )
{
Alert(Hour(),":",Minute()," (",Symbol(),") Signal: BUY ,Close: ",iClose(Symbol(),cfg_Period,1),", line45: ",line45[1],
"\n","Risk: ",cfg_Risk*100,"% RiskLots for buy(",lot_b,"), sell(",lot_s,")","\nNormal open for buy(",osl_b,"), sel(",osl_s,")",
"\nStop for buy(",sl_b,"), sell(",sl_s,")\n",GetMidleDay(20));
}
g_typeSignal=OP_BUY;
}
else if(iClose(Symbol(),cfg_Period,0)<price && iClose(Symbol(),cfg_Period,0)<line45[0] && iClose(Symbol(),cfg_Period,0)<line45[1] && line45[0]!=0 && iFiboSignal==OP_SELL)
{
Comment("Signal: SELL ,Close: ",iClose(Symbol(),cfg_Period,1),", line45: ",line45[1],"\nWidthCanal: ",width," pips"," SwapType: ",sSwap," = ",swap,
"\n","Risk: ",cfg_Risk*100,"% RiskLots for buy(",lot_b,"), sell(",lot_s,")","\nNormal open for buy(",osl_b,"), sel(",osl_s,")",
"\nStop for buy(",sl_b,"), sell(",sl_s,")\n",GetMidleDay(20),"\nFibo signal: ",sFiboSignal);
if((g_typeSignal==OP_BUY || isInit==true)&& cfg_Signal==true)
{
Alert(Hour(),":",Minute()," (",Symbol(),") Signal: SELL ,Close: ",iClose(Symbol(),cfg_Period,1),",line315: ",line45[0],
"\n","Risk: ",cfg_Risk*100,"% RiskLots for buy(",lot_b,"), sell(",lot_s,")","\nNormal open for buy(",osl_b,"), sel(",osl_s,")",
"\nStop for buy(",sl_b,"), sell(",sl_s,")\n",GetMidleDay(20));
}
g_typeSignal=OP_SELL;
}
else
{
Comment("Signal: NOT ,Close: ",iClose(Symbol(),cfg_Period,1),", line45: ",line45[1],"\nWidthCanal: ",width," pips"," SwapType: ",sSwap," = ",swap,
"\n","Risk: ",cfg_Risk*100,"% RiskLots for buy(",lot_b,"), sell(",lot_s,")","\nNormal open for buy(",osl_b,"), sel(",osl_s,")",
"\nStop for buy(",sl_b,"), sell(",sl_s,")\n",GetMidleDay(20),"\nFibo signal: ",sFiboSignal);
g_typeSignal=-1;
}
}
void InitFibo()
{
string sFibo="fibo_level";
double dUp=ObjectGet("level_up",OBJPROP_PRICE1);
double dDown=ObjectGet("level_down",OBJPROP_PRICE1);
if(ObjectFind(sFibo)!=-1)
{
if(Ask<dDown)
{
dFibo38=NormalizeDouble(dUp-(dUp-dDown)*0.382,Digits); //0
dFibo50=NormalizeDouble(dUp-(dUp-dDown)*0.5,Digits); //0
dFibo62=NormalizeDouble(dUp-(dUp-dDown)*0.618,Digits); //0
Показано первые 50% кода (символов: 15176)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.