Элитные показатели :) - страница 383

 

TepeFinans

Вот, пожалуйста

Я хотел бы объяснить, почему "общий" в названии: я не использовал индикатор "по умолчанию", который предоставляет metatrader, а использую версию, которая позволяет разный период сглаживания значений и сигналов. Сглаживание, используемое как для значений, так и для сигналов, представляет собой треугольную скользящую среднюю ("обычную" треугольную скользящую среднюю, не центрированную, так что нет никакого пересчета) и по умолчанию установлено таким же, как и во встроенном индикаторе, но также позволяет экспериментировать с различными длинами сглаживания.

Прикрепляю простой индикатор, а также версию с mtf, алертами и линиями дивергенции. Прикрепление "простой версии для того, чтобы эта версия была просто сравнима со встроенным индикатором по умолчанию. Также, при поиске дивергенций, возможно, будет хорошей идеей отключить сглаживание rvi (установить период сглаживания равным 1), так как в этом случае задержка "сырого значения rvi" будет минимальной, а идентификация пиков будет намного точнее, чем в сглаженном режиме, но имейте в виду, что тогда это "raw rvi", а не rvi (вот сравнение дивергенций обычного rvi (вверху) и "raw rvi" (внизу) - как видно, raw делает работу более точно, когда речь идет о дивергенции, и таким образом "общая" версия становится немного более полезной).

с уважением,

Младен

TepeFinans:
Привет Младен

Индекс относительной силы

Дивергенция

???
Файлы:
 

Привет, Младен

Спасибо

mladen:
TepeFinans

Вот, пожалуйста.

Я хотел бы объяснить, почему "общий" в названии: я не использовал индикатор "по умолчанию", который предоставляет metatrader, а использую версию, которая позволяет разный период сглаживания значений и сигналов. Сглаживание, используемое как для значений, так и для сигналов, представляет собой треугольную скользящую среднюю ("обычную" треугольную скользящую среднюю, не центрированную, так что нет никакого пересчета) и по умолчанию установлено таким же, как и во встроенном индикаторе, но также позволяет экспериментировать с различными длинами сглаживания.

Прикрепляю простой индикатор, а также версию с mtf, алертами и линиями дивергенции. Прикрепление "простой версии для того, чтобы эта версия была просто сравнима со встроенным индикатором по умолчанию. Также, при поиске дивергенций, возможно, будет хорошей идеей отключить сглаживание rvi (установить период сглаживания равным 1), так как в этом случае задержка "сырого значения rvi" будет минимальной, а идентификация пиков будет намного точнее, чем в сглаженном режиме, но имейте в виду, что тогда это "raw rvi", а не rvi (вот сравнение дивергенций обычного rvi (вверху) и "raw rvi" (внизу) - как видно, raw делает работу более точно, когда речь идет о дивергенции, и таким образом "общая" версия становится немного более полезной).

с уважением,

Младен
 

QQE продвинутый

Это попытка сделать и без того полезный индикатор немного более полезным


Что добавлено в QQE: возможность выбора и сглаживания (фильтрации) цены перед использованием в расчете и возможность использовать не встроенный в metatrader rsi. Встроенный в metatrader rsi отличается от оригинального rsi Уэллса Уайлдера, и я решил установить тип rsi по умолчанию, используемый в расчете QQE, rsi Уайлдера по нескольким причинам. Как обычно, методы rsi могут быть

0 - "обычный" rsi

1 - rsi Уайлдера

2 - rsx

3 - Cuttler rsi

Кроме того, даже очень мягкое предварительное сглаживание цены дает довольно интересные результаты: вот сравнение "регулярного" QQE с расширенным QQE, при этом в расчете использован 3 периодный предварительно сглаженный(MaPeriodset- 3) rsi Уайлдера

или те же настройки 1 часового индикатора на 15 минутном графике (в наши дни, когда люди искали свинги, кажется, что взгляд на что-то подобное мог бы помочь избежать некоторых ошибок)

Файлы:
qqe_adv_1.gif  24 kb
qqe_adv_2.gif  20 kb
 

Младен, просьба

уважаемый Младен,

Не могли бы вы преобразовать индикатор qqe в цветной бар! Как предыдущий.C

Заранее благодарю

Ваш,

khaliddxd

 
mladen:
TepeFinans

Вот, пожалуйста

