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

mv-i-chuvashov_1_1 nmc.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Пользователь может включать и отключать отображение фракталов, настраивать цвета и толщину трендовых линий и маркеров сигналов, а также переключать звуковые оповещения и вывод сообщений в журнал экспертов как для обнаружения фрактальных паттернов, так и для торговых сигналов. Индикатор работает исключительно в визуальном режиме и не выполняет реальных торговых операций.

Настройки программы

НастройкаОписание
Ind_Coment1 Текстовый комментарий — Текстовый параметр для отображения заголовка первого раздела на графике
???/???? ??????? ????????? (ShowFractals) Отображение фракталов — Включает или отключает отрисовку стрелок фракталов на графике
???/???? ??????? (OnAlert) Оповещения фракталов — Включает звуковые оповещения при обнаружении паттернов фракталов
???/???? ????? ??????? ? ??????? ???????? (OnPrint) Печать фракталов — Включает вывод сообщений о фракталах в журнал экспертов
?????????? ????????? ?????????? "?????" (nVilka_Upper) Максимум верхних вилок — Максимальное количество сохраняемых верхних линий вилок на графике
?????????? ????????? ?????????? "?????" (nVilka_Lower) Максимум нижних вилок — Максимальное количество сохраняемых нижних линий вилок на графике
???? ?????????? "?????" (Color_LineUpper) Цвет верхней линии — Цвет линий верхних вилок
???? ?????????? "?????" (Color_LineLower) Цвет нижней линии — Цвет линий нижних вилок
?????? ?????????? "?????" (Width_LineUpper) Толщина верхней линии — Толщина линий верхних вилок
?????? ?????????? "?????" (Width_LineLower) Толщина нижней линии — Толщина линий нижних вилок
Ind_Coment2 Текстовый комментарий 2 — Текстовый параметр для отображения заголовка второго раздела на графике
???/???? ??????? (OnAlert_Orders) Оповещения ордеров — Включает звуковые оповещения при появлении сигналов покупки или продажи
???? ??????? ?? ??????? (Color_OrderBuy) Цвет ордера покупки — Цвет визуальной линии и стрелки сигнала покупки
???? ??????? ?? ??????? (Color_OrderSell) Цвет ордера продажи — Цвет визуальной линии и стрелки сигнала продажи
?????? ??????? ?? ??????? (Width_OrderBuy) Толщина ордера покупки — Толщина линии сигнала покупки
?????? ??????? ?? ??????? (Width_OrderSell) Толщина ордера продажи — Толщина линии сигнала продажи
???? ????????? ?? ??????? (Color_SLBuy) Цвет стоп-лосса покупки — Цвет линии стоп-лосса для сигнала покупки
???? ????????? ?? ??????? (Color_SLSell) Цвет стоп-лосса продажи — Цвет линии стоп-лосса для сигнала продажи
?????? ?????? ??????? (Orders_FontSize) Размер шрифта ордеров — Размер шрифта текстовых меток цен и стоп-лоссов на графике
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_width1 1
#property indicator_width2 1

extern string Ind_Coment1= "--- ??????? ????????? ?????????? ---";
extern bool  ShowFractals     =  true;         // ???/???? ??????? ?????????
extern bool  OnAlert          = false;         // ???/???? ???????
extern bool  OnPrint          = false;         // ???/???? ????? ??????? ? ??????? ????????
extern int   nVilka_Upper     =     1;         // ?????????? ????????? ?????????? "?????"
extern int   nVilka_Lower     =     1;         // ?????????? ????????? ?????????? "?????"
extern color Color_LineUpper  =   Red;         // ???? ?????????? "?????"
extern color Color_LineLower  =  Blue;         // ???? ?????????? "?????"
extern int   Width_LineUpper  =     2;         // ?????? ?????????? "?????"
extern int   Width_LineLower  =     2;         // ?????? ?????????? "?????"
extern string Ind_Coment2= "--- ????????? ??????????? ??????? ---";
extern bool  OnAlert_Orders   =  true;         // ???/???? ???????
extern color Color_OrderBuy   =  Blue;         // ???? ??????? ?? ???????
extern color Color_OrderSell  = Green;         // ???? ??????? ?? ???????
extern int   Width_OrderBuy   =     2;         // ?????? ??????? ?? ???????
extern int   Width_OrderSell  =     2;         // ?????? ??????? ?? ???????
extern color Color_SLBuy      =   Red;         // ???? ????????? ?? ???????
extern color Color_SLSell     =   Red;         // ???? ????????? ?? ???????
extern int   Orders_FontSize  =    12;         // ?????? ?????? ???????

