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

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

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

Непрочитанное сообщение evge » 29 авг 2016, 13:14

Пример кода с повторением предыдущей точки B на текущей, до следующего расчета.
Это поможет если захочется использовать индикатор и его точку B в стратегиях и роботах

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

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
else
{
if (CurrentIndex > 0) B = B[1];
}

}


A10WMA-03.png
Пример с повторением точки B
A10WMA-03.png (40.26 КБ) 6361 просмотр
никогда такого не было и вот опять


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

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