यह रणनीति एक ग्रिड ट्रेडिंग प्रणाली है जो मूल्य में गिरावट के आधार पर पदों को जोड़ती है और एक निश्चित लाभ लक्ष्य तक पहुंचने पर पदों को बंद करती है। मूल तर्क यह है कि जब बाजार एक पूर्व निर्धारित प्रतिशत तक गिरता है, तो सभी पदों को खरीदना, जब मूल्य लक्ष्य लाभ तक उछलता है, और इस प्रक्रिया को बार-बार निष्पादित करके रिटर्न उत्पन्न करना। यह रणनीति विशेष रूप से दोलन बाजारों में अल्पकालिक रिबाउंड को पकड़ने के लिए उपयुक्त है।
इस रणनीति में ग्रिड ट्रेडिंग और दिशात्मक लाभ लेने का एक संयुक्त तंत्र शामिल हैः
यह एक संरचनात्मक रूप से सरल लेकिन व्यावहारिक ग्रिड ट्रेडिंग रणनीति है जो प्रीसेट मूल्य ड्रॉप पर बैचों में पदों का निर्माण करती है और लाभ लक्ष्यों तक पहुंचने पर समान रूप से पदों को बंद करती है। रणनीति के मुख्य फायदे इसके निष्पादन निश्चितता और जोखिम विविधीकरण में निहित हैं, लेकिन कार्यान्वयन के दौरान बाजार वातावरण का चयन और पैरामीटर अनुकूलन महत्वपूर्ण हैं। गतिशील स्टॉप-लॉस जोड़ने और स्थिति प्रबंधन में सुधार के माध्यम से महत्वपूर्ण अनुकूलन क्षमता है। लाइव ट्रेडिंग के लिए, वास्तविक बाजार स्थितियों के आधार पर गहन बैकटेस्टिंग और पैरामीटर समायोजन की सिफारिश की जाती है।
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy Down 5%, Sell at 5% Profit", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1) // Inputs initial_date = input(timestamp("2024-01-01 00:00:00"), title="Initial Purchase Date") profit_target = input.float(5.0, title="Profit Target (%)", minval=0.1) // Target profit percentage rebuy_drop = input.float(5.0, title="Rebuy Drop (%)", minval=0.1) // Drop percentage to rebuy // Variables var float initial_price = na // Initial purchase price var int entries = 0 // Count of entries var float total_profit = 0 // Cumulative profit var bool active_trade = false // Whether an active trade exists // Entry Condition: Buy on or after the initial date if not active_trade initial_price := close strategy.entry("Buy", strategy.long) entries += 1 active_trade := true // Rebuy Condition: Buy if price drops 5% or more from the initial price rebuy_price = initial_price * (1 - rebuy_drop / 100) if active_trade and close <= rebuy_price strategy.entry("Rebuy", strategy.long) entries += 1 // Exit Condition: Sell if the price gives a 5% profit on the initial investment target_price = initial_price * (1 + profit_target / 100) if active_trade and close >= target_price strategy.close_all(comment="Profit Target Hit") active_trade := false total_profit += profit_target // Display information on the chart plotshape(series=close >= target_price, title="Target Hit", style=shape.labelup, location=location.absolute, color=color.green, text="Sell") plotshape(series=close <= rebuy_price, title="Rebuy", style=shape.labeldown, location=location.absolute, color=color.red, text="Rebuy") // Draw statistics on the chart var label stats_label = na if (na(stats_label)) stats_label := label.new(x=bar_index, y=close, text="", style=label.style_none, size=size.small) label.set_xy(stats_label, bar_index, close) label.set_text(stats_label, "Entries: " + str.tostring(entries) + "\nTotal Profit: " + str.tostring(total_profit, "#.##") + "%")