Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1270

Добавлено: evge » 27 авг 2016, 19:54

Тема: Re: Можете помочь ? прикрутить скользящую к этому индикатору (чтоб усреднял этот индикатор ).Спасибо

Текст сообщения:

naum писал(а):Можно вас попросить написать такой же SMAhour только WMA .


Ниже код, в котором я заменил Ваши условия по каждому часу на одно условие для всех часов

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

if (BarTime().Hours != BarTime(1).Hours) A = Input.Open[0];


если Вам требуется ваш код, эту строку удалите и замените своими прежними условиями по каждому часу

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

function Initialize()
{
IndicatorName = "A10WMA";   
PriceStudy = true;   
AddInput("Input", Inputs.Candle);   
AddSeries("A", DrawAs.Line, Color.Red);   

AddParameter("Period", 20, 30);   

AddSeries("B", DrawAs.Line, Color.Green);
AddGlobalVariable("s", Types.DoubleList);
AddGlobalVariable("count", Types.Int, 0);
}

function Evaluate()
{

if (BarTime().Hours != BarTime(1).Hours) A = Input.Open[0];

if (A != 0)
{
s.Add(A);
count++;
if ( count > Period )
{
   s.RemoveAt(0);
   var cWMA = 0.0;
   var cZn = 0.0;
   for (var i = 0; i < Period; i++ )
   {     
      cWMA = cWMA + s[Period - i - 1] * (Period - i);
      cZn = cZn + (i + 1);
   }
   B = cWMA / cZn;
}
else
B = A;   

} //A != 0

}


A10WMA-01.png
Пример работы MA и WMA
A10WMA-01.png (37.58 КБ) 25270 просмотров


A10WMA-02.png
Пример работы MA и WMA
A10WMA-02.png (42.8 КБ) 25268 просмотров