Код канала стандартного отклонения из терминала - страница 3

 
C-4:
По виду графике, представленного топикстартером складывается впечатление что ему-то и пришло это в голову.

Ок, я не силен в статистике, поэтому тут и спрашиваю. Можете максимально конкретно, без аллегорий, сказать, в чем я не прав и как надо действовать?

Вот пример на Матлабе, так, сдвигаясь по точкам, я считал канал:

>> x=[1 2 3 4 5 6 7 8 9]; % аналог котировок
>> s(1) = std(x(1:4))
s =
    1.29099444873581e+000
>> s(2) = std(x(2:5))
s =
    1.29099444873581e+000    1.29099444873581e+000
>> s(3) = std(x(3:6))
s =
    1.29099444873581e+000    1.29099444873581e+000    1.29099444873581e+000
 
За готовым решением сюды.
 
пример нахождения STD по наклонной - https://www.mql5.com/en/code/191
 
VDev:

Ок, я не силен в статистике, поэтому тут и спрашиваю. Можете максимально конкретно, без аллегорий, сказать, в чем я не прав и как надо действовать?

Вот пример на Матлабе, так, сдвигаясь по точкам, я считал канал:

В вашем примере у вектора x отсутствует вариация признака. Это идеальна ровная прямая. Следовательно, ее стандартное отклонение будет равно нулю.

В MathLab'е не силен, но вот аналогичный код в R, который это иллюстрирует:

> x <- 1:9              # Сгенерируем вектор условных котировок X
> x                     # Отобразим что получилось
[1] 1 2 3 4 5 6 7 8 9 
> sd(1:4)               # Рассчитаем стандартное отклоение для части 1:4 (это неправильно)
[1] 1.290994            # Результаты совпадают с неправильными результатами топикстартера. 
> y <- diff(x)          # Возьмем первые разности, или приращения вектора x 
> y                     # Отобразим что получилось 
[1] 1 1 1 1 1 1 1 1 
> sd(y)                 # Рассчитаем std на первых разностях
[1] 0                   # Ответ как и ожидается ноль, т.к. все элементы образующие процесс X, не отличаются друг от друга.  

 *Функция diff - берет разницу между i-ым и i-1 элементом. В матлабе она может называться и действовать по-другому. 

 

в Матлабе у меня получился вот такой канал:

 
gopher:

в Матлабе у меня получился вот такой канал:

Интересно, попробую его вставить в стратегию.
 
C-4:

В вашем примере у вектора x отсутствует вариация признака. Это идеальна ровная прямая. Следовательно, ее стандартное отклонение будет равно нулю.

В MathLab'е не силен, но вот аналогичный код в R, который это иллюстрирует:

> x <- 1:9              # Сгенерируем вектор условных котировок X
> x                     # Отобразим что получилось
[1] 1 2 3 4 5 6 7 8 9 
> sd(1:4)               # Рассчитаем стандартное отклоение для части 1:4 (это неправильно)
[1] 1.290994            # Результаты совпадают с неправильными результатами топикстартера. 
> y <- diff(x)          # Возьмем первые разности, или приращения вектора x 
> y                     # Отобразим что получилось 
[1] 1 1 1 1 1 1 1 1 
> sd(y)                 # Рассчитаем std на первых разностях
[1] 0                   # Ответ как и ожидается ноль, т.к. все элементы образующие процесс X, не отличаются друг от друга.  

 *Функция diff - берет разницу между i-ым и i-1 элементом. В матлабе она может называться и действовать по-другому. 

Теперь ясно, буду пробовать, спасибо.
 
artemiusgreat:
пример нахождения STD по наклонной - https://www.mql5.com/en/code/191

Понравился индикатор, правда эти фильтры без задержек та еще штука, баловался уже с ними.

Вопрос к модераторам: я переделал этот индикатор на MQL4, переделки совсем минимальные, как бы его выложить в Code Base MQL4 для общей пользы? От своего имени, даже с указанием автора, некорректно, может, закинете от его имени или что посоветуете? А то здесь он быстро утонет в истории.


Файлы:
Причина обращения: