इस रणनीति का नाम
इस रणनीति का मुख्य सिद्धांत अल्पकालिक चलती औसत के प्रतिवर्तन का उपयोग करके रेंज-बाउंड बाजारों में रिबाउंड अवसरों को पकड़ना है। विशेष रूप से, जब कीमतें लंबे चक्र चलती औसत (जैसे 20-दिवसीय और 50-दिवसीय एमए) को तोड़ती हैं और मजबूत ओवरसेलिंग के संकेत दिखाती हैं, तो बाजार में उतार-चढ़ाव की औसत प्रतिवर्तन विशेषता के कारण कीमतें कुछ हद तक उछाल लेती हैं। इस समय, यदि कम चक्र चलती औसत (जैसे 10-दिवसीय एमए) ऊपर की ओर पलटाव संकेत दिखाती है, तो यह खरीदने के लिए एक अच्छा समय होगा। इस रणनीति में, यह खरीद करेगा जब कीमत बंद हो जाती है 20-दिवसीय एमए से नीचे जबकि 50-दिवसीय एमए से ऊपर, ताकि अल्पकालिक एमए प्रतिवर्तन के साथ अपनी वापसी को पकड़ सके।
विशिष्ट प्रविष्टि तर्क हैः 20 दिन के एमए के माध्यम से कीमत तोड़ने पर 1 लॉट खरीदें, 50 दिन के एमए के माध्यम से तोड़ने पर 1 लॉट जोड़ें, 100 दिन के एमए के माध्यम से तोड़ने पर 1 लॉट जोड़ना जारी रखें, और अधिकतम 4 लॉट के लिए 200 दिन के एमए के माध्यम से तोड़ने पर 1 लॉट जोड़ें। पूर्व निर्धारित लक्ष्यों तक पहुंचने के बाद लाभ लें। यह समय और स्टॉप लॉस शर्तों को भी निर्धारित करता है।
सामान्य तौर पर, यह एक क्लासिक और सार्वभौमिक एमए ट्रेडिंग रणनीति है। यह अल्पकालिक खरीद अवसरों की पहचान करने के लिए कई एमए के साथ संयुक्त एमए की चिकनाई सुविधा का सही उपयोग करता है। यह पिरामिड ऑर्डर और समय पर लाभ लेने से जोखिमों को नियंत्रित करता है। लेकिन महत्वपूर्ण नीति समाचार जैसी बाजार की घटनाओं के लिए इसकी प्रतिक्रिया अधिक निष्क्रिय हो सकती है। यह कुछ ऐसा है जिसे आगे अनुकूलित किया जा सकता है। कुल मिलाकर, पैरामीटर अनुकूलन और जोखिम नियंत्रण में उचित सुधार के साथ, यह रणनीति स्थिर अतिरिक्त रिटर्न प्राप्त कर सकती है।
/*backtest start: 2023-12-13 00:00:00 end: 2023-12-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA_zorba1", shorttitle="zorba_ema", overlay=true) // Input parameters qt1 = input.int(5, title="Quantity 1", minval=1) qt2 = input.int(10, title="Quantity 2", minval=1) qt3 = input.int(15, title="Quantity 3", minval=1) qt4 = input.int(20, title="Quantity 4", minval=1) ema10 = ta.ema(close, 10) ema20 = ta.ema(close, 20) ema50 = ta.ema(close, 50) ema100 = ta.ema(close, 100) ema200 = ta.ema(close, 200) // Date range filter start_date = timestamp(year=2021, month=1, day=1) end_date = timestamp(year=2024, month=10, day=27) in_date_range = true // Profit condition profit_percentage = input(1, title="Profit Percentage") // Adjust this value as needed // Pyramiding setting pyramiding = input.int(2, title="Pyramiding", minval=1, maxval=10) // Buy conditions buy_condition_1 = in_date_range and close < ema20 and close > ema50 and close < open and close < low[1] buy_condition_2 = in_date_range and close < ema50 and close > ema100 and close < open and close < low[1] buy_condition_3 = in_date_range and close < ema100 and close > ema200 and close < open and close < low[1] buy_condition_4 = in_date_range and close < ema200 and close < open and close < low[1] // Exit conditions profit_condition = strategy.position_avg_price * (1 + profit_percentage / 100) <= close exit_condition_1 = in_date_range and (close > ema10 and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and profit_condition and close < low[1] and close < low[2] exit_condition_2 = in_date_range and (close < ema10 and close[1] > ema10 and close < close[1] and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and profit_condition and close < low[1] and close < low[2] // Exit condition for when today's close is less than the previous day's low //exit_condition_3 = close < low[1] // Strategy logic strategy.entry("Buy1", strategy.long, qty=qt1 * pyramiding, when=buy_condition_1) strategy.entry("Buy2", strategy.long, qty=qt2 * pyramiding, when=buy_condition_2) strategy.entry("Buy3", strategy.long, qty=qt3 * pyramiding, when=buy_condition_3) strategy.entry("Buy4", strategy.long, qty=qt4 * pyramiding, when=buy_condition_4) strategy.close("Buy1", when=exit_condition_1 or exit_condition_2) strategy.close("Buy2", when=exit_condition_1 or exit_condition_2) strategy.close("Buy3", when=exit_condition_1 or exit_condition_2) strategy.close("Buy4", when=exit_condition_1 or exit_condition_2)