Скользящая средняя Манфреда Дюршнера

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Скользящая средняя Манфреда Дюршнера

Сообщение Haos » 11 мар 2018, 18:53

Скользящая средняя Манфреда Дюршнера получила названия МА 3-го поколения.
Впервые скользящая средняя Дюршнера М. была опубликована в журнале Международной федерации технических аналитиков IFTA 2012 г., стр. 27.
Эта скользящая средняя использует критерий выборки Найквиста, что делает ее поведение еще более лучшей в условиях высокой волатильности, чем "скользящая средняя Ehlers & Ric с нулевым лагом (нулевой задержкой)".
Из доклада Аннотация:
Известные скользящие средние (МА), а именно простая скользящая средняя (SMA ), экспоненциальная скользящая средняя (EMA ) и взвешенная скользящая средняя (WMA ), модифицируются в этой статье с помощью критерия Найквиста. Эти модифицированные скользящие Средние 3.0 показывают хорошие характеристики сглаживания, иллюстрируют релевантные тенденции и развороты тренда в ценовых рядах без временной задержки. Что касается сглаживания, то трендовые паттерны и временная задержка приводят к значительному улучшению обычного SMA (скользящие Средние 1.0: SMA , EMA и WMA). Кроме того, эффективность скользящих средних 3.0 демонстрируется применением нескольких тестов на простой торговой системе.


Ниже приведен код индикатора для МТ4.
Код: выделить все
//+------------------------------------------------------------------+
//|                                                3rd Generation MA |
//|                                      Copyright © 2011, EarnForex |
//|                                        http://www.earnforex.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, EarnForex"
#property link      "http://www.earnforex.com"

/*

3rd Generation MA based on research paper by Dr. Mafred Durschner:
http://www.vtad.de/node/1441 (in German)
Offers least possible lag but still provides price smoothing

*/

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red

//---- indicator parameters
extern int MA_Period = 50;
extern int MA_Method = 0; //0 - SMA, 1 - EMA, 2 - SMMA, 3 - LWMA
extern int MA_Applied_Price = 5; // 0 - PRICE_CLOSE, 1 - PRICE_OPEN, 2 - PRICE_HIGH, 3 - PRICE_LOW, 4 - PRICE_MEDIAN, 5 - PRICE_TYPICAL, 6 - PRICE_WEIGHTED

//---- indicator buffers
double MA3G[];
double MA1[];

//----
double Lambda, Alpha;
int MA_Sampling_Period;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   int    draw_begin;
   string short_name;

   MA_Sampling_Period = 2 * MA_Period;
   
   IndicatorBuffers(3);

//---- drawing settings
   SetIndexStyle(0, DRAW_LINE);
   IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS));
   
   draw_begin = MA_Sampling_Period - 1;

//---- indicator short name
   switch(MA_Method)
   {
      case 1:
         short_name="3GEMA("; 
         draw_begin=0;
         break;
      case 2:
         short_name="3GSMMA(";
         break;
      case 3:
         short_name="3GLWMA(";
         break;
      default:
         MA_Method = 0;
         short_name = "3GSMA(";
   }
   IndicatorShortName(short_name + MA_Period + ")");

   SetIndexDrawBegin(0, draw_begin);

//---- indicator buffers mapping
   SetIndexBuffer(0, MA3G);
   SetIndexBuffer(1, MA1);

   Lambda = 1.0 * MA_Sampling_Period / (1.0 * MA_Period);
   Alpha = Lambda * (MA_Sampling_Period - 1) / (MA_Sampling_Period - Lambda);

   Print("Lambda = ", Lambda, "; Alpha = ", Alpha);

//---- initialization done
   return(0);
}

//+------------------------------------------------------------------+
//| 3rd Generation Moving Average Custom Indicator                   |
//+------------------------------------------------------------------+
int start()
{
   int i;
   
   if (Bars <= MA_Sampling_Period + MA_Period) return(0);
   int ExtCountedBars = IndicatorCounted();
//---- check for possible errors
   if (ExtCountedBars < 0) return(-1);
//---- last counted bar will be recounted
   if (ExtCountedBars > 0) ExtCountedBars--;
   if (ExtCountedBars < MA_Sampling_Period) ExtCountedBars = MA_Sampling_Period;
//----

   for (i = Bars - ExtCountedBars - 1; i >= 0; i--)
      MA1[i] = iMA(NULL, 0, MA_Sampling_Period, 0, MA_Method, MA_Applied_Price, i);
   
   for (i = Bars - ExtCountedBars - 1; i >= 0; i--)
   {
      double MA2 = iMAOnArray(MA1, 0, MA_Period, 0, MA_Method, i);
      MA3G[i] = (Alpha + 1) * MA1[i] - Alpha * MA2;
   }

//---- done
   return(0);
}
//+------------------------------------------------------------------+


Оценить эффективность данной МАшки можно как при использовании индикатора в ручной торговле, так и при робо-торговле.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Скользящая средняя Манфреда Дюршнера

Сообщение Haos » 11 мар 2018, 19:07

Неоднократно замечал вот какой феномен, что использование продвинутых МАшек (Халла, Кауфмана, Дюршнера и т.п.) более эффективно если одна из них, к примеру, рассматриваемая Дюршнера, а вторая - простая (SMA).
Вложения
01.png
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Скользящая средняя Манфреда Дюршнера

Сообщение Zaznoba » 31 июл 2018, 08:04

Есть результаты торговли по этим скользящим средним? Графики красивые, но что с доходностью?
Последний раз редактировалось Haos 31 июл 2018, 09:29, всего редактировалось 1 раз.
Причина: .
Аватар пользователя
Zaznoba
 
Сообщений: 7
Зарегистрирован: 22 ноя 2017, 08:16
Средств на руках: 1.20 Доллар
Группа: Новые пользователи
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Скользящая средняя Манфреда Дюршнера

Сообщение Haos » 31 июл 2018, 09:33

Zaznoba писал(а):Есть результаты торговли по этим скользящим средним? Графики красивые, но что с доходностью?

В этом разделе мы обсуждаем только язык MQL, а точнее его теоретические и практические аспекты. Если кто-то хочет использовать в торговле тот или иной торговый инструментарий, то надо
1. Создать ТС на основе этого инструментария;
2. Далее можно, описав ее правила, начать тему в разделе Торговые системы
3. Приступить к тестирование этой ТС
4. Получить со временем результаты
Тогда можно будет говорить о том какие результаты торговли есть по данной ТС.
Также можно на основе ТС заказать торговый советник и ускорить эти этапы.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Скользящая средняя Манфреда Дюршнера

Сообщение Quannt » 31 июл 2018, 10:30

Приступил к тестированию стратегии, с использованием скользящей средней Манфреда Дюршнера.
Прибыль стабильная. Вероятно буду использовать эту стратегию постоянно.
Вложения
3GSMA.png
Стратегия 3GSMA
Аватар пользователя
Quannt
 
Сообщений: 1122
Зарегистрирован: 30 ноя 2017, 20:36
Средств на руках: 288.40 Доллар
Награды: 1
Ветеран I (1)
Группа: Базовая
Благодарил (а): 321 раз.
Поблагодарили: 184 раз.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения