Vytvoř vlastní indikátor – I
Dosud jsi pracoval/a s indikátory, které byly celé předpřipravené a stačilo je přidat pomocí funkce add.indicator(). Teď přišel čas napsat a nasadit vlastní indikátor.
Tvoje funkce indikátoru vypočítá průměr dvou různých indikátorů a vytvoří tak RSI o hodnotě 3,5. Postup je následující:
- Přijmi sérii cen.
- Vypočítej RSI 3.
- Vypočítej RSI 4.
- Vrať průměr RSI 3 a RSI 4.
Tento RSI si lze představit jako RSI 3,5 – je delší než RSI 3 a kratší než RSI 4. Průměrováním tento indikátor zohledňuje dopad před čtyřmi dny a zároveň zůstává rychlejší než jednoduché RSI 4. Navíc potlačuje šum přítomný v obou hodnotách – RSI 3 i RSI 4.
V tomto cvičení vytvoříš funkci pro tento indikátor s názvem calc_RSI_avg() a přidáš ji do strategie strategy.st. Všechny potřebné balíčky jsou už načteny.
Toto cvičení je součástí kurzu
Finanční obchodování v R
Pokyny k cvičení
- Vytvoř a pojmenuj funkci
calc_RSI_avgse třemi argumentyprice,n1an2v tomto pořadí. - Vypočítej RSI se zpětným pohledem
n1a pojmenuj hoRSI_1. - Vypočítej RSI se zpětným pohledem
n2a pojmenuj hoRSI_2. - Vypočítej průměr
RSI_1aRSI_2a ulož ho jakoRSI_avg. - Nastav název sloupce
RSI_avgnaRSI_avgpomocí colnames() a vraťRSI_avg. - Přidej tento indikátor do své strategie s hodnotami
n1 = 3an2 = 4. Jako popisek indikátoru použijRSI_3_4.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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 = ___)