संसाधन लोड हो रहा है... लोड करना...

समर्थन और प्रतिरोध स्तरों पर उल्टा पैटर्न पर आधारित मात्रात्मक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-06-07 16:45:09
टैगः

img

अवलोकन

यह रणनीति तकनीकी विश्लेषण में रिवर्स पैटर्न (हम्मर, एंगलफिंग और डोजी) और समर्थन और प्रतिरोध स्तरों पर आधारित है, जो 1 घंटे के चार्ट पर कारोबार करती है। यह रणनीति संभावित बाजार रिवर्स बिंदुओं की पहचान करती है और पूर्वनिर्धारित लाभ लेने और स्टॉप लॉस स्तरों के साथ ट्रेडों को निष्पादित करती है।

रणनीति का मुख्य विचार एक लंबी स्थिति में प्रवेश करना है जब एक तेजी से रिवर्स पैटर्न (जैसे एक हथौड़ा, तेजी से घेरना, या डोजी) एक समर्थन स्तर के पास दिखाई देता है, और एक छोटी स्थिति में प्रवेश करना जब एक मंदी रिवर्स पैटर्न (जैसे एक हथौड़ा, मंदी घेरना, या डोजी) एक प्रतिरोध स्तर के पास दिखाई देता है। लाभ लेने और स्टॉप लॉस स्तर जोखिम को नियंत्रित करने और लाभ में लॉक करने के लिए सेट किए जाते हैं।

रणनीति तर्क

  1. समर्थन और प्रतिरोध के स्तरों को निर्धारित करने के लिए ta.lowest() और ta.highest() कार्यों का उपयोग करके निर्दिष्ट lookback अवधि के भीतर निम्नतम निम्न और उच्चतम उच्च की गणना करें।
  2. जांचें कि क्या वर्तमान मोमबत्ती एक हथौड़ा, निगलने वाला पैटर्न या डोजी बनाता है।
  3. यदि समर्थन स्तर के पास तेजी का प्रतिवर्ती पैटर्न दिखाई देता है, तो लंबी स्थिति में प्रवेश करें; यदि प्रतिरोध स्तर के पास मंदी का प्रतिवर्ती पैटर्न दिखाई देता है, तो छोटी स्थिति में प्रवेश करें।
  4. लाभ लेने की कीमत को प्रवेश मूल्य से 3% ऊपर और स्टॉप लॉस की कीमत को प्रवेश मूल्य से 1% नीचे सेट करें।
  5. जब मूल्य लाभ लेने या स्टॉप लॉस स्तर तक पहुँचता है तो स्थिति को बंद करें।

रणनीतिक लाभ

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

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

  1. रेंजिंग बाजारों में, बार-बार रिवर्स सिग्नल ओवरट्रेडिंग और कमीशन के नुकसान का कारण बन सकते हैं।
  2. समर्थन और प्रतिरोध स्तरों की पहचान बैकबैक अवधि की पसंद पर निर्भर करती है और अलग-अलग बैकबैक अवधि के परिणामस्वरूप अलग-अलग परिणाम हो सकते हैं।
  3. उल्टे पैटर्न की विश्वसनीयता पूर्ण नहीं है और झूठे संकेतों के परिणामस्वरूप नुकसान हो सकता है।

समाधान:

  1. झूठे संकेतों को कम करने के लिए प्रतिवर्तन पैटर्न के मापदंडों और पुष्टिकरण स्थितियों को समायोजित करें।
  2. संकेत की विश्वसनीयता में सुधार के लिए अन्य तकनीकी संकेतक या बाजार भावना संकेतक शामिल करें।
  3. विभिन्न बाजार स्थितियों के अनुकूल होने के लिए लाभ लेने और हानि रोकने के स्तरों को उचित रूप से समायोजित करें।

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

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

सारांश

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


/*backtest
start: 2024-05-07 00:00:00
end: 2024-06-06 00:00:00
period: 2h
basePeriod: 15m
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/
// © Kingcoinmilioner

//@version=5
strategy("Reversal Patterns at Support and Resistance", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Parameters
support_resistance_lookback = input.int(50, title="Support/Resistance Lookback Period")
reversal_tolerance = input.float(0.01, title="Reversal Tolerance (percent)", step=0.01) / 100
take_profit_percent = input.float(3, title="Take Profit (%)") / 100
stop_loss_percent = input.float(1, title="Stop Loss (%)") / 100

// Functions to identify key support and resistance levels
findSupport() =>
    ta.lowest(low, support_resistance_lookback)

findResistance() =>
    ta.highest(high, support_resistance_lookback)

// Identify reversal patterns
isHammer() =>
    body = math.abs(close - open)
    lowerWick = open > close ? (low < close ? close - low : open - low) : (low < open ? open - low : close - low)
    upperWick = high - math.max(open, close)
    lowerWick > body * 2 and upperWick < body

isEngulfing() =>
    (close[1] < open[1] and close > open and close > open[1] and open < close[1]) 
    (close[1] > open[1] and close < open and close < open[1] and open > close[1])

isDoji() =>
    math.abs(open - close) <= (high - low) * 0.1

// Identify support and resistance levels
support = findSupport()
resistance = findResistance()

// Check for reversal patterns at support and resistance
hammerAtSupport = isHammer() and (low <= support * (1 + reversal_tolerance))
engulfingAtSupport = isEngulfing() and (low <= support * (1 + reversal_tolerance))
dojiAtSupport = isDoji() and (low <= support * (1 + reversal_tolerance))

hammerAtResistance = isHammer() and (high >= resistance * (1 - reversal_tolerance))
engulfingAtResistance = isEngulfing() and (high >= resistance * (1 - reversal_tolerance))
dojiAtResistance = isDoji() and (high >= resistance * (1 - reversal_tolerance))

// Trading logic
if (hammerAtSupport or engulfingAtSupport or dojiAtSupport)
    strategy.entry("Long", strategy.long)
    stop_level = low * (1 - stop_loss_percent)
    take_profit_level = close * (1 + take_profit_percent)
    strategy.exit("Take Profit/Stop Loss", from_entry="Long", stop=stop_level, limit=take_profit_level)

if (hammerAtResistance or engulfingAtResistance or dojiAtResistance)
    strategy.entry("Short", strategy.short)
    stop_level = high * (1 + stop_loss_percent)
    take_profit_level = close * (1 - take_profit_percent)
    strategy.exit("Take Profit/Stop Loss", from_entry="Short", stop=stop_level, limit=take_profit_level)

// Plot support and resistance levels for visualization
plot(support, color=color.green, linewidth=1, title="Support Level")
plot(resistance, color=color.red, linewidth=1, title="Resistance Level")

// Plot reversal patterns on the chart for visualization
plotshape(series=hammerAtSupport, location=location.belowbar, color=color.green, style=shape.labelup, text="Hammer at Support")
plotshape(series=engulfingAtSupport, location=location.belowbar, color=color.green, style=shape.labelup, text="Engulfing at Support")
plotshape(series=dojiAtSupport, location=location.belowbar, color=color.green, style=shape.labelup, text="Doji at Support")

plotshape(series=hammerAtResistance, location=location.abovebar, color=color.red, style=shape.labeldown, text="Hammer at Resistance")
plotshape(series=engulfingAtResistance, location=location.abovebar, color=color.red, style=shape.labeldown, text="Engulfing at Resistance")
plotshape(series=dojiAtResistance, location=location.abovebar, color=color.red, style=shape.labeldown, text="Doji at Resistance")


अधिक