दोहरी समय-सीमा गति रणनीति

लेखक:चाओझांग, दिनांकः 2024-04-25 17:33:02
टैगःएसएमए

img

अवलोकन

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

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

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

रणनीतिक लाभ

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

रणनीतिक जोखिम

  1. प्रवृत्ति परिवर्तन का जोखिमः यदि उच्चतर समय सीमा की प्रवृत्ति अचानक बदल जाती है, तो निम्नतम समय सीमा ने अभी तक प्रतिक्रिया नहीं की हो सकती है, जिससे रणनीति विफल हो जाती है।
  2. पैरामीटर सेटिंग्स का जोखिम। अनुचित पैरामीटर सेटिंग्स खराब रणनीति प्रदर्शन का कारण बन सकती हैं। उदाहरण के लिए, एक एसएमए अवधि चुनना जो बहुत कम है, अक्सर व्यापार करने का कारण बन सकता है, जबकि एक को चुनना जो बहुत लंबा है, ट्रेंड निर्णयों में पिछड़ सकता है।
  3. चरम बाजार स्थितियों का जोखिमः चरम बाजार स्थितियों (जैसे तेज वृद्धि या गिरावट) में, यह रणनीति विफल हो सकती है क्योंकि निचली समय सीमा उच्चतम समय सीमा की प्रवृत्ति का पालन नहीं कर सकती है।

रणनीति अनुकूलन दिशाएं

  1. प्रवृत्ति परिवर्तन का पता लगाना जोड़ें. कम समय सीमा पर व्यापार को अधिक तेज़ी से समायोजित करने के लिए यह निर्धारित करने के लिए तर्क जोड़ा जा सकता है कि उच्चतम समय सीमा की प्रवृत्ति बदल गई है या नहीं।
  2. पैरामीटर चयन को अनुकूलित करें. पैरामीटर अनुकूलन विधियों (जैसे आनुवंशिक एल्गोरिदम, ग्रिड खोज, आदि) का उपयोग इष्टतम पैरामीटर संयोजन खोजने के लिए किया जा सकता है।
  3. जोखिम नियंत्रण जोड़ें. जोखिम नियंत्रण उपायों (जैसे स्टॉप-लॉस, स्थिति प्रबंधन, आदि) को चरम बाजार स्थितियों में नुकसान को कम करने के लिए जोड़ा जा सकता है।
  4. बहु-कारक संलयनः अन्य संकेतकों या कारकों (जैसे अस्थिरता, मात्रा आदि) को अपनी मजबूती में सुधार के लिए रणनीति में शामिल करने पर विचार किया जा सकता है।

सारांश

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


/*backtest
start: 2023-04-19 00:00:00
end: 2024-04-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Riester

//@version=5
strategy("Dual Timeframe Momentum", overlay=true, precision=6, pyramiding=0, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=25.0, commission_value=0.05)

n = input.int(20, "Moving Average Period", minval=1)
src = input.source(close, "Source")
high_tf = input.timeframe("240", "Resolution")
pivot_l = input.int(5, "Pivot Let Bars")
pivot_r = input.int(2, "Pivot Right Bars")

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
// Calculations
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------

// 1. Define low and high timeframe prices
low_src = src
high_src = request.security(syminfo.tickerid, high_tf, src)

// 2. Use simple moving average to determine trend of higher timeframe (up or down)
high_tf_ma = ta.sma(high_src, n)
plot(high_tf_ma,  color=color.yellow)
high_tf_trend = high_tf_ma > high_tf_ma[1] ? 1 : -1

// 3. Use pivots to identify reversals on the low timeframe
low_tf_pl = ta.pivotlow(high_src, pivot_l, pivot_r)
plot(low_tf_pl, style=plot.style_line, linewidth=3, color= color.green, offset=-pivot_r)

low_tf_ph = ta.pivothigh(high_src, pivot_l, pivot_r)
plot(low_tf_ph, style=plot.style_line, linewidth=3, color= color.red, offset=-pivot_r)

bool long = low_tf_pl and high_tf_trend == 1
bool short = low_tf_ph and high_tf_trend == -1

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
// Plots
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------

// this message is an alert that can be sent to a webhook, which allows for simple automation if you have a server that listens to alerts and trades programmatically.
enter_long_alert = '{"side": "Long", "order": "Enter", "price": ' + str.tostring(open) + ', "timestamp": ' + str.tostring(timenow) + '}'
exit_long_alert = '{"side": "Long", "order": "Exit", "price": ' + str.tostring(open) + ', "timestamp": ' + str.tostring(timenow) + '}'

if long
    strategy.entry(id="Long", direction=strategy.long, limit=open, alert_message=enter_long_alert)

if short
    strategy.close(id="Long", comment="Close Long", alert_message=exit_long_alert)


संबंधित

अधिक