add.rule() में sigcol निर्दिष्ट करना
बहुत बढ़िया! हालाँकि add.rule() कमांड जटिल लगती है, इसके हर आर्ग्यूमेंट काफी सरल हैं। इस कमांड को समझने के लिए, आप हर आर्ग्यूमेंट को अलग-अलग देखेंगे.
सबसे पहले, add.rule() का एक आर्ग्यूमेंट sigcol होता है, जो आपकी स्ट्रैटेजी में सिग्नल कॉलम बताता है। सिग्नल और इंडिकेटर की तरह, सभी रूल्स आपकी स्ट्रैटेजी में पहले से मौजूद किसी कॉलम को रेफर करते हैं। रूल्स सिग्नल्स पर निर्भर होते हैं, इसलिए उन्हें आपकी स्ट्रैटेजी के सिग्नल कॉलम्स को ही रेफर करना चाहिए.
इस अभ्यास में, आप add.rule() कॉल में sigcol वैल्यू देंगे, जिसे filterexit सेट किया जाएगा (ताकि पिछले अध्याय में बनाए गए filterexit सिग्नल को रेफर किया जा सके)। विशेष रूप से, filterexit सिग्नल उस स्थिति को दर्शाता है जब आपकी स्ट्रैटेजी में 50-दिन की SMA, 200-दिन की SMA के नीचे क्रॉस करती है। इस सिग्नल के लिए एक रूल बनाकर, आप यह संकेत देंगे कि आप इस स्थिति में एग्ज़िट करना चाहते हैं, क्योंकि मार्केट का माहौल अब आपकी पोज़िशन के अनुकूल नहीं रहा.
पहले की तरह, strategy.st आपके वर्कस्पेस में पहले से लोड है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में फाइनेंशियल ट्रेडिंग
अभ्यास निर्देश
- एक बार फिर, अपने वर्कस्पेस में
add.rule()कमांड पर नज़र डालिए. sigcolनिर्दिष्ट करकेfilterexitके आधार पर एक एग्ज़िट रूल बनाइए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Fill in the sigcol argument in add.rule()
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "___", sigval = TRUE, orderqty = "all",
ordertype = "market", orderside = "long",
replace = FALSE, prefer = "Open"),
type = "exit")