Торговая система ДиНаполи
Содержание
- Введение
- Уровни ДиНаполи: основа
- Главные принципы и термины
- Расширения Фибоначчи/ДиНаполи
- Техника торговли по уровням ДиНаполи
- Стратегии "Сапер А" и "Сапер Б"
- Индикатор уровней ДиНаполи
- Заключение
- Литература
1. Введение
Каждый день в трейдинге появляются новые стратегии и происходят многочисленные доработки классических торговых систем. Один из самых известных методов создал в свое время трейдер, экономист и автор популярных книг Джо ДиНаполи. Он построил свою систему на уровнях Фибоначчи, и по сей день его наработками пользуются многие трейдеры по всему миру.
Предлагаю рассмотреть его систему подробно. Я постарался максимально доходчиво изложить базовые понятия и принципы торговли по этой методике, которые невозможно описать без тесного знакомства с уровнями Фибоначчи. Что же это за уровни? Как их понимать и применять на практике? А главное, как они работают в трейдинге?
2. Уровни ДиНаполи: основа
Отображение основы уровней ДиНаполи
Рассмотрим общие принципы торговли по уровням ДиНаполи. Вкратце разберем, как их правильно выстраивать на графиках, что они будут отображать относительно движения цены и как с их помощью определять точки входа в рынок.
Как я уже говорил выше, стратегия ДиНаполи основывается на уровнях Фибоначчи. В этом методе используется исключительно горизонтальная разметка, а дуги и вееры Фибоначчи не нашли особого применения в стратегии.
Пример неправильного размещения уровней Фибоначчи
Пример правильного размещения уровней Фибоначчи
Уровни ДиНаполи по своей природе являются уровнями поддержки и сопротивления, но более глубоко интерпретируемыми, чем в классическом случае. Строятся они на основе уровней Фибоначчи. В основе их лежит так называемый рыночный размах (см. ниже), или, говоря проще, тренд. Для построения уровней ДиНаполи нам потребуются только три уровня Фибоначчи: 61,8%, 50% и 38,2%. Именно они и будут выступать на нашем графике в роли уровней сопротивления и поддержки. На график линии Фибоначчи будут наноситься снизу вверх в случае восходящего тренда и сверху вниз — если тренд нисходящий.
В идеале линии выстроятся от 0% до 100% по направлению текущего тренда. Все уровни Фибоначчи, которые имеют значение больше чем 100%, используются для установки точек закрытия позиции.
Рыночный размах
Уровни ДиНаполи можно применять двумя способами — в виде расширения и в виде коррекции.
Коррекция применяется для поиска целевых точек входа в торговые позиции, сетка расширения строится для поиска точек выхода из рынка.
3. Главные принципы и термины
- Узел Фибоначчи — точка на ценовом графике, на которой заканчивается движение коррекции. Джо ДиНаполи советовал работать только с узлами, находящимися в диапазоне от 38,2% до 61,8%. Все что ниже 38,2% — слишком незначительно, а больше 61,8% — слишком сильное (т.е. тренд, возможно, не восстановится).
- Рыночный размах (расстояние между экстремумами) — расстояние от начала до конца ценового движения, на котором проводят уровни Фибоначчи. Если цена после окончания коррекции меняет свою точку максимума или минимума, следует также переместить крайнюю точку наших уровней. В этом случае размах увеличится.
- Скопление — место на графике, в котором наблюдается скопление нескольких узлов Фибоначчи, т.е. множество коррекционных уровней близко друг к другу.
- Фокусная точка (экстремум) — крайняя точка рыночного размаха, уровень, с которого начинается коррекция цены. При смене экстремума на графике появляется еще одна фокусная точка, поэтому их может быть много на графике в зоне одного размаха.
- Целевой уровень — точка на графике цены, в котором вы планируете разместить тейк-профит.
- Целевая точка — любая точка на графике, на которой вы планируете какое-либо действие (вход в рынок, выход из него и.т.д.).
- Реакция — законченная коррекция в трендовом движении. В радиусе одного размаха может быть сформировано несколько реакций.
Расширения, коррекция и фокусная точка
График цены постоянно движется, и каждый раз рыночные размахи приходится корректировать относительно графика. При этом каждый раз будет происходить расширение размахов, таким образом, количество фокусных точек может меняться на графике. В центре рыночных размахов появляются коррекции цены, которые называются "реакции". Каждая из них будет иметь свой номер.
Реакции на графике
Советы от ДиНаполи
- Сигналы которые будут поступать от этих уровней, приносят плоды лишь в случае, когда коррекционные уровни, а также скопления/поддержки находятся в зоне уровней 38,2%-61,8%. На остальные сигналы не стоит обращать внимания.
- Уровнями для фиксации прибыли будут обычные расширения Фибоначчи, которые растягиваются до последней коррекции, чтобы на уровнях 161,8% и 261,8% поместить стоп-лосс.
- Количество размахов на графике всегда равно количеству фокусных чисел.
- Фокусные числа всегда находятся правее реакций, с которыми они связаны. Т.е. коррекции цены, которые образовались на размахе уровней, должны находится левее фокусного числа.
- Чем выше таймфрейм, тем меньше число реакций. Когда вы работаете на разных временных интервалах, вы можете заметить, что на мелких таймфреймах движение цены очень быстрое, а на старших таймфреймах эти мелкие движения даже не отображаются.Это правило также используется и в обратном порядке: когда появляется место, на котором цена находит сильное сопротивление/поддержку, вы сможете найти необходимые вам реакции и размахи, которые не отображаются на старших таймфреймах, опустившись на меньшие временные интервалы.
4. Расширения Фибоначчи/ДиНаполи
Сетка расширений уровней ДиНаполи понадобится нам для того, чтобы определить места для закрытия своих позиций. Основой их построения будет служить сетка расширений Фибоначчи. На сей раз будем использовать уровни в 100%, 161,8% и 261,8%, которые будут являться для нас целевой точкой для размещения тейк-профита.
Расширения уровней Фибоначчи (ДиНаполи)
Сетка расширений Фибоначчи будет строиться на графике так:
- Для нисходящего тренда — начиная от ценового минимума и до пика коррекции цены, которую образовала линия отбития цены, начиная с 38,2% и выше.
- Для восходящего тренда — начиная от ценового максимума и до минимума коррекции цены, которая пересекает уровень 38,2% и выше.
Наглядный пример как размещать на графике "Сетку расширений Фибоначчи"
В своей книге "Торговля с использованием уровней ДиНаполи" автор уделяет много внимания таким понятиям как "Множественные фокусные числа" и "Рыночные размахи". Данные модели характерны в работе для инструментов с частыми "флетами", когда нет ярко намеченного тренда. В работе на графике и их построении такие фигуры сложнее, чем простые "размахи". Основную сложность представляет отсеивание ненужных нам уровней, которые являются неактуальными.
Вкратце перечислю выводы, которые я сделал после прочтения книги. Ее несомненные плюсы в том, что написал ее не простой теоретик, а опытный трейдер и управляющий. Еще один "железный" аргумент в ее пользу — применение уровней Фибоначчи, прошедших многовековую проверку временем, математически стройных и выверенных. Кроме прочего, примеры, приведенные в книге, описывают не только товарные и фондовые рынки, но и валютную фьючерсную торговлю, принципы которой могут применяться и к рынку Форекс.
Лучше читать этот труд в оригинале, поскольку перевод может исказить контекст и затруднить понимание тончайших нюансов методики. Множество новых введенных ДиНаполи терминов тоже требует тщательного изучения и всестороннего понимания.
5. Техника торговли по уровням ДиНаполи
Перейдем непосредственно к системе торговли по уровням ДиНаполи. Вкратце, если взять лишь основную идеологию из его книги, можно построить несколько тактик торговли с уровнями "агрессивная" и "спокойная".
- Агрессивная включает в себя 2 способа входа в рынок: это стратегии "Кусты" и "Бонсай". Принцип торговли по ним схож, разница лишь в том, где расставлять стоп-лоссы.
- Спокойная описывает также 2 способа: "Сапер А" и "Сапер Б".
При использовании агрессивного метода торговли расчет идет на то, что цена будет отбиваться от уровня 38,2% и уже образовавшегося размаха. Разница между стратегиями "Кусты" и "Бонсай" состоит лишь в том, после какого фибо-уровня будет устанавливаться стоп-лосс.
Начнем со способа торговли "Кусты". По правилам этого метода, позиции нужно открывать в тот момент, когда цена на построенной сетке коррекций пересекает уровень 38,2% в направлении нынешнего тренда, а стоп-лосс помещается дальше уровня 50%. По методике "Бонсай" входим в рынок так же, как по методике "Кусты", но стоп-лосс выставляем, не доходя до уровня Фибоначчи 50%.
Торговля по этим методам не зря называется агрессивной, т.к. есть риск того, что отбой цены на графике может и не произойти. Ведь очень часто коррекция в конечном итоге переходит в новый тренд, или же цена тормозит ненадолго во флэте. Поэтому, если решитесь работать по этой схеме, то вам нужно будет дожидаться полноценного подтверждения сигнала, для страховки.
Стратегия "Кусты"
В книге также описаны некоторые негативные особенности, присущие стратегии "Бонсай". ДиНаполи подчеркивает, что в данном случае на бирже может быть довольно сильное проскальзывание во время исполнения стоп-приказа, т.к. отсутствует опора на мощный уровень, а это значит, что не будет и "проторговки", сведения заявок. В связи с этим, выбор будет зависеть от брокерской компании и торговой платформы. С другой стороны, если работать на высоколиквидных инструментах и с маленьким объемом на рынке, в таком случае подобное маловероятно.
6. Стратегии "Сапер А" и "Сапер Б"
Наиболее спокойные и наименее рисковые стратегии — "Сапер А" и "Сапер Б". Вход в рынок по ним также подразумевается после окончания коррекции, но сама работа будет вестись со страховкой.
- Сапер А. Сначала мы ждем, когда закончится первая коррекция (пока не открываем позиции), затем ждем формирования второй коррекции. Только после этого открываем позиции. Стоп-лосс помещаем так же, как мы ставили его в прошлой стратегии, т.е. за следующий уровень Фибоначчи.
- Сапер Б. Открываем позиции не после второй сформировавшейся коррекции, а только после третьей, четвертой и т.д. Иными словами, входим в рынок только после серьезного подтверждения тренда, что дает нам сильную страховку от ложных сигналов.
Стратегия "Сапер А"
Когда на рынке вы столкнетесь с довольно продолжительным трендом и множеством коррекций на нем (реакций) и если вы будете придерживаться всех правил анализа, то ваш график получится сильно захламленным множеством малозначимых уровней и линий. Действительно, большую часть из них можно просто откинуть как мешающую информацию, не подпадающую под правила торговли по уровням ДиНаполи.
Представьте, что вы видите на графике цены мощное восходящее движение, в котором есть несколько реакций. В какое-то время у вас происходит коррекция на все движения цены вверх, в результате чего цена начинает переписывать минимумы некоторых реакций. Такие реакции надо отменить, а их минимумы не нужно включать в работу.
7. Индикатор уровней ДиНаполи
Специально для тех трейдеров, которые не хотят тратить время на построение уровней ДиНаполи вручную, через размещение уровней Фибоначчи, уже разработан индикатор, который строит эти уровни и отрисовывает их на графике. Индикатор приложен в файлах в конце статьи. Он представлен в библиотеке открытых кодов. Разберем работу с ним немного подробнее. Название индикатора изменено для удобства чтения.
Установка индикатора происходит традиционно, путем помещения файла в папку Indicators корневого каталога терминала MetaTrader 5. Настроек в нем не очень много, в основном настраиваются цвета уровней для отображения. Цвета можно менять как угодно, но, если вы новичок, параметры изменять не рекомендуется, во избежание ошибок отображения и анализа рынка индикатором.
Индикатор для автоматического отображения уровней ДиНаполи также включает в себя индикатор "Zigzag" со звуковым уведомлением о развороте зигзага. Индикатор красной линией отмечает на графике линию для размещения стоп-лосса, синим цветом — линию для начала работы, остальные горизонтальные линии — целевые для достижения ценой. Кроме того, индикатор показывает вертикальные линии разметки времени (их можно отключить в настройках индикатора).
Входные параметры индикатора
Отображение индикатора "DiNapoli Levels" на ценовом графике терминала
Параметры:
- Minimum points in a ray (по умолчанию = 400) — изменение ширины вертикальных временных уровней;
- Show the vertical lines (по умолчанию = true) — отображать/не отображать временные вертикальные уровни;
- Number of history bars (по умолчанию = 5000) — количество охватываемых баров в истории встроенным индикатором "Zigzag";
- Play sound (по умолчанию = true) — включить звуковое уведомление о изменении направления индикатором "Zigzag";
- Sound file (по умолчанию = "expert.wav") — выбор файл для звукового уведомления;
- Start Line color (по умолчанию = Blue) — цвет стартовой горизонтальной линии;
- Stop Line color (по умолчанию = Red) — цвет горизонтальной линии для установки стоп-лосса;
- Target1 Line color (по умолчанию = Green) — цвет горизонтальной линии для цели №1;
- Target2 Line color (по умолчанию = DarkOrange) — цвет горизонтальной линии для цели №2;
- Target3 Line color (по умолчанию = DarkOrchid) — цвет горизонтальной линии для цели №3;
- Target4 Line color (по умолчанию = DarkSlateBlue) — цвет горизонтальной линии для цели №4;
- Time Target1 color (по умолчанию = DarkSlateGray) — цвет вертикальной временной линии №1;
- Time Target2 color (по умолчанию = SaddleBrown) — цвет вертикальной временной линии №2;
- Time Target3 color (по умолчанию = DarkSlateGray) — цвет вертикальной временной линии №3;
- Time Target4 color (по умолчанию = DarkSlateGray) — цвет вертикальной временной линии №4;
Для начала введем базовые параметры индикатора, на которых строится весь его код.
Начальные параметры кода выглядят так:
//------------------------------------------------------------------------------------ // DiNapoli Levels.mq5 // The modified indicator FastZZ.mq5 // Added DiNapoli Target Levels and Time Targets // victorg, www.mql5.com, 2013 //------------------------------------------------------------------------------------ #property copyright "Copyright 2012, Yurich" #property link "https://login.mql5.com/ru/users/Yurich" #property version "3.00" #property description "FastZZ plus DiNapoli Target Levels." #property description "The modified indicator 'FastZZ.mq5'." #property description "victorg, www.mql5.com, 2013." //------------------------------------------------------------------------------------ #property indicator_chart_window // Выводить индикатор в окне графика #property indicator_buffers 3 // Количество буферов для расчета индикатора #property indicator_plots 1 // Количество окон индикатора #property indicator_label1 "DiNapoli Levels" // задает метку для графической серии #property indicator_type1 DRAW_COLOR_ZIGZAG // Стиль рисования индикатора. N - номер графической серии #property indicator_color1 clrTeal,clrOlive // Цвет для вывода линии N, где N - номер графической серии #property indicator_style1 STYLE_SOLID // Стиль линии в графической серии #property indicator_width1 1 // Толщина линии в графической серии //------------------------------------------------------------------------------------ input int iDepth=400; // Минимум точек в луче input bool VLine=true; // Показывать вертикальные линии input int iNumBars=5000; // Количество баров в истории input bool Sound=true; // Включить звуковые уведомления input string SoundFile="expert.wav"; // Звуковой файл input color cStar=clrBlue; // Цвет стартовой линии input color cStop=clrRed; // Цвет линии стопа input color cTar1=clrGreen; // Цвет линии цели №1 input color cTar2=clrDarkOrange; // Цвет линии цели №2 input color cTar3=clrDarkOrchid; // Цвет линии цели №3 input color cTar4=clrDarkSlateBlue; // Цвет линии цели №4 input color cTarT1=clrDarkSlateGray; // Цвет временной линии №1 input color cTarT2=clrDarkSlateGray; // Цвет временной линии №2 input color cTarT3=clrSaddleBrown; // Цвет временной линии №3 input color cTarT4=clrDarkSlateGray; // Цвет временной линии №4 input color cTarT5=clrDarkSlateGray; // Цвет временной линии №5
Введем переменные в индикатор.
//Основные переменные double DiNapoliH[],DiNapoliL[],ColorBuffer[],Depth,A,B,C,Price[6]; int Last,Direction,Refresh,NumBars; datetime AT,BT,CT,Time[5]; color Color[11]; string Name[11]={"Start Line","Stop Line","Target1 Line","Target2 Line", "Target3 Line","Target4 Line","Time Target1","Time Target2", "Time Target3","Time Target4","Time Target5"};
После написания главных параметров и введения переменных можем приступать к написанию основной части индикатора.
Основная часть:
// Начинаем инициализацию индикатора void OnInit() { int i; string sn,sn2; // Выставим условия для точек в луче if(iDepth<=0)Depth=500; else Depth=iDepth; // Выставим условия для баров в истории if(iNumBars<10)NumBars=10; else NumBars=iNumBars; // Настроим отображение индикаторных буферов SetIndexBuffer(0,DiNapoliH,INDICATOR_DATA); SetIndexBuffer(1,DiNapoliL,INDICATOR_DATA); SetIndexBuffer(2,ColorBuffer,INDICATOR_COLOR_INDEX); //Выставим точность отображения значений индикатора IndicatorSetInteger(INDICATOR_DIGITS,Digits()); // Настраиваем отрисовку линий PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0); // Настроим короткое имя индикатора sn="DiNapoli"; sn2=""; for(i=1;i<100;i++) { // Настроим поиск диаграммы if(ChartWindowFind(0,sn)<0){break;} sn2="_"+(string)i; sn+=sn2; } // Установим отображение символа IndicatorSetString(INDICATOR_SHORTNAME,sn); for(i=0;i<11;i++) Name[i]+=sn2; // Инициализируем буферы пустыми значениями ArrayInitialize(DiNapoliH,0); ArrayInitialize(DiNapoliL,0);
Переходим к оформлению индикатора:
// Настраиваем цветовые линии индикатора Color[0]=cStar; Color[1]=cStop; Color[2]=cTar1; Color[3]=cTar2; Color[4]=cTar3; Color[5]=cTar4; Color[6]=cTarT1; Color[7]=cTarT2; Color[8]=cTarT3; Color[9]=cTarT4; Color[10]=cTarT5; Depth=Depth*_Point; Direction=1; Last=0; Refresh=1; for(i=0;i<6;i++) { if(ObjectFind(0,sn)!=0) { // Настроим горизонтальные и вертикальные линии ObjectCreate(0,Name[i],OBJ_HLINE,0,0,0); ObjectSetInteger(0,Name[i],OBJPROP_COLOR,Color[i]); ObjectSetInteger(0,Name[i],OBJPROP_WIDTH,1); ObjectSetInteger(0,Name[i],OBJPROP_STYLE,STYLE_DOT); // ObjectSetString(0,Name[i],OBJPROP_TEXT,Name[i]);// описание объекта } } if(VLine==true) { for(i=6;i<11;i++) { if(ObjectFind(0,sn)!=0) { ObjectCreate(0,Name[i],OBJ_VLINE,0,0,0); ObjectSetInteger(0,Name[i],OBJPROP_COLOR,Color[i]); ObjectSetInteger(0,Name[i],OBJPROP_WIDTH,1); ObjectSetInteger(0,Name[i],OBJPROP_STYLE,STYLE_DOT); // ObjectSetString(0,Name[i],OBJPROP_TEXT,Name[i]);// описание объекта } } } } // Добавим функцию при снятии индикатора с графика удаляются графические объекты от индикатора void OnDeinit(const int reason) { int i; for(i=0;i<11;i++) ObjectDelete(0,Name[i]); ChartRedraw(); return; }
Теперь рассчитаем буферы индикатора:
// Функция итерации индикатора int OnCalculate(const int total, // Размер входных таймсерий const int calculated, // Обработано баров вызове const datetime &time[], // Массив со значениями времени const double &open[], // Массив с ценами открытия const double &high[], // Массив для копирования максимальных цен const double &low[], // Массив минимальных цен const double &close[], // Массив цен закрытия const long &tick[], // Параметр содержащий историю тикового объема const long &real[], // Реальный объем const int &spread[]) // Массив содержащий историю спредов { int i,start; bool set; double a; // Задаем проверку баров if(calculated<=0) { start=total-NumBars; if(start<0)start=0; // Инициализируем буферы пустыми значениями Last=start; ArrayInitialize(ColorBuffer,0); ArrayInitialize(DiNapoliH,0); ArrayInitialize(DiNapoliL,0); } // Обсчет нового бара else start=calculated-1; for(i=start;i<total-1;i++) { set=false; DiNapoliL[i]=0; DiNapoliH[i]=0; if(Direction>0) { if(high[i]>DiNapoliH[Last]) { DiNapoliH[Last]=0; DiNapoliH[i]=high[i]; if(low[i]<high[Last]-Depth) { if(open[i]<close[i]) { DiNapoliH[Last]=high[Last]; A=C; B=high[Last]; C=low[i]; AT=CT; BT=time[Last]; CT=time[i]; Refresh=1; } else { Direction=-1; A=B; B=C; C=high[i]; AT=BT; BT=CT; CT=time[i]; Refresh=1; } DiNapoliL[i]=low[i]; } // Устанавливаем цвета линий ColorBuffer[Last]=0; Last=i; ColorBuffer[Last]=1; set=true; } if(low[i]<DiNapoliH[Last]-Depth&&(!set||open[i]>close[i])) { DiNapoliL[i]=low[i]; if(high[i]>DiNapoliL[i]+Depth&&open[i]<close[i]) { DiNapoliH[i]=high[i]; A=C; B=high[Last]; C=low[i]; AT=CT; BT=time[Last]; CT=time[i]; Refresh=1; } else { if(Direction>0) { A=B; B=C; C=high[Last]; AT=BT; BT=CT; CT=time[Last]; Refresh=1; } Direction=-1; } // Устанавливаем цвета линий ColorBuffer[Last]=0; Last=i; ColorBuffer[Last]=1; } } else { if(low[i]<DiNapoliL[Last]) { DiNapoliL[Last]=0; DiNapoliL[i]=low[i]; if(high[i]>low[Last]+Depth) { if(open[i]>close[i]) { DiNapoliL[Last]=low[Last]; A=C; B=low[Last]; C=high[i]; AT=CT; BT=time[Last]; CT=time[i]; Refresh=1; } else { Direction=1; A=B; B=C; C=low[i]; AT=BT; BT=CT; CT=time[i]; Refresh=1; } DiNapoliH[i]=high[i]; } // Устанавливаем цвета линий ColorBuffer[Last]=0; Last=i; ColorBuffer[Last]=1; set=true; } if(high[i]>DiNapoliL[Last]+Depth&&(!set||open[i]<close[i])) { DiNapoliH[i]=high[i]; if(low[i]<DiNapoliH[i]-Depth&&open[i]>close[i]) { DiNapoliL[i]=low[i]; A=C; B=low[Last]; C=high[i]; AT=CT; BT=time[Last]; CT=time[i]; Refresh=1; } else { if(Direction<0) { A=B; B=C; C=low[Last]; AT=BT; BT=CT; CT=time[Last]; Refresh=1; } Direction=1; } // Устанавливаем цвета линий ColorBuffer[Last]=0; Last=i; ColorBuffer[Last]=1; } } DiNapoliH[total-1]=0; DiNapoliL[total-1]=0; } //------------ if(Refresh==1) {
Конечный цикл расчёта индикатора:
// Проверка количества баров на достаточность для расчёта Refresh=0; a=B-A; Price[0]=NormalizeDouble(a*0.318+C,_Digits); // Начало; Price[1]=C; // Стоп Price[2]=NormalizeDouble(a*0.618+C,_Digits); // Цель№1 Price[3]=a+C; // Цель№2; Price[4]=NormalizeDouble(a*1.618+C,_Digits); // Цель№3; Price[5]=NormalizeDouble(a*2.618+C,_Digits); // Цель№4; for(i=0;i<6;i++) ObjectMove(0,Name[i],0,time[total-1],Price[i]); if(VLine==true) { // Возвращаем значение округленное до ближайшего целого числа указанного значения a=(double)(BT-AT); Time[0]=(datetime)MathRound(a*0.318)+CT; // Временная цель№1 Time[1]=(datetime)MathRound(a*0.618)+CT; // Временная цель№2 Time[2]=(datetime)MathRound(a)+CT; // Временная цель№3 Time[3]=(datetime)MathRound(a*1.618)+CT; // Временная цель№4 Time[4]=(datetime)MathRound(a*2.618)+CT; // Временная цель№5 for(i=6;i<11;i++) ObjectMove(0,Name[i],0,Time[i-6],open[total-1]); } ChartRedraw(); // Если направление поменялось то включим воспроизведение звука if(Sound==true&&calculated>0)PlaySound(SoundFile); } return(total); } //------------------------------------------------------------------------------------
Сам индикатор прикреплен в конце статьи.
8. Заключение
Надеюсь на то, что эта базовая информация даст вам положительное представление о том, что такое торговля по методу ДиНаполи. Эти уровни правильнее было бы называть "Оригинальный подход к работе со стандартными уровнями и расширениями Фибоначчи". Коренной принцип работы с уровнями сохраняется таким же, просто ДиНаполи ввел некоторое количество новых правил, которые при правильном исполнении дают стабильные результаты на рынке.
Программы, используемые в статье:
# | Имя |
Тип |
Описание |
---|---|---|---|
1 | DiNapoli Levels.mq5 | Индикатор | Индикатор для автоматического расчета и построения уровней ДиНаполи |
9. Литература
- Джо ДиНаполи Д44 Торговля с использованием уровней ДиНаполи. — М.: ИК Аналитика, 2001
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вопрос: DiNapoli_Levels Для МТ4 есть ?
К сожалению нет. Все статьи делаются для платформы MetaTrader 5.
Привет, у меня вопрос.Почему индикатор DiNapoli_Levels дальше расчеты не делает по временным линиям? Или я чего то не понимаю?