चैंडिलियर निकास रणनीति

लेखक:चाओझांग, दिनांक: 2024-01-05 15:57:51
टैगः

img

अवलोकन

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

रणनीति तर्क

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

यह रणनीति केवल खरीद संचालन करती है। यह एक लंबी प्रविष्टि को ट्रिगर करती है जब कीमत पिछली लंबी स्टॉप लाइन से ऊपर टूट जाती है, और एक निकास संकेत बनाती है जब कीमत छोटी स्टॉप लाइन से नीचे गिर जाती है, लंबी स्थिति को बंद करती है।

लाभ विश्लेषण

  • जोखिमों को प्रभावी ढंग से नियंत्रित करने के लिए चैंडलियर एक्जिट से गतिशील स्टॉप लॉस लाइनों का उपयोग करता है
  • ट्रेंडिंग चाल को पकड़ने के लिए मूल्य ब्रेकआउट का संयोजन करता है
  • एक रणनीति लागू करता है जो केवल खरीदकर ऊपर/नीचे की ओर पलटाव से बचता है
  • चेतावनी की स्थिति रणनीति की स्थिति की निगरानी के लिए सूचनाओं को ट्रिगर करती है

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

  • चैंडिलर एक्जिट अस्थिरता के विस्तार के प्रति संवेदनशील है जिससे झूठे संकेत हो सकते हैं
  • सीमा हानि के लिए खरीदने के बाद कोई स्टॉप लॉस नहीं
  • लाभ में ताला लगाने के लिए कोई लाभ लेने की व्यवस्था नहीं

जोखिम को कम करना:

  1. झूठे संकेतों से बचने के लिए अन्य संकेतकों के साथ फ़िल्टर जोड़ें
  2. अधिकतम हानि को सीमित करने के लिए स्टॉप लॉस लागू करें %
  3. विक्रय रेखा या आंशिक निकास के गतिशील समायोजन जैसे पीछे की लाभ स्टॉप को शामिल करें

बढ़ोतरी के अवसर

  1. प्रविष्टियों और बाहर निकलने का अनुकूलन करने के लिए विभिन्न पैरामीटर सेट का परीक्षण करें
  2. संकेतों की पुष्टि करने और झूठे संकेतों से बचने के लिए संकेतक फ़िल्टर जोड़ें
  3. खरीद और बिक्री दोनों के संचालन की अनुमति देने पर विचार करें
  4. स्टॉप लॉस और लाभ लेने के तंत्र को लागू करें

निष्कर्ष

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


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Chandelier Exit Strategy", overlay=true)

length = input(title='ATR Period', defval=22)
mult = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
showLabels = input(title='Show Buy/Sell Labels ?', defval=true)
useClose = input(title='Use Close Price for Extremums ?', defval=true)
highlightState = input(title='Highlight State ?', defval=true)

atr = mult * ta.atr(length)

longStop = (useClose ? ta.highest(close, length) : ta.highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? math.max(longStop, longStopPrev) : longStop

shortStop = (useClose ? ta.lowest(close, length) : ta.lowest(length)) + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop

var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir

var color longColor = color.green
var color shortColor = color.red

longStopPlot = plot(dir == 1 ? longStop : na, title='Long Stop', style=plot.style_linebr, linewidth=2, color=color.new(longColor, 0))
buySignal = dir == 1 and dir[1] == -1
plotshape(buySignal ? longStop : na, title='Long Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(longColor, 0))
plotshape(buySignal and showLabels ? longStop : na, title='Buy Label', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(longColor, 0), textcolor=color.new(color.white, 0))

shortStopPlot = plot(dir == 1 ? na : shortStop, title='Short Stop', style=plot.style_linebr, linewidth=2, color=color.new(shortColor, 0))
sellSignal = dir == -1 and dir[1] == 1
plotshape(sellSignal ? shortStop : na, title='Short Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(shortColor, 0))
plotshape(sellSignal and showLabels ? shortStop : na, title='Sell Label', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(shortColor, 0), textcolor=color.new(color.white, 0))

changeCond = dir != dir[1]
alertcondition(changeCond, title='Alert: CE Direction Change', message='Chandelier Exit has changed direction!')
alertcondition(buySignal, title='Alert: CE Buy', message='Chandelier Exit Buy!')
alertcondition(sellSignal, title='Alert: CE Sell', message='Chandelier Exit Sell!')

// Define initial capital
initial_capital =25

// Trigger buy order and close buy order on sell signal
if buySignal
    strategy.entry("Buy", strategy.long, qty = initial_capital / close)

if sellSignal
    strategy.close("Buy")


अधिक