Общие вопросы по разработке > Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Аватара пользователя
Den
Сообщения: 308
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

Непрочитанное сообщение Den » 20 июл 2017, 11:01

вот так он выглядит с периодом =1
То есть это не SMA даже
Вложения
kurono.png
kurono.png (16.39 КБ) 3439 просмотров

Kurono
Сообщения: 13
Зарегистрирован: 08 июл 2017, 20:37
Поблагодарили: 5 раз

Re: Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

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

//Если вдруг возникли разночтения: P - переменная, не период

Кто вам сказал, что нужно брать SMA с периодом 1?
https://ru.wikipedia.org/wiki/Скользящая_средняя
https://www.tradingview.com/wiki/Moving_Average/ru
В MACD, например, берутся периоды 12, 26, 9 для ЕМА https://ru.wikipedia.org/wiki/Индикатор_MACD
В аллигаторе три сглаженные скользящих средних с различными периодами (13, 8 и 5) и различным смещением (8, 5 и 3 соответственно) http://enc.fxeuroclub.ru/409/

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

  AddParameter("Period", 1);

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

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

Аватара пользователя
Den
Сообщения: 308
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

Непрочитанное сообщение Den » 20 июл 2017, 17:22

Я сам себе сказал, что мне нужно SMA c периодом = 1.
Запаздывание не нужно тут, я ж сказал вначале, что метки индикатора совпадают с Input.Close[], но , что самое главное, не на каждой свече.

Поэтому Input.Close[1] тут не пройдет.

Вы приделайте свой индикатор к любому индикатору и пришлите скрин, где он меняет цвет.

Потому что тот, который вы написали, цвет не меняет

Да хоть к такому простецкому

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

function Initialize()
{
IndicatorName = "ePoint";
AddInput("Input", Inputs.Candle);
AddParameter("Period", 5, 0);
PriceStudy = true;

}

function Evaluate()
{
 H = Input.Close[0];
 H.DrawCircle(Color.Red, LineStyles.Solid, 3, Color.Red, 255);
 }



Kurono
Сообщения: 13
Зарегистрирован: 08 июл 2017, 20:37
Поблагодарили: 5 раз

Re: Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

Непрочитанное сообщение Kurono » 21 июл 2017, 08:58

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

function Initialize()
{
IndicatorName = "ePoint";
AddInput("Input", Inputs.Candle);
AddParameter("Period", 55, 0);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Yellow);
AddSeries("S", DrawAs.Line, Color.Gray);
AddGlobalVariable("P", Types.Double, 0.0);   
}

function Evaluate()
{
if ( CurrentIndex < Period)  {S = Input[0]; }
else {var Inp = LIB.MID(Input);
S = SMA(Inp, Period)[0];
H = Input.Close[0];

  if ( H[0] > S[0] )
          {
          if ( H[0] < Input.Close[1] )
          {P = 1;}
          }
  if ( H[0] < S[0])
          {
          if ( H[0] > Input.Close[1] )
          {P = -1;}
          }
             
  if ( P == 1)
          H.DrawCircle(Color.Green, LineStyles.Solid, 3, Color.Red, 255);
  else {
          if ( P == -1)
          {H.DrawCircle(Color.Red, LineStyles.Solid, 3, Color.Red, 255);}
          else  {H.DrawCircle(Color.Yellow, LineStyles.Solid, 3, Color.Red, 255);}
       }
}}

В данном примере для наглядности значение P изменяется когда выполняется двойное условие H[0] становится больше (меньше) SMA и H[0] ниже (выше) предыдущей свечки

Изображение

Если поставите короткий период 1, то никаких сигналов не будет, все точки будут желтые. Проблема вашего индикатора в том, что период очень короткий, и, соответственно, сигналы не проходят.

Аватара пользователя
Den
Сообщения: 308
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

Непрочитанное сообщение Den » 21 июл 2017, 11:13

вот как он выглядит.

Я чесслово не понимаю что он показывает.

SMA - желтая
Вложения
kurono.png

Аватара пользователя
Den
Сообщения: 308
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

Непрочитанное сообщение Den » 21 июл 2017, 11:22

вот другой индикатор, у него не на каждом закрытии сигнал. Вот как он выглядит.
тут точно должно получиться - примените к нему свой индикатор и посмотрите как SMA меняет цвет после сигнала.
Вложения
a12.png
Последний раз редактировалось Den 21 июл 2017, 20:35, всего редактировалось 1 раз.

Аватара пользователя
Den
Сообщения: 308
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Совсем уж простенькое - КАК МЕНЯТЬ ЦВЕТ SMA ?

Непрочитанное сообщение Den » 21 июл 2017, 11:24

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

function Initialize()
{
IndicatorName = "A12";
AddInput("Input", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Magenta);
AddSeries("L", DrawAs.Custom, Color.Lime);
}

function Evaluate()
{
if (( Input.Close[0] < Input.Close[1]) && ( Input.Close[1] > Input.Close[2]) )
{
H[-1] = Input.Close[1];
}
if (( Input.Close[0] > Input.Close[1]) && ( Input.Close[1] < Input.Close[2]) )
{
L[-1] = Input.Close[1];
}
H.DrawArrowDown(Color.Red, LineStyles.Solid, 2, Color.Red, 5);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 2, Color.Lime, 5);

}




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

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

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