साइकिल पोजीशन ट्रेंड फॉलोइंग रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो 200-दिवसीय सरल चलती औसत (एसएमए) के आधार पर ट्रेंड की दिशा निर्धारित करती है। यह दो मोड प्रदान करती है -
इस रणनीति का मुख्य सूचक 200-दिवसीय एसएमए है।
अपट्रेंड मोड का पालन करें: 200-दिवसीय एसएमए से ऊपर बंद होने पर लंबा जाएं; स्टॉप लॉस या लाभ लेने पर बंद स्थिति ट्रिगर की जाती है।
डाउनट्रेंड मोड का पालन करें: 200-दिवसीय एसएमए से नीचे बंद होने पर लंबा जाएं; स्टॉप लॉस या लाभ लेने पर बंद स्थिति ट्रिगर की जाती है।
लंबी स्थिति को परिभाषित किया गया हैlongCondition
200-दिवसीय एसएमए के लिए बंद मूल्यcloseCondition
स्टॉप लॉस, टेक प्रॉफिट और एसएमए पर आधारित चर
विशेष रूप से,strategy.entry
इसका प्रयोग लंबी स्थिति खोलने के लिए किया जाता है जब लंबी स्थिति पूरी हो जाती है।strategy.exit
जब बंद स्थिति ट्रिगर की जाती है तो स्थिति को बंद करने के लिए प्रयोग किया जाता है।
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
सरल और स्पष्ट तर्क जिसे समझना आसान हो।
विभिन्न बाजार वातावरणों के अनुरूप दो वैकल्पिक मोड प्रदान करता है।
अनुकूलन योग्य स्टॉप लॉस और टेक प्रॉफिट जोखिम-लाभ प्रोफ़ाइल को समायोजित करने की अनुमति देता है।
प्रवृत्ति की दिशा निर्धारित करने के लिए प्रसिद्ध 200-दिवसीय एसएमए संकेतक का उपयोग करता है।
मैन्युअल हस्तक्षेप के बिना स्वचालित ट्रेडिंग संकेत उत्पन्न करता है।
इस रणनीति के जोखिमों में निम्नलिखित शामिल हैंः
एक ही संकेतक पर अत्यधिक निर्भर, झूठे संकेतों के लिए प्रवण। पुष्टि के लिए अन्य संकेतक जैसे एमएसीडी, केडीजे जोड़ना मदद कर सकता है।
स्टॉप लॉस और ले लो लाभ के स्तर बहुत तंग या बहुत व्यापक समय से पहले स्टॉप आउट या आदर्श निकास बिंदुओं को याद करने का कारण बन सकते हैं। मापदंडों को उचित परीक्षण और अनुकूलन की आवश्यकता होती है।
संकेतों के लिए बंद मूल्य का उपयोग करने से बंद मूल्य पूर्वाग्रह होता है। मोमबत्ती शरीर का उपयोग करने या संकेत पुष्टि जोड़ने पर विचार करें।
ट्रेडिंग लागतों को ध्यान में नहीं रखता है. लाइव होने पर लागतों को आरक्षित करने की आवश्यकता है.
रणनीति में सुधार के कुछ तरीके:
संकेतों की पुष्टि करने और झूठे संकेतों से बचने के लिए अन्य संकेतक जोड़ें, उदाहरण के लिए एमएसीडी।
बैकटेस्टिंग के माध्यम से इष्टतम संयोजन खोजने के लिए स्टॉप लॉस और ले लाभ मापदंडों का अनुकूलन करें।
केवल अच्छी तरह से परिभाषित रुझानों में व्यापार करने के लिए रुझान फ़िल्टर जोड़ें, उदाहरण के लिए ADX।
मोमबत्ती के शरीर पर विचार करके या पुष्टि जोड़कर प्रवेश विधि में सुधार करें।
सिग्नल की विश्वसनीयता को सत्यापित करने के लिए ट्रेडिंग वॉल्यूम पर विचार करें।
इष्टतम पैरामीटर खोजने के लिए विभिन्न SMA अवधि का परीक्षण करें।
निष्कर्ष में, रणनीति में व्यावहारिक मूल्य के साथ स्पष्ट और समझने योग्य तर्क है। लेकिन एक एकल संकेतक पर निर्भरता की सीमाएं हैं। पुष्टि के लिए अधिक शर्तें जोड़ी जानी चाहिए। बेहतर लाइव प्रदर्शन के लिए मापदंडों का परीक्षण और अनुकूलन भी आवश्यक है। इसके अलावा, फिसलने और कमीशन जैसी ट्रेडिंग लागतों को लाइव ट्रेडिंग में विचार करने की आवश्यकता है।
/*backtest start: 2022-11-10 00:00:00 end: 2023-11-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © I11L //@version=5 strategy("Cycle Position Trading", overlay=true, pyramiding=1, default_qty_value=100000, initial_capital=100000, default_qty_type=strategy.cash, process_orders_on_close=false, calc_on_every_tick=false) // Input for selecting the mode mode = input.string("Buy Uptrend", options = ["Buy Uptrend", "Buy Downtrend"]) // Input for customizing stop loss and take profit levels stopLoss = input.float(0.9, title="Stop Loss (SL) level", step=0.01) takeProfit = input.float(1.1, title="Take Profit (TP) level", step=0.01) // Calculate the 200-day Simple Moving Average (SMA) sma = ta.sma(close, 200) // Plot the SMA on the chart plot(sma) // Define the conditions for entering a long position based on the selected mode longCondition = mode == "Buy Uptrend" ? close > sma and close[5] > sma : close < sma // Define the conditions for closing a position based on the selected mode closeCondition = mode == "Buy Uptrend" ? (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close < sma * 0.95) : (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close > sma * 1.05) // Execute a long position if the longCondition is met if (longCondition) strategy.entry("My Long Entry Id", strategy.long) // Close the position if the closeCondition is met if (closeCondition) strategy.exit("Exit", limit = close)