← К каталогу
Исходный код · ID 1103

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 и перейдите к оплате.

Стоимость полного кода
1 517,60₽ ≈ $18.55