int          nLine_Upper      =     0,         // ?????????? ????????? ?????, ???????????? ?????
             nLine_Lower      =     0,         // ?????????? ????????? ?????, ???????????? ????
             nBars            =     0;         //
datetime     mLineUpper_DateTime[][2];         // ?????? ? ??????????? ?????????? "?????"

double       mLineUpper_Price[][2];            // ?????? ? ??????????? ?????????? "?????"

datetime     mLineLower_DateTime[][2];         // ?????? ? ??????????? ?????????? "?????"

double       mLineLower_Price[][2];            // ?????? ? ??????????? ?????????? "?????"

int          mOrders[2][1];                    // ?????? ? ??????????? "????????" ???????

double ExtMapBuffer1[];
double ExtMapBuffer2[];

void init()  {
      // код доступен только после оплаты
   }

void deinit()   {     // Custom indicator deinitialization function
int    Qnt=ObjectsTotal();

  for (int i=0; i<Qnt; i++)   {  // ???? ?? ????????
    if(StringFind(ObjectName(i),"Line.Upper",0)>=0) {
      ObjectDelete(ObjectName(i));     // ???????????? ?????
      i--; continue;
    }
    if(StringFind(ObjectName(i),"Line.Lower",0)>=0) {
      ObjectDelete(ObjectName(i));     // ???????????? ????
      i--; continue;
    }
    if(i>=ObjectsTotal()) break;
  }
  DeleteOrders(10); DeleteOrders(20);
 return;
}

void start() {
      // код доступен только после оплаты
   }

bool UpperVilka(int nBar)  {     // ??????? ?????????? ? ?????? ?????????? "?????"
int         j=0;
double      Fractal_Lower=0;
double      mFractals_Price[3];
datetime    mFractals_DateTime[3];

   ArrayInitialize(mFractals_Price,0); ArrayInitialize(mFractals_DateTime,0);
   for (int i=nBar; i<Bars; i++)   {  // ???? ?? ?????
      Fractal_Lower=iFractals(NULL,0,MODE_LOWER,i);
      if(Fractal_Lower!=0) {
         mFractals_Price[j]=Fractal_Lower-MarketInfo(Symbol(),MODE_SPREAD)*Point;
         mFractals_DateTime[j]=Time[i];
         j++;
      }
      if(j>2) break;
   }

   if(mFractals_Price[2]<mFractals_Price[1] && mFractals_Price[1]<mFractals_Price[0])  {
      string Name1="Line.Upper"+DoubleToStr(nLine_Upper,0); nLine_Upper++;
      string Name2="Line.Upper"+DoubleToStr(nLine_Upper,0); nLine_Upper++;

      ObjectCreate(Name1,OBJ_TREND,0,mFractals_DateTime[2],mFractals_Price[2],mFractals_DateTime[1],mFractals_Price[1]);
      ObjectCreate(Name2,OBJ_TREND,0,mFractals_DateTime[1],mFractals_Price[1],mFractals_DateTime[0],mFractals_Price[0]);
      if (ObjectGetValueByShift(Name1,nBar)<ObjectGetValueByShift(Name2,nBar))  {
        ObjectDelete(Name1); ObjectDelete(Name2); nLine_Upper--; nLine_Upper--; return(false);
      }
      ObjectSet(Name1,OBJPROP_COLOR,Color_LineUpper);   ObjectSet(Name2,OBJPROP_COLOR,Color_LineUpper);
      ObjectSet(Name1,OBJPROP_WIDTH,Width_LineUpper);   ObjectSet(Name2,OBJPROP_WIDTH,Width_LineUpper);
      ObjectSet(Name1,OBJPROP_RAY,True);                ObjectSet(Name2,OBJPROP_RAY,True);
      CheckNumVilka(10);

      mOrders[1][0]=0; 

      DeleteOrders(20);
      return(true);
   }
   return(false);
}

