अपना इंडिकेटर कोड करें - I
अभी तक, आपने add.indicator() फंक्शन का उपयोग करके ऐसे इंडिकेटर्स इस्तेमाल किए हैं जो आपके लिए पहले से लिखे हुए थे. अब समय है कि आप अपना इंडिकेटर लिखें और लागू करें.
आपका इंडिकेटर फंक्शन दो अलग-अलग इंडिकेटर्स का औसत निकालेगा ताकि 3.5 का RSI बने. ऐसे करें:
- एक price series इनपुट लें.
- RSI 3 कैलकुलेट करें.
- RSI 4 कैलकुलेट करें.
- RSI 3 और RSI 4 का औसत रिटर्न करें.
इसे RSI 3.5 समझा जा सकता है, क्योंकि यह RSI 3 से लंबा और RSI 4 से छोटा है. औसत लेने से, यह इंडिकेटर चार दिन पहले के प्रभाव को ध्यान में रखता है, फिर भी एक साधारण RSI 4 से तेज रहता है, और RSI 3 व RSI 4 दोनों का noise भी कम करता है.
इस अभ्यास में, आप इस इंडिकेटर के लिए calc_RSI_avg() नाम का फंक्शन बनाएँगे और इसे अपनी स्ट्रैटेजी strategy.st में जोड़ेंगे. सभी आवश्यक पैकेज आपके लिए पहले से लोड हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में फाइनेंशियल ट्रेडिंग
अभ्यास निर्देश
calc_RSI_avgनाम का एक फंक्शन बनाएँ, जिसमें तीन आर्ग्युमेंट हों:price,n1, औरn2— इसी क्रम में.- lookback
n1के साथ एक RSI कैलकुलेट करें, जिसका नामRSI_1रखें. - lookback
n2के साथ एक RSI कैलकुलेट करें, जिसका नामRSI_2रखें. RSI_1औरRSI_2का औसत निकालें. इसेRSI_avgकहें.- colnames() का उपयोग करके
RSI_avgका कॉलम नामRSI_avgसेट करें, औरRSI_avgरिटर्न करें. - इस इंडिकेटर को अपनी स्ट्रैटेजी में
n1 = 3औरn2 = 4इनपुट्स के साथ जोड़ें. इस इंडिकेटर का लेबलRSI_3_4रखें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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 = ___)