
Торговая система ДиНаполи
Содержание
- Введение
- Уровни ДиНаполи: основа
- Главные принципы и термины
- Расширения Фибоначчи/ДиНаполи
- Техника торговли по уровням ДиНаполи
- Стратегии "Сапер А" и "Сапер Б"
- Индикатор уровней ДиНаполи
- Заключение
- Литература
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
Предупреждение: все права на данные материалы принадлежат MetaQuotes Ltd. Полная или частичная перепечатка запрещена.
Данная статья написана пользователем сайта и отражает его личную точку зрения. Компания MetaQuotes Ltd не несет ответственности за достоверность представленной информации, а также за возможные последствия использования описанных решений, стратегий или рекомендаций.





- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Да, скриншот не был заменен на правильный, в ближайшее время мы это исправим.
Правильно установите нужные вам уровни, как на первом скриншоте.
Здравствуйте, подскажите пожалуйста есть ли какой нибудь индикатор для мт4 для уровней динаполи? Мне не нравится название индикатора dinapoli targets. это одно и тоже, индикатор dinapoli levels и dinapoli targets?
Это очень фантастический индикатор. Большое спасибо, что поделились этим.
Привет, у меня вопрос.Почему индикатор DiNapoli_Levels дальше расчеты не делает по временным линиям? Или я чего то не понимаю?