Пятница, 19.04.2024, 06:40
Приветствую Вас Гость

All4Forex - Все для Форекс

Форма входа
Категории раздела
Меню сайта
Партнеры:
Позиции трейдеров:
Новости Форекс:
<a href="http://www.mt5.com/ru/">Форекс портал</a>
РЕКЛАМА:

Получить WMR-бонус на свой кошелек!
Аналитика рынка Forex:
АНАЛИТИКА FOREX
Аналитика рынка Forex:
НОВОСТИ FOREX
Новости рынка Forex:
Главная » Статьи » Учебный материал

Лень - двигатель прогресса. Полуавтоматическая разметка шаблона.

Полуавтоматическая разметка шаблона для торговли.

Для примера рассмотрим разметку волн Вульфа. (Описание берем из известной книги Линды Рашке «Биржевые секреты»).

Теория волновых структур Билла Вульфа основана на ньютоновском первом законе физики: у каждого действия есть противодействие. Это движение создает четко выраженную волну с ценными возможностями проецирования. Наиболее отчетливо эта волна образуется, когда есть хорошая волатильность.

Начиная от вершины или основания на барном графике, мы определяем точку начала нашего отсчета новой волны. Этот отсчет делается для схемы покупки. Мы начинаем отсчет от вершины. (Счет волн велся бы наоборот, если бы мы начинали от основания, стараясь найти схему продажи).

Волна номер 2 — вершина.

Волна номер 3 — основание первого снижения.

Волна номер 1 — основание, предшествующее волне 2 (вершине). Точка 3 должна бытьниже точки 1.

Волна номер 4 — вершина волны 3. Точка волны 4 должна быть выше основания волны 1

Линия тренда проводится из точки 1 к точке 3. Продление этой линии проецируетожидаемую точку разворота, которую мы назовем волной 5. Это точка вхождения для движения к линии расчетной конечной цены (1—4).

Расчетная конечная цена (Estimated Price at Arrival, EPA) — линия тренда, прочерченная из точки 1 до точки 4, позволяет спроецировать ожидаемую ценовую цель. Наш первоначальный стоп помещен чуть ниже вновь сформированного разворота в точке 5. Онможет затем быстро передвинуться к точке безубыточности.

ВАЖНЫЙ МОМЕНТ: вы не можете начинать искать «волну Вулфа», пока не сформированы точки 1, 2, 3 и 4. Не забывайте, для схемы покупки точка 3 должна быть ниже точки I. Для схемы продажи она должна быть выше точки 1. Кроме того, на лучших волнах точка 4 будет выше точки 1 для схемы покупки и ниже 1 для схемы продажи. Это гарантирует, что состояния абсолютного убегания рынка не существует. Теперь изучите примеры и посмотрите, сможете ли вы натренировать свой глаз начать видеть схему «волны Вулфа».

Пример показывает, как выглядит «волна Вулфа», когда начинает формироваться. Точки 1, 2 и 3 уже должны быть сформированы. Точка 2 должна быть минимумом или максимумом существенного колебания. Затем между точками 1 и 3 проводится линия тренда. Она проецирует, где мы должны ожидать точку 5.


Точка 5 сформирована. Мы купим на развороте из этой области и поставим чуть ниже близкий стоп. Если мы прочертим линию тренда из точки 1 к точке 4, она должна дать нам проекцию цены.



Точка 2 — начальная отправная точка модели. Мне всегда кажется легче начинать отсчет в этой точке. Затем отходим назад и находим точки 1 и 3. Не забудьте, что точка 4 должна быть выше точки 1. Прочерченная нами линия тренда проецирует точку 5 На этом уровне рынок находит поддержку, поэтому мы открываем длинную позицию по цене рынка и размещаем стоп чуть ниже точки 5. Рынок торгуется до своей цели.



