Пользовательские индикаторы > SMASignal - кроссовер двух SMA (период 50 и 200)

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
Kurono
Сообщения: 14
Зарегистрирован: 08 июл 2017, 20:37
Поблагодарили: 5 раз

SMASignal - кроссовер двух SMA (период 50 и 200)

Непрочитанное сообщение Kurono » 15 июл 2017, 00:23

SMASignal - кроссовер из двух SMA с 50 и 200 периодами.

Параметры:
PeriodS - период короткой SMA
PeriodL - период длинной SMA

Сигналы
Изображение
Для себя изменены цвета SMA: длинная SMA - серого цвета,
короткая SMA может быть зеленого (при бычем тренде), желтого (флет, разворот) или красного (при медвежьем тренде) цветов.
Простые скользящие имеют запоздание в сигналах тренда, рекомендуются применять с другими индикаторами.
Изображение

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

function Initialize()
{
  IndicatorName = "SMASignaL";
  PriceStudy = true;
  AddInput("Input", Inputs.Candle);         
  AddParameter("PeriodS", 50);
  AddParameter("PeriodL", 200);                       
  AddSeries("S", DrawAs.Custom, Color.Yellow);
  AddSeries("L", DrawAs.Line, Color.Gray);     
}

function Evaluate()
{
// AlfaDirect. 2017. Kurono
if ( CurrentIndex < PeriodS)  {S = Input[0]; }
else {var Inp = LIB.MID(Input);
S = SMA(Inp, PeriodS)[0]; }
if ( CurrentIndex < PeriodL)  {L = Input[0]; }
else {var Inp = LIB.MID(Input);
L = SMA(Inp, PeriodL)[0]; }

  if ( S[0] > L[0] )
          {
          if ( S[0] < Input.Close[0] )
          {S.DrawLine(Color.Green, Line.DashSmall, 2);}
          else {S.DrawLine(Color.Yellow, Line.DashSmall, 1);}
          }
  else {
          if ( S[0] > Input.Close[0] )
          {S.DrawLine(Color.Red, Line.DashSmall, 2);}
          else  {S.DrawLine(Color.Yellow, Line.DashSmall, 1);}
       }
}

Вернуться в «Пользовательские индикаторы»

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

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