bool LowerVilka(int nBar)  {     // ??????? ?????????? ? ?????? ?????????? "?????"
int         j=0;
double      Fractal_Upper=0;
double      mFractals_Price[3];
datetime    mFractals_DateTime[3];

   ArrayInitialize(mFractals_Price,0); ArrayInitialize(mFractals_DateTime,0);
   for (int i=nBar; i<Bars; i++)   {  // ???? ?? ?????
      Fractal_Upper=iFractals(NULL,0,MODE_UPPER,i);
      if(Fractal_Upper!=0) {
         mFractals_Price[j]=Fractal_Upper+MarketInfo(Symbol(),MODE_SPREAD)*Point;
         mFractals_DateTime[j]=Time[i];
         j++;
      }
      if(j>2) break;
   }

   if(mFractals_Price[2]>mFractals_Price[1] && mFractals_Price[1]>mFractals_Price[0])  {
      string Name1="Line.Lower"+DoubleToStr(nLine_Lower,0); nLine_Lower++;
      string Name2="Line.Lower"+DoubleToStr(nLine_Lower,0); nLine_Lower++;

      ObjectCreate(Name1,OBJ_TREND,0,mFractals_DateTime[2],mFractals_Price[2],mFractals_DateTime[1],mFractals_Price[1]);
      ObjectCreate(Name2,OBJ_TREND,0,mFractals_DateTime[1],mFractals_Price[1],mFractals_DateTime[0],mFractals_Price[0]);
      if (ObjectGetValueByShift(Name1,nBar)>ObjectGetValueByShift(Name2,nBar))  {
        ObjectDelete(Name1); ObjectDelete(Name2); nLine_Lower--; nLine_Lower--; return(false);
      }
      ObjectSet(Name1,OBJPROP_COLOR,Color_LineLower);   ObjectSet(Name2,OBJPROP_COLOR,Color_LineLower);
      ObjectSet(Name1,OBJPROP_WIDTH,Width_LineLower);   ObjectSet(Name2,OBJPROP_WIDTH,Width_LineLower);
      ObjectSet(Name1,OBJPROP_RAY,True);                ObjectSet(Name2,OBJPROP_RAY,True);
      CheckNumVilka(20);

      mOrders[0][0]=0; 

      DeleteOrders(10);
      return(true);
   }
   return(false);
}

bool isNewBar() {                     // ??????? ?????????? true, ???? ????????? ????? ???, ????? false
  if(nBars!=Bars) {
    nBars=Bars; return(true);
  }
  return(false);
}

void CheckNumVilka(int Type)  {     // ??????? ????????? ?????????? ?????????? ????? ?????????? ????
int i;
  switch(Type)  {
    case 10:

      if(nLine_Upper<=nVilka_Upper*2)  {
        mLineUpper_DateTime[nLine_Upper-2][0]=ObjectGet("Line.Upper"+(nLine_Upper-2),OBJPROP_TIME1);
        mLineUpper_DateTime[nLine_Upper-2][1]=ObjectGet("Line.Upper"+(nLine_Upper-2),OBJPROP_TIME2);
        mLineUpper_Price[nLine_Upper-2][0]=ObjectGet("Line.Upper"+(nLine_Upper-2),OBJPROP_PRICE1);
        mLineUpper_Price[nLine_Upper-2][1]=ObjectGet("Line.Upper"+(nLine_Upper-2),OBJPROP_PRICE2);

        mLineUpper_DateTime[nLine_Upper-1][0]=ObjectGet("Line.Upper"+(nLine_Upper-1),OBJPROP_TIME1);
        mLineUpper_DateTime[nLine_Upper-1][1]=ObjectGet("Line.Upper"+(nLine_Upper-1),OBJPROP_TIME2);
        mLineUpper_Price[nLine_Upper-1][0]=ObjectGet("Line.Upper"+(nLine_Upper-1),OBJPROP_PRICE1);
        mLineUpper_Price[nLine_Upper-1][1]=ObjectG

Показано первые 50% кода (символов: 16061)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 606,10₽ ≈ $19.63