यह रणनीति जोखिम प्रबंधन के लिए एक दिनांक-विशिष्ट ट्रिगर और एक ट्रैलिंग स्टॉप लॉस तंत्र के साथ लंबी स्थिति प्रविष्टि के लिए डिज़ाइन की गई है। यह विशेष रूप से उन व्यापारियों के लिए उपयोगी है जो विशिष्ट कैलेंडर तिथियों के आधार पर अपनी प्रविष्टियों को स्वचालित करना चाहते हैं और एक गतिशील जोखिम नियंत्रण विधि जैसे ट्रैलिंग स्टॉप लॉस के साथ अपनी स्थिति का प्रबंधन करना चाहते हैं।
रणनीति पहले महीने और दिन सहित विशिष्ट प्रविष्टि तिथियों का इनपुट लेती है, फिर इन तिथियों के आधार पर सटीक प्रविष्टि टाइमस्टैम्प की गणना करती है। यह ट्रेलिंग स्टॉप लॉस के लिए प्रतिशत पैरामीटर भी इनपुट करती है।
प्रवेश तिथि पर, रणनीति एक लंबी स्थिति खोलती है। एक ही समय में, यह उच्चतम मूल्य (उच्चतम मूल्य) और स्टॉप लॉस मूल्य (स्टॉप लॉस) रिकॉर्ड करती है। उच्चतम मूल्य समय के साथ अद्यतन रहता है, जबकि स्टॉप लॉस इसे एक निश्चित प्रतिशत नीचे की ओर पीछे छोड़ देता है।
यदि मूल्य स्टॉपलॉस से नीचे गिर जाता है, तो स्थिति बंद हो जाएगी। अन्यथा, स्थिति खुली रहती है, और लाभ को लॉक करने और जोखिम को नियंत्रित करने के लिए स्टॉपलॉस उच्चतम मूल्य के पीछे रहता है।
इस रणनीति के मुख्य लाभ इस प्रकार हैंः
कुछ जोखिम भी हैं:
सम्भावित सुधार:
संभावित अनुकूलन दिशाएंः
यह रणनीति ट्रेलिंग स्टॉप लॉस के माध्यम से स्वचालित दिनांक-आधारित प्रविष्टि और गतिशील जोखिम प्रबंधन प्रदान करती है। संचालित करने के लिए सरल और सहज, दीर्घकालिक होल्डिंग के लिए उपयुक्त। आगे के अनुकूलन इसे एक बहुत ही व्यावहारिक मात्रा व्यापार रणनीति बना सकते हैं।
/*backtest start: 2024-01-24 00:00:00 end: 2024-01-31 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Trailing Stop Loss Percent", overlay=true, pyramiding=1) // Input for the specific entry date entryDay = input.int(defval = 1, title = "Entry Day", minval = 1, maxval = 31) entryMonth = input.int(defval = 1, title = "Entry Month", minval = 1, maxval = 12) entryYear = input.int(defval = 2023, title = "Entry Year", minval = 1970) // Calculate the entry date timestamp entryDate = timestamp(entryYear, entryMonth, entryDay, 00, 00) // Trailing Stop Loss Percentage trailStopPercent = input.float(defval = 5.0, title = "Trailing Stop Loss (%)", minval = 0.1) // Entry Condition enterTrade = true // Variables to track the highest price and stop loss level since entry var float highestPrice = na var float stopLoss = na // Update the highest price and stop loss level if strategy.position_size > 0 highestPrice := math.max(highestPrice, high) stopLoss := highestPrice * (1 - trailStopPercent / 100) // Enter the strategy if enterTrade strategy.entry("Long Entry", strategy.long) highestPrice := high stopLoss := highestPrice * (1 - trailStopPercent / 100) // Exit the strategy if the stop loss is hit if strategy.position_size > 0 and low <= stopLoss strategy.close("Long Entry") // Plotting the stop loss level for reference plot(strategy.position_size > 0 ? stopLoss : na, "Trailing Stop Loss", color=color.red)