Я хотел бы объяснить, почему "общий" в названии: я не использовал индикатор "по умолчанию", который предоставляет metatrader, а использую версию, которая позволяет разный период сглаживания значений и сигналов. Сглаживание, используемое как для значений, так и для сигналов, представляет собой треугольную скользящую среднюю ("обычную" треугольную скользящую среднюю, не центрированную, так что нет никакого пересчета) и по умолчанию установлено таким же, как и во встроенном индикаторе, но также позволяет экспериментировать с различными длинами сглаживания.

Прикрепляю простой индикатор, а также версию с mtf, алертами и линиями дивергенции. Прикрепление "простой версии для того, чтобы эта версия была просто сравнима со встроенным индикатором по умолчанию. Также, при поиске дивергенций, возможно, будет хорошей идеей отключить сглаживание rvi (установить период сглаживания равным 1), так как в этом случае задержка "сырого значения rvi" будет минимальной, а идентификация пиков будет намного точнее, чем в сглаженном режиме, но имейте в виду, что тогда это "raw rvi", а не rvi (вот сравнение дивергенций обычного rvi (вверху) и "raw rvi" (внизу) - как видно, raw делает работу более точно, когда речь идет о дивергенции, и таким образом "общая" версия становится немного более полезной).

с уважением,

Младен

стрелки, пожалуйста? (то же самое для нового QQE Младена, пожалуйста).

 

Запрос на еще один новый инди

Младен,

Вот запрос на еще один новый индикатор под названием Mogalef bands.

Этот код был обнародован в мае этого года на встрече трейдеров.

Сейчас на форумах есть разные версии для него: Ninja, PRT, GraphAT (см. приложенные документы) и т.д.

но версия GrapAT кажется нормальной

Не могли бы вы сделать перевод этого кода на Mql4, я думаю, всем понравится...

Пожалуйста, не стесняйтесь делать свои собственные изменения, если это необходимо.

Спасибо

devinci

****************************************************************

//=======================

// Mogalef Bands - GrapAT

//=======================

//1---- Weighted prices "Mogalef"

//

CP(0)=(High+Low+Open+2*Close)/5

//2---- linear regression Weighted prices P1 periods

//

If RangHisto>=P1 Then

somx = 0

somy = 0

somxx = 0

somxy = 0

For P1 Prices

somx = somx+RangPour

somy = somy+CP

somxx = somxx+RangPour*RangPour

somxy = somxy+RangPour*CP

EndFor

a = (P1*somxy-somx*somy)/(P1*somxx-somx*somx)

b = (somy-a*somx)/P1

MogRegLin = b + a*P1

EndIf

//3---Standard deviation of linear regression on P2 periods

//

If RangHisto>= P1+P2-1 Then

StanDev(0)=StandarDeviation(MogRegLin,P2)

EndIf

//4---- "Mogalef" Bands

//

If RangHisto>=P1+P2 Then

If MogRegLinMogB(1) // NO LAG if Lin Reg is within inside bands

Then

StanDev=StanDev(1)

MogM=MogM(1)

MogH=MogH(1)

MogB=MogB(1)

IfNot // shift/lag when computing new band values

MogM=MogRegLin

MogH=MogRegLin+P3*StanDev

MogB=MogRegLin-P3*StanDev

EndIf

EndIf

//end of code

**************************************************************************

other version:

{*********************************************************

Mogalef Bands easy language Multicharts

**********************************************************}

variables: var0(0), var1(0), HighBand(0), LowBand(0), Mediane(0);

var0 = LinearRegValue((Open+High+Low+(2*Close))/5,3,0);

var1 = StandardDev(var0,7,1);

if currentbar=8 then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end

else

if var0 HighBand then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end;

Plot1(HighBand,"HighBand");

Plot2(LowBand,"LowBand");

Plot3(Mediane,"Mediane");

*********************************************************

other version:

**************************

Mogalef Bands Ninja trader

**************************

#region Using declarations

using System;

using System.ComponentModel;

using System.Diagnostics;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Xml.Serialization;

using NinjaTrader.Cbi;

using NinjaTrader.Data;

using NinjaTrader.Gui.Chart;

#endregion

// This namespace holds all indicators and is required. Do not change it.

namespace NinjaTrader.Indicator

