Napisz własny wskaźnik – część I
Do tej pory korzystałeś ze wskaźników całkowicie gotowych, dodając je za pomocą funkcji add.indicator(). Teraz nadszedł czas, aby napisać i zastosować własny wskaźnik.
Twoja funkcja wskaźnika obliczy średnią z dwóch różnych wskaźników, tworząc RSI o wartości 3,5. Oto jak to działa:
- Przyjmuje szereg cenowy.
- Oblicza RSI 3.
- Oblicza RSI 4.
- Zwraca średnią z RSI 3 i RSI 4.
Ten RSI można traktować jako RSI 3,5 – jest dłuższy niż RSI 3 i krótszy niż RSI 4. Dzięki uśrednieniu wskaźnik uwzględnia wpływ danych sprzed czterech dni, jednocześnie reagując szybciej niż zwykły RSI 4 i redukując szum obecny zarówno w RSI 3, jak i RSI 4.
W tym ćwiczeniu stworzysz funkcję o nazwie calc_RSI_avg() i dodasz ją do strategii strategy.st. Wszystkie niezbędne pakiety są już wczytane.
To ćwiczenie jest częścią kursu
Handel finansowy w R
Instrukcje do ćwiczenia
- Utwórz i nazwij funkcję
calc_RSI_avgprzyjmującą trzy argumenty:price,n1in2– w tej kolejności. - Oblicz RSI z okresem lookback
n1i nadaj mu nazwęRSI_1. - Oblicz RSI z okresem lookback
n2i nadaj mu nazwęRSI_2. - Oblicz średnią z
RSI_1iRSI_2. Nazwij jąRSI_avg. - Ustaw nazwę kolumny
RSI_avgnaRSI_avgza pomocą colnames() i zwróćRSI_avg. - Dodaj ten wskaźnik do swojej strategii, używając wartości
n1 = 3in2 = 4. Nadaj wskaźnikowi etykietęRSI_3_4.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Write the calc_RSI_avg function
calc_RSI_avg <- function(price, n1, n2) {
# RSI 1 takes an input of the price and n1
RSI_1 <- RSI(price = price, n = ___)
# RSI 2 takes an input of the price and n2
RSI_2 <- RSI(price = price, n = ___)
# RSI_avg is the average of RSI_1 and RSI_2
RSI_avg <- (___ + ___)/2
# Your output of RSI_avg needs a column name of RSI_avg
colnames(RSI_avg) <- "___"
return(___)
}
# Add this function as RSI_3_4 to your strategy with n1 = 3 and n2 = 4
add.indicator(strategy.st, name = ___, arguments = list(price = quote(Cl(mktdata)), n1 = ___, n2 = ___), label = ___)