गतिशील चलती औसत पर आधारित पुलबैक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-27 14:38:45
टैगः

img

अवलोकन

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

रणनीति तर्क

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

जब अल्पकालिक एसएमए नीचे से दीर्घकालिक एसएमए के ऊपर से पार करता है, तो यह कीमतों में समग्र वृद्धि का संकेत देता है, इसलिए रणनीति एक लंबी स्थिति खोलती है। जब कीमतें दीर्घकालिक एसएमए को फिर से परीक्षण करने के लिए वापस खींचती हैं, तो यह इंगित करती है कि अल्पकालिक पुलबैक समाप्त हो गया है और रणनीति स्थिति को रोकने या लाभ लेने पर विचार करती है।

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

लाभ

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

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

  • सटीक पलकबैक अंत समय निर्धारित करने के लिए मुश्किल है, समय से पहले बंद हो सकता है
  • प्रवृत्ति परिवर्तन के समय घाटे में तेजी से कटौती करने में असमर्थ, बड़े ड्रॉडाउन का सामना कर सकता है
  • खराब पैरामीटर ट्यूनिंग से ओवर ट्रेडिंग या रूढ़िवादी ट्रेडिंग हो सकती है

अनुकूलन दिशाएँ

इस रणनीति को अनुकूलित करने के लिए और अधिक जगह हैः

  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)



अधिक