{

///

/// Enter the description of your new custom indicator here

///

[Description("Enter the description of your new custom indicator here")]

public class MogalefBands : Indicator

{

#region Variables

// Wizard generated variables

// User defined variables (add any user defined variables below)

private DataSeries CPSerie, ESerie, FSerie;

private double nMedian = 0, nHigh = 0, nLow = 0;

private int LinRegPeriode = 3, StdDevPeriode = 7;

#endregion

///

/// This method is used to configure the indicator and is called once before any bar data is loaded.

///

protected override void Initialize()

{

Add(new Plot(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Line, "MMedian"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MHigh"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MLow"));

Overlay = true;

CPSerie = new DataSeries( this );

ESerie = new DataSeries( this );

FSerie = new DataSeries( this );

}

///

/// Called on each bar update event (incoming tick)

///

protected override void OnBarUpdate()

{

// Use this method for calculating your indicator values. Assign a value to each

// plot below by replacing 'Close[0]' with your own formula.

if (CurrentBar < 8)

{

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

nMedian = CPSerie[0];

nHigh = 0;

nLow = 0;

return;

}

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

if (CurrentBar > 8 + StdDevPeriode)

{

FSerie.Set(LinReg(CPSerie,LinRegPeriode)[0]);

ESerie.Set(StdDev(FSerie,StdDevPeriode)[0]);

}

else

{

FSerie.Set(CPSerie[0]);

ESerie.Set(0);

}

if (FSerie[0] nHigh)

{

nMedian = FSerie[0];

nHigh = nMedian + (2*ESerie[0]);

nLow = nMedian - (2*ESerie[0]);

}

MMedian.Set(nMedian);

MHigh.Set(nHigh);

MLow.Set(nLow);

}

#region Properties

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MMedian

{

get { return Values[0]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MHigh

{

get { return Values[1]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MLow

{

get { return Values[2]; }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("LinReg periode")]

public int LinRegPERIODE

{

get { return LinRegPeriode; }

set { LinRegPeriode = Math.Max(1, value); }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("StdDev periode")]

public int StdDevPERIODE

{

get { return StdDevPeriode; }

set { StdDevPeriode = Math.Max(1, value); }

}

#endregion

}

}

******************************************************************

******************************************************************
Файлы:
example1.png  37 kb
 

devinci

Вот, пожалуйста Использовал параметры по умолчанию, которые они используют, и добавил цену, которую они используют (High+Low+Open+2*Close)/5, которая не существует в metatrader) Используйте 8 в параметре BandsPrice, чтобы получить эту цену.

PS: Я отредактировал ваше сообщение, чтобы сделать его "визуально короче". Больше в нем ничего не менялось. Надеюсь, вы не возражаете.

с уважением

Mladen

devinci:
Младен,

Вот запрос на еще один новый индикатор под названием Mogalef bands.

Этот код был обнародован в мае этого года на встрече трейдеров.

Сейчас на форумах есть разные версии для него: Ninja, PRT, GraphAT (см. приложенные документы) и т.д.

но версия GrapAT кажется нормальной

Не могли бы вы сделать перевод этого кода на Mql4, я думаю, всем понравится...

Пожалуйста, не стесняйтесь делать свои собственные изменения, если это необходимо.

Спасибо

devinci

****************************************************************

//=======================

// Mogalef Bands - GrapAT

//=======================

//1---- Weighted prices "Mogalef"

//

CP(0)=(High+Low+Open+2*Close)/5

//2---- linear regression Weighted prices P1 periods

//

If RangHisto>=P1 Then

somx = 0

somy = 0

somxx = 0

somxy = 0

For P1 Prices

somx = somx+RangPour

somy = somy+CP

somxx = somxx+RangPour*RangPour

somxy = somxy+RangPour*CP

EndFor

a = (P1*somxy-somx*somy)/(P1*somxx-somx*somx)

b = (somy-a*somx)/P1

MogRegLin = b + a*P1

EndIf

//3---Standard deviation of linear regression on P2 periods

//

If RangHisto>= P1+P2-1 Then

StanDev(0)=StandarDeviation(MogRegLin,P2)

EndIf

//4---- "Mogalef" Bands

//

If RangHisto>=P1+P2 Then

If MogRegLinMogB(1) // NO LAG if Lin Reg is within inside bands

Then

StanDev=StanDev(1)

MogM=MogM(1)

MogH=MogH(1)

MogB=MogB(1)

IfNot // shift/lag when computing new band values

MogM=MogRegLin

MogH=MogRegLin+P3*StanDev

MogB=MogRegLin-P3*StanDev

EndIf

EndIf

//end of code

**************************************************************************

other version:

{*********************************************************

Mogalef Bands easy language Multicharts

**********************************************************}

variables: var0(0), var1(0), HighBand(0), LowBand(0), Mediane(0);

var0 = LinearRegValue((Open+High+Low+(2*Close))/5,3,0);

var1 = StandardDev(var0,7,1);

if currentbar=8 then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end

else

if var0 HighBand then

begin

HighBand = var0 + 2*var1;

LowBand = var0 - 2*var1;

Mediane = var0;

end;

Plot1(HighBand,"HighBand");

Plot2(LowBand,"LowBand");

Plot3(Mediane,"Mediane");

*********************************************************

other version:

**************************

Mogalef Bands Ninja trader

**************************

#region Using declarations

using System;

using System.ComponentModel;

using System.Diagnostics;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Xml.Serialization;

using NinjaTrader.Cbi;

using NinjaTrader.Data;

using NinjaTrader.Gui.Chart;

#endregion

// This namespace holds all indicators and is required. Do not change it.

namespace NinjaTrader.Indicator

{

///

/// Enter the description of your new custom indicator here

///

[Description("Enter the description of your new custom indicator here")]

public class MogalefBands : Indicator

{

#region Variables

// Wizard generated variables

// User defined variables (add any user defined variables below)

private DataSeries CPSerie, ESerie, FSerie;

private double nMedian = 0, nHigh = 0, nLow = 0;

private int LinRegPeriode = 3, StdDevPeriode = 7;

#endregion

///

/// This method is used to configure the indicator and is called once before any bar data is loaded.

///

protected override void Initialize()

{

Add(new Plot(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Line, "MMedian"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MHigh"));

Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Line, "MLow"));

Overlay = true;

CPSerie = new DataSeries( this );

ESerie = new DataSeries( this );

FSerie = new DataSeries( this );

}

///

/// Called on each bar update event (incoming tick)

///

protected override void OnBarUpdate()

{

// Use this method for calculating your indicator values. Assign a value to each

// plot below by replacing 'Close[0]' with your own formula.

if (CurrentBar < 8)

{

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

nMedian = CPSerie[0];

nHigh = 0;

nLow = 0;

return;

}

CPSerie.Set((Open[0] + High[0] + Low[0] + (2*Close[0]))/5);

if (CurrentBar > 8 + StdDevPeriode)

{

FSerie.Set(LinReg(CPSerie,LinRegPeriode)[0]);

ESerie.Set(StdDev(FSerie,StdDevPeriode)[0]);

}

else

{

FSerie.Set(CPSerie[0]);

ESerie.Set(0);

}

if (FSerie[0] nHigh)

{

nMedian = FSerie[0];

nHigh = nMedian + (2*ESerie[0]);

nLow = nMedian - (2*ESerie[0]);

}

MMedian.Set(nMedian);

MHigh.Set(nHigh);

MLow.Set(nLow);

}

#region Properties

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MMedian

{

get { return Values[0]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MHigh

{

get { return Values[1]; }

}

// this line prevents the data series from being displayed in the indicator properties dialog, do not remove

[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove

public DataSeries MLow

{

get { return Values[2]; }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("LinReg periode")]

public int LinRegPERIODE

{

get { return LinRegPeriode; }

set { LinRegPeriode = Math.Max(1, value); }

}

[Description("")]

[Category("Parameters")]

[Gui.Design.DisplayName("StdDev periode")]

public int StdDevPERIODE

{

get { return StdDevPeriode; }

set { StdDevPeriode = Math.Max(1, value); }

}

#endregion

}

}

******************************************************************

******************************************************************
Файлы:
 

Могалефские группы

Младен,

Спасибо большое, это прекрасно

Хорошего дня

devinci

 

А теперь гисто, если возможно, пожалуйста

Привет, Младен,

Не могли бы вы сделать из 2 QQE advanced на разных таймфреймах ту же гистограмму, которую вы сделали раньше с простым QQE (с красными зелеными и серыми барами).

Заранее спасибо

 

Mogalef Bands

BTW Хорошее описание Mogalef Bands и как их использовать здесь http://www.whselfinvest.com/en/trading_strategies_26_Mogalef_Bands.php Наслаждайтесь.

Причина обращения: