НачатьНачать бесплатно

Использование sigThreshold — I

В двух следующих упражнениях вы сосредоточитесь на сигнале sigThreshold. Он используется преимущественно для сравнения индикатора с фиксированным числом, что особенно актуально для ограниченных осцилляторов или скользящих статистических показателей. Например, торговая стратегия может открывать длинную позицию, когда отношение среднего к стандартному отклонению достигает −2, и наоборот. В отличие от sigComparison и sigCrossover, которые работают с величинами, обычно близкими по значению к ценам, sigThreshold специально предназначен для индикаторов, принимающих значения за пределами ценового диапазона.

Кроме того, функция sigThreshold() принимает аргумент cross, который определяет режим её работы: при cross = FALSE она ведёт себя аналогично sigComparison, а при cross = TRUE — аналогично sigCrossover. В этом упражнении вы реализуете вариант sigThreshold, работающий по принципу sigComparison.

Ваша задача — реализовать sigThreshold, который проверяет, находится ли значение DVO_2_126 ниже 20. Этот сигнал будет одним из двух условий, которые должны выполняться одновременно для открытия длинной позиции в стратегии.

Это упражнение является частью курса

Финансовый трейдинг на R

Посмотреть курс

Инструкции к упражнению

  • Используйте add.signal(), чтобы добавить сигнал sigThreshold, указывающий, что DVO_2_126 должен быть ниже 20.
  • Установите cross равным FALSE.
  • Присвойте этому сигналу метку longthreshold.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Implement a sigThreshold which specifies that DVO_2_126 must be less than 20, label it longthreshold
add.signal(strategy.st, name = "___", 
           
           # Use the DVO_2_126 column
           arguments = list(column = "___", 
                            
                            # The threshold is 20
                            threshold = ___, 
                            
                            # We want the oscillator to be under this value
                            relationship = "___", 
                            
                            # We're interested in every instance that the oscillator is less than 20
                            cross = ___), 
           
           # Label it longthreshold
           label = "___")
Редактировать и запускать код