Согласно приложенного описания, нам требуется установить разметку определенными знаками (цифрами от 1 до 5, а затем нанести трендовые линии исходящие из точки 1 и проходящие через точку 4 и точку 5.

При ручном методе создаются текстовые объекты, которые привязываются вручную к определенным точкам на графике, создаются затем трендовые линии, и наносятся на график.

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


Напомним, что нанесение информации на график возможно двумя способами.

Первый это когда создаваемый текстовый объект привязывается к определенной точке на графике и второй это когда привязка происходит к определенной точке окна графика.

Используем эти свойства для создания разных объектов.

Создаем кнопку «Сброс» для удаления нанесенных точек с графика, и удаление построенных линий и привязываем ее к определенному месту окна.

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

// Проверяем наличие кнопки Сброс, если ee нет, то создаем ее
int    obj_total=ObjectsTotal();
  
string index;
  
for( i=0;i<obj_total;i++)
    {
     index=ObjectName(i);
      
string Lbl = StringSubstr (index, 0, 12);
            
if (Lbl == "Lable_On_Off") string LblOnOff=index;
    
}
if (LblOnOff!="Lable_On_Off") OnOff(Red, 10);

где

OnOff(Red, 10);

это функция создания и позиционирования кнопки OnOff.

void OnOff (color clr_, int h)
         {                                      
         ObjectCreate("Lable_On_Off",OBJ_LABEL,0,0,0);// Создание Кнопки OnOff
         ObjectSetText("Lable_On_Off",CharToStr(204) , 12, "Wingdings", clr_);
        
ObjectSet(   "Lable_On_Off", OBJPROP_CORNER, 3);     // Угол отображения
на графике

         ObjectSet(   "Lable_On_Off", OBJPROP_XDISTANCE, 10);
        
ObjectSet(   "Lable_On_Off", OBJPROP_YDISTANCE, h);
        
}
return;

Встроенная функция


CharToStr()

позволяет отображать на графике любые объекты

"Wingdings"

просто вводя код символа.

Активизацию индикатора производим выделением и перемещением кнопки OnOff вверх. После перемещения и первого тика графика, кнопка закрепляется на другой позиции и изменяет свой цвет на зеленый и справа от последнего бара выводим объекты - цифры для нумерации на графике с помощью функции.

В зависимости от положения этой кнопки управляем объектами на графике.



// Проверяем наличие кнопки "Сброс" на месте
  
if (ObjectGet("Lable_On_Off",OBJPROP_XDISTANCE)>70||
    
ObjectGet("Lable_On_Off",OBJPROP_YDISTANCE)<20)// если нет на месте то
       {
          OnOff(Red, 10);// возвращаем на место кнопку "Сброс" и удаляем все метки,
канал, трендовую линию

         for ( i=0; i<point_kol; i++)
            ObjectDelete("Lable_"+i);
            
ObjectDelete("TRDLine");
            
ObjectDelete("FIBOCanal");
        
return;
        
}  
                                              
if (ObjectGet("Lable_On_Off",OBJPROP_YDISTANCE)>10 &&
    
ObjectGet("Lable_On_Off",OBJPROP_YDISTANCE)!=40) //Если кнопка перемещена вверх
то

       {  
         OnOff(Green, 40); // Фиксируем кнопку вверху
         CreatePoint();   // Создаем точки
       }

где


CreatePoint();

функция первоначального размещения расчетных точек на графике


void CreatePoint ()
      {
      double shcala=(WindowPriceMax()-WindowPriceMin());
      
for( i = 0; i < point_kol; i++) // Создаем точки
               {                                      
      ObjectCreate("Lable_"+i, OBJ_ARROW, 0,Time[Bars-1],Bid);
      
ObjectSet("Lable_"+i,OBJPROP_ARROWCODE,140+i);
      
ObjectSet("Lable_"+i,OBJPROP_WIDTH,2);
      
ObjectSet("Lable_"+i,OBJPROP_COLOR,Green);
      
ObjectMove("Lable_"+i, 0,(Time[0]+Period()*720),
(
WindowPriceMin()+shcala/2)-shcala/12*i);
              
}
      }

Здесь я хочу обратить внимание на то, что при указанной разметке активными являются только три точки, поэтому я ввел внешнюю переменную, для того, чтобы можно было выбрать сколько использовать точек для нанесения на график - 3 или 5. По умолчанию стоит 5, а я использую 3 зрительно отмечая для себя промежуточные точки.

extern int point_kol=5;

Вместо трендовой линии в сторону предполагаемого движения цены применяем канал Фибоначчи. Это дает расширенное представление на графике. Канал дает представление о линиях поддержки и сопротивления на уровнях Фибоначчи. В таком представлении мы можем наблюдать цели на пересечениях трендовой линии и уровней Фибоначчи, что позволяет локализовать определенные торговые тактики.


Вот как это будет выглядеть


Включаем индикатор - перемещаем кнопку вверх.



Дневной график. Разместили точки и индикатор создал трендовую линию и канал фибоначчи.



Заключение

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

Здесь мне еще хотелось бы пожелать разработчикам языка MQL ввести функцию пересчета оконного позиционирования объектов в пикселях – к непосредственной привязке на график. Дело в том что опробовав предлагаемый в настоящее время метод обращения к библиотеке user32.dll и вызов оттуда параметров текущего окна, выдает сообщение об отсутствующей библиотеке user32.lib. Это означает что в типовой поставке Windows XP и Метатрейдера эта возможность отсутствует. В такой реализации пришлось отказаться от внедрения возможности анализа по всему графику, если только не переносить точки вручную.

Категория: Учебный материал | Добавил: STRAG-777 (09.10.2009)
Просмотров: 1469 | Теги: Волны Вульфа, Разметка волн вульфа | Рейтинг: 2.5/2
Всего комментариев: 0
Имя *:
Email *:
Код *:
РЕКЛАМА:
FOREX MAGAZINE
FOREX MAGAZINE
Наш опрос
Оцените мой сайт
Всего ответов: 21
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форекс Сайты Forex Рейтинг Сайтов YandeG