डायनेमिक मूविंग एवरेज पुलबैक ट्रेडिंग रणनीति


निर्माण तिथि: 2024-02-27 14:38:45 अंत में संशोधित करें: 2024-02-27 14:38:45
कॉपी: 0 क्लिक्स: 584
1
ध्यान केंद्रित करना
1617
समर्थक

डायनेमिक मूविंग एवरेज पुलबैक ट्रेडिंग रणनीति

अवलोकन

यह रणनीति एक द्वि-समानता प्रणाली का उपयोग करती है जो किसी विशेष स्टॉक या डिजिटल मुद्रा में संभावित ब्रेकआउट अवसरों की तलाश करती है। इसका मूल सिद्धांत शेयरों या डिजिटल मुद्राओं को खरीदना है जब अल्पकालिक औसत लंबी अवधि के औसत से नीचे उछाल देता है। जब कीमतें लंबी अवधि के औसत को फिर से जांचती हैं, तो शेयरों या डिजिटल मुद्राओं को बेचें।

रणनीति सिद्धांत

यह रणनीति दो अलग-अलग चक्रों की सरल चलती औसत (एसएमए) का उपयोग करती है जो एक ट्रेडिंग सिग्नल के रूप में कार्य करती है। पहला एसएमए चक्र लंबा है, जो समग्र प्रवृत्ति की दिशा का प्रतिनिधित्व करता है। दूसरा एसएमए चक्र छोटा है, जो अल्पकालिक मूल्य उतार-चढ़ाव को पकड़ने के लिए उपयोग किया जाता है।

जब अल्पकालिक SMA नीचे से लंबे समय तक SMA पहनता है, तो कीमतें समग्र रूप से ऊपर की ओर बढ़ रही हैं, इसलिए रणनीति एक बहुस्तरीय स्थिति खोलती है। जब कीमतों में गिरावट होती है, तो लंबी अवधि के SMA का फिर से परीक्षण किया जाता है, जो अल्पकालिक पुलबैक के अंत का संकेत देता है, इस समय रणनीति को रोकना या लाभ उठाना बंद करना होगा।

इसके अलावा, रणनीति में ओवरसोल्ड और ओवरबॉट स्थितियां हैं, जिससे चरम स्थितियों में व्यापार से बचा जा सकता है। स्थिति केवल तभी खोली जा सकती है जब द्वि-समानता रेखा क्रॉस और उचित मूल्यांकन शर्तें एक साथ पूरी हों।

रणनीतिक लाभ

  • द्वि-समान-रेखा प्रणाली का उपयोग करके अल्पकालिक और मध्यम अवधि के रुझानों की पहचान करना
  • ट्रेंड ट्रैकिंग और रिवर्स ट्रेडिंग के फायदे
  • अनावश्यक लेन-देन को कम करने के लिए अंतर्निहित ओवरसोल और ओवरबॉट स्थितियां

जोखिम विश्लेषण

  • रिवर्स के अंत का समय निर्धारित करना मुश्किल है, जो कि पूर्वनिर्धारित हानि को रोक सकता है
  • प्रवृत्ति में बदलाव के साथ, तेजी से बंद नहीं किया जा सकता है, अधिक नुकसान हो सकता है
  • अनुचित पैरामीटर सेटिंग्स के कारण बहुत बार या रूढ़िवादी लेनदेन हो सकता है

रणनीति अनुकूलन

इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः

  1. अधिक परिष्कृत उपकरणों का उपयोग करके मूल्य परिवर्तन और रुझानों का पता लगाने के लिए, जैसे कि ब्रिन बैंड, केडी सूचकांक आदि
  2. ट्रेडों की मात्रा में परिवर्तन, उतार-चढ़ाव आदि जैसे अन्य कारकों के संयोजन के साथ रिवर्स के समापन का समय निर्धारित करें
  3. स्थिति को गतिशील रूप से आकार देने के लिए लाभ को अधिकतम करें
  4. स्टॉप लॉजिक का अनुकूलन, KAMA, Ichimoku क्लाउड और कम समय सीमा का उपयोग करके स्टॉप समय का निर्धारण करना

संक्षेप

इस रणनीति में प्रवृत्ति का पालन करने और ट्रेडों को वापस लेने के फायदे शामिल हैं, अवसरों की उपस्थिति का न्याय करने के लिए द्वि-समान-रेखा प्रणाली का उपयोग करें। साथ ही, कुछ ओवरबॉट ओवरसोल स्थितियों को अंतर्निहित करें, अनावश्यक स्थिति खोलने से बचें। यह एक बहुत ही व्यावहारिक मात्रात्मक व्यापार रणनीति है, जो गहन अध्ययन और अनुकूलन के लायक है।

रणनीति स्रोत कोड
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=5
strategy("Profitable Pullback Trading Strategy", overlay=true,initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs
ma_length1 = input.int(280,'MA length 1', step = 10,group = 'Moving Avg. Parameters', inline = 'MA')
ma_length2 = input.int(13,'MA length 2', step = 1,group = 'Moving Avg. Parameters', inline = 'MA')
sl = input.float(title="Stop Loss (%)", defval=0.07, step=0.1, group="Moving Avg. Parameters")
too_deep    = input.float(title="Too Deep (%)", defval=0.27, step=0.01, group="Too Deep and Thin conditions", inline = 'Too')
too_thin    = input.float(title="Too Thin (%)", defval=0.03, step=0.01, group="Too Deep and Thin conditions", inline = 'Too')

// Calculations
ma1 = ta.sma(close,ma_length1)
ma2 = ta.sma(close,ma_length2)
too_deep2   = (ma2/ma1-1) < too_deep
too_thin2   = (ma2/ma1-1) > too_thin

// Entry and close condtions
var float buy_price = 0
buy_condition = (close > ma1) and (close < ma2) and strategy.position_size == 0 and too_deep2 and too_thin2
close_condition1  = (close > ma2) and strategy.position_size > 0 and (close < low[1])
stop_distance = strategy.position_size > 0 ? ((buy_price - close) / close) : na
close_condition2 = strategy.position_size > 0 and stop_distance > sl
stop_price = strategy.position_size > 0 ? buy_price - (buy_price * sl) : na

// Entry and close orders
if buy_condition
    strategy.entry('Long',strategy.long)
if buy_condition[1]
    buy_price := open
if close_condition1 or close_condition2
    strategy.close('Long',comment="Exit" + (close_condition2 ? "SL=true" : ""))
    buy_price := na

plot(ma1,color = color.blue)
plot(ma2,color = color.orange)