ФОРЕКС ДРУГ
Воскресенье, 2025-07-06, 2:27 PM


Приветствую Вас Гость | RSS
Главная Блог Регистрация Вход

Меню сайта

Форма входа

Поиск


  • БУДДАРА

  • «ПРИБЫЛЬНЫЕ ФОРЕКС СОВЕТНИКИ ИНДИКАТОРЫ И ТОРГОВЫЕ СИСТЕМЫ БЕСПЛАТНО»
    Ваш e-mail: *
    Ваше имя: *
    Подписчиков:






    Главная » 2010 » Январь » 04 » Форекс стратегия Вилка Чувашова на видео и индикатор к ней.
    4:15 PM
    Форекс стратегия Вилка Чувашова на видео и индикатор к ней.

    Форекс стратегия "Вилка Чувашова на видео" и индикатор к ней


    Форекс стратегия "Вилка Чувашова на видео" и индикатор к ней для Метатрейдер.
     
    Скачать:
     Ind_VilkaFractals_v1.2.mq4 (6.1 Kb) 

    Индикатор по стратегии "Вилка Чувашова".


    Теперь не нужно рисовать линии вручную, индикатор сам автоматически находит и рисует "вилки",

    а также уведомляет трейдера сигналами.

    Принцип работы хорошо виден на видео.
    Перед использованием индикатора необходимо хорошо изучить саму стратегию.

    Система хорошо работает на таймфреймах M30 и выше.






     


     Corrected by api Version 1.3 
    //+------------------------------------------------------------------+
    //|                                       Ind_VilkaFractals_v1.3.mq4 |
    //|                      Copyright © 2009, Alexey Sleptsov (lekhach) |
    //|                                             lekhach18@rambler.ru |
    //|                                     Corrected by api Version 1.3 |
    //|                                              p231970@hotmail.com |
    //+------------------------------------------------------------------+
    // Индикатор работает по стратегии "Вилка Чувашова".
    // Версия 1.3 (api):
    // 1. Изменен порядок поиска вилок, поиск производится в последних BarsToSearch
    барах

    // 2. Изменены значения по умолчаию для количества линий в связи с исправленным
    алгоритмом

    // 3. Исправлена ошибка поиска вилок. Вилки теперь не пропускаются.
    // 3а. Разрешены трех- и более зубцовые вилки.
    // 4. В некоторых местах косметические исправления для поднятия производительности.
    // 4а. В целом производительность индикатора упала из-за постоянного поиска на
    последних BarsToSearch барах

    // Версия 1.2:
    // 1. Добавлена функция удаления объектов при выгрузке индикатора.
    // 2. Удалены лишние строки из кода.
    // 3. Переделан Alert.
    // 4. Добавлен FractalsTrue.
    //--------------------------------------------------------------------
    #property copyright "lekhach © 2009"
    #property link      "lekhach18@rambler.ru"
    //--------------------------------------------------------------------
    #property indicator_chart_window
    #property indicator_buffers 2
    #property indicator_color1 Blue
    #property indicator_color2 Red
    #property indicator_width1 1
    #property indicator_width2 1
    //---- input parameters
    extern int   BarsToSearch=500;   // Количество баров для анализа
    extern int   Lines=4;          
    // Количество видимых/невидимых фрактальных линий
     (max 100)

    extern bool  FractalsTrue=true;  // Вкл/выкл значков фракталов
    extern bool  AlertTrue=true;     // Вкл/выкл сигнала
    extern color LinesColorUp=Blue;  // Цвет верхних фрактальных линий
    extern color LinesColorDown=Red; // Цвет нижних фрактальных линий
    //---- buffers
    double ExtMapBuffer1[];
    double ExtMapBuffer2[];
    //--- my variables
    double BufPriceUp[100];
    double BufDateUp[100];
    double BufPriceDown[100];
    double BufDateDown[100];
    datetime LastSignal = 0;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
    int init()
    {
       if(Lines>100) Lines=100;
    //---- indicators
       SetIndexStyle(0,DRAW_ARROW);
       SetIndexArrow(0,217);
       SetIndexBuffer(0,ExtMapBuffer1);
       SetIndexEmptyValue(0,0.0);
       SetIndexStyle(1,DRAW_ARROW);
       SetIndexArrow(1,218);
       SetIndexBuffer(1,ExtMapBuffer2);
       SetIndexEmptyValue(1,0.0);
    //---- name for DataWindow and indicator subwindow label
       IndicatorShortName("Fractals");
       SetIndexLabel(0,"FractalsUp");
       SetIndexLabel(1,"FractalsDown");
    //----
       return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function                       |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----
       for (int j=0; j<100; j++)
       {
          ObjectDelete("LineUp"+j);
          ObjectDelete("LineDown"+j);
       }
       return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function                              |
    //+------------------------------------------------------------------+
    int start()
    {
       int uplines=0;
       int downlines=0;
       int Up=0;
       int Down=0;
       bool l_n_exists;
       deinit();
    //---- Основной цикл
       for (int i=0; i<BarsToSearch; i++)
       {
          if (FractalsTrue==true)
          {
             ExtMapBuffer1[i]=iFractals(NULL,0,MODE_UPPER,i);
             ExtMapBuffer2[i]=iFractals(NULL,0,MODE_LOWER,i);
          }
    //---- Блок Up-фракталов
          double f = iFractals(NULL,0,MODE_UPPER,i);
          if (f!=0)
          {
             Up++;
             BufPriceUp[Up]=f;
             BufDateUp[Up]=Time[i];
             if (Up>2 && uplines<Lines && BufPriceUp[Up]>BufPriceUp[Up-1] &&
    BufPriceUp[Up-1]>BufPriceUp[Up-2])
             {
                ObjectCreate("LineUp"+Up,OBJ_TREND,0,BufDateUp[Up],BufPriceUp[Up],
    BufDateUp[Up-1],BufPriceUp[Up-1]);
                l_n_exists = ObjectCreate("LineUp"+(Up-1),OBJ_TREND,0,BufDateUp[Up-1],
    BufPriceUp[Up-1],BufDateUp[Up-2],BufPriceUp[Up-2]);
                if (ObjectGetValueByShift("LineUp"+Up,0)>

    ObjectGetValueByShift
    ("LineUp"+(Up-1),0))
                {
                   ObjectDelete("LineUp"+Up);
                   if(l_n_exists) ObjectDelete("LineUp"+(Up-1));
                }
                else
                {
                   uplines+=2;
                   if (AlertTrue==true && uplines==2 && LastSignal<Time[i])
                   {
                      LastSignal = Time[i];
                      Alert(Symbol(),Period()," Низходящая вилка! "
    ,
    TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
                   }
                   ObjectSet("LineUp"+(Up-1),OBJPROP_COLOR,LinesColorUp);
                   ObjectSet("LineUp"+(Up-1),OBJPROP_WIDTH,2);
                   ObjectSet("LineUp"+(Up-1),OBJPROP_RAY,True);
                   ObjectSet("LineUp"+Up,OBJPROP_COLOR,LinesColorUp);
                   ObjectSet("LineUp"+Up,OBJPROP_WIDTH,2);
                   ObjectSet("LineUp"+Up,OBJPROP_RAY,True);        
                }
             }
          }
    //---- Блок Down-фракталов
          f = iFractals(NULL,0,MODE_LOWER,i);
          if (f!=0)
          {
             Down++;
             BufPriceDown[Down]=f;
             BufDateDown[Down]=Time[i];
             if (Down>2 && downlines<Lines && BufPriceDown[Down]<BufPriceDown[Down-1]
     && BufPriceDown[Down-1]<BufPriceDown[Down-2])
             {
                ObjectCreate("LineDown"+Down,OBJ_TREND,0,BufDateDown[Down]
    ,
    BufPriceDown[Down],BufDateDown[Down-1],BufPriceDown[Down-1]);
                l_n_exists = ObjectCreate("LineDown"+(Down-1),OBJ_TREND,0,
    BufDateDown[Down-1],BufPriceDown[Down-1],BufDateDown[Down-2],BufPriceDown[Down-2]);
                if (ObjectGetValueByShift("LineDown"+Down,0)<

    ObjectGetValueByShift
    ("LineDown"+(Down-1),0))
                {
                   ObjectDelete("LineDown"+Down);
                   if(l_n_exists) ObjectDelete("LineDown"+(Down-1));
                }
                else
                {
                   downlines+=2;
                   if (AlertTrue==true && downlines==2 && LastSignal<Time[i])
                   {
                      LastSignal = Time[i];
                      Alert(Symbol(),Period(),
    " Восходящая вилка!
    "
    ,TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
                   }
                   ObjectSet("LineDown"+(Down-1),OBJPROP_COLOR,LinesColorDown);
                   ObjectSet("LineDown"+(Down-1),OBJPROP_WIDTH,2);
                   ObjectSet("LineDown"+(Down-1),OBJPROP_RAY,True);
                   ObjectSet("LineDown"+Down,OBJPROP_COLOR,LinesColorDown);
                   ObjectSet("LineDown"+Down,OBJPROP_WIDTH,2);
                   ObjectSet("LineDown"+Down,OBJPROP_RAY,True);
                }
             }
          }
       }
    //----
       return(0);
    }
    //+------------------------------------------------------------------+
    Просмотров: 3920 | Добавил: forex_s | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Календарь
    «  Январь 2010  »
    Пн Вт Ср Чт Пт Сб Вс
        123
    45678910
    11121314151617
    18192021222324
    25262728293031

    Архив записей

    Друзья сайта

  • БУДДАРА

  • «ПРИБЫЛЬНЫЕ ФОРЕКС СОВЕТНИКИ ИНДИКАТОРЫ И ТОРГОВЫЕ СИСТЕМЫ БЕСПЛАТНО»
    Ваш e-mail: *
    Ваше имя: *
    Подписчиков:





    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    СВЕРХПРИБЫЛЬНЫЕ СОВЕТНИКИ И ИНДИКАТОРЫ ДЛЯ ФОРЕКС >>>Торговые системы для Forex !
    Copyright © 2025
    Сайт управляется системой uCoz Forex Форекс