Страница 1 из 1

Envelopes - конверт

Добавлено: 09 фев 2016, 09:21
evge
Envelopes - отклонение от скользящей средней с возможностью указать тип скользящей средней.

Параметры

Period - период для средней скользящей
Z - Deviation (отклонение)
TypeMA - тип MA (Moving Average) 0-SMA, 1-EMA, 2-WMA

Пример

Envelopes-01.png
Envelopes-01.png (45.35 КБ) 12505 просмотров


Код: Выделить всё

function Initialize()
{
IndicatorName = "Envelopes";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("Res", DrawAs.Line, Color.Green);
AddSeries("Sup", DrawAs.Line, Color.Red);
AddSeries("Mid", DrawAs.Line, Color.Silver);
AddParameter("Period", 30, 1);
AddParameter("Z", 1.5);
AddParameter("TypeMA", 0); //0-SMA, 1-EMA, 2-WMA
}

function Evaluate()
{
//evge 09.02.2016 http://alfadirect4.ru
// 29.05.2016
//   Добавлено отображение средней цены

if (CurrentIndex < Period )
{
Res = Input.Close[0];
Sup = Res;
Mid = Res;
}
else
{
var MA = SMA(Input.Close, Period);
switch ((int)TypeMA)
   {
case 1: MA = EMA(Input.Close, Period); break;
case 2: MA = WMA(Input.Close, Period); break;
}
Res = MA * (1.0 + (double) Z / 100.0);
Sup = MA * (1.0 - (double) Z / 100.0);
Mid = MA[0];
}
}


Скачать исходный текст

Envelopes.zip
(950 байт) 1255 скачиваний

Re: Envelopes - конверт

Добавлено: 02 дек 2016, 14:29
abelok
Вместо %% я прибавлял к средней линии что-то типа плюс-минус k*ATR(Period).

Re: Envelopes - конверт

Добавлено: 02 дек 2016, 14:53
evge
Да, возможны различные реализации. Ограничено только фантазией :)