
यह रणनीति एक पूर्ण ट्रेडिंग सिस्टम बनाने के लिए झूमर के बाहर निकलने के नियम, शून्य-अंतराल चलती औसत, और सापेक्ष लेनदेन की मात्रा के साथ आरवीओएल पल्स का पता लगाती है। झूमर के बाहर निकलने के नियम को वास्तविक उतार-चढ़ाव की चौड़ाई के माध्यम से गतिशील रूप से स्टॉप-लॉस स्थिति को समायोजित करने की अनुमति देता है, जिससे बाजार में बदलाव के लिए बेहतर अनुकूलन किया जा सकता है। ZLSMA मूल्य रुझानों को सटीक रूप से पकड़ने में सक्षम है, व्यापार के लिए दिशा प्रदान करता है। आरवीओएल पल्स का पता लगाने से रणनीति को कम उतार-चढ़ाव वाले बाजार से बचने में मदद मिलती है, जिससे व्यापार की गुणवत्ता में सुधार होता है।
ZLSMA-संवर्धित फ्लैशलाइट बाहर निकलने की रणनीति और लेन-देन की गति का पता लगाना एक प्रवृत्ति ट्रैकिंग रणनीति है, जो गतिशील स्टॉप-लॉस, प्रवृत्ति निर्णय और लेन-देन की गति का पता लगाने के माध्यम से ट्रेडिंग जोखिम को नियंत्रित करती है, जबकि प्रवृत्ति के अवसरों को पकड़ती है। रणनीति तर्क स्पष्ट है, इसे समझना और लागू करना आसान है, लेकिन वास्तविक अनुप्रयोगों में विशिष्ट बाजार विशेषताओं और व्यापार की किस्मों के साथ संयोजन में अनुकूलन और सुधार की आवश्यकता है। अधिक सिग्नल पुष्टिकरण संकेतकों को पेश करके, बाहर निकलने की स्थिति को अनुकूलित करके, पैरामीटर को तर्कसंगत रूप से सेट करके और सख्त स्थिति प्रबंधन और जोखिम नियंत्रण के साथ, यह रणनीति एक मजबूत और कुशल व्यापारिक उपकरण बनने की उम्मीद है।
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Chandelier Exit Strategy with ZLSMA and Volume Spike Detection", shorttitle="CES with ZLSMA and Volume", overlay=true, process_orders_on_close=true, calc_on_every_tick=false)
// Chandelier Exit Inputs
lengthAtr = input.int(title='ATR Period', defval=1)
mult = input.float(title='ATR Multiplier', step=0.1, defval=2.0)
useClose = input.bool(title='Use Close Price for Extremums', defval=true)
// Calculate ATR
atr = mult * ta.atr(lengthAtr)
// Calculate Long and Short Stops
longStop = (useClose ? ta.highest(close, lengthAtr) : ta.highest(high, lengthAtr)) - atr
shortStop = (useClose ? ta.lowest(close, lengthAtr) : ta.lowest(low, lengthAtr)) + atr
// Update stops based on previous values
longStop := na(longStop[1]) ? longStop : close[1] > longStop[1] ? math.max(longStop, longStop[1]) : longStop
shortStop := na(shortStop[1]) ? shortStop : close[1] < shortStop[1] ? math.min(shortStop, shortStop[1]) : shortStop
// Determine Direction
var int dir = na
dir := na(dir[1]) ? (close > shortStop ? 1 : close < longStop ? -1 : na) : close > shortStop[1] ? 1 : close < longStop[1] ? -1 : dir[1]
// ZLSMA Inputs
lengthZLSMA = input.int(title="ZLSMA Length", defval=50)
offsetZLSMA = input.int(title="ZLSMA Offset", defval=0)
srcZLSMA = input.source(close, title="ZLSMA Source")
// ZLSMA Calculation
lsma = ta.linreg(srcZLSMA, lengthZLSMA, offsetZLSMA)
lsma2 = ta.linreg(lsma, lengthZLSMA, offsetZLSMA)
eq = lsma - lsma2
zlsma = lsma + eq
// Plot ZLSMA
plot(zlsma, title="ZLSMA", color=color.purple, linewidth=3)
// Swing High/Low Calculation
swingHigh = ta.highest(high, 5)
swingLow = ta.lowest(low, 5)
// Relative Volume (RVOL) Calculation
rvolLength = input.int(20, title="RVOL Length")
rvolThreshold = input.float(1.5, title="RVOL Threshold")
avgVolume = ta.sma(volume, rvolLength)
rvol = volume / avgVolume
// Define buy and sell signals based on ZLSMA and Volume Spike
buySignal = (dir == 1 and dir[1] == -1 and close > zlsma and rvol > rvolThreshold)
sellSignal = (dir == -1 and dir[1] == 1 and close < zlsma and rvol > rvolThreshold)
// Define exit conditions based on ZLSMA
exitLongSignal = (close < zlsma)
exitShortSignal = (close > zlsma)
// Strategy Entries and Exits
if (buySignal)
strategy.entry("Long", strategy.long, stop=swingLow)
if (sellSignal)
strategy.entry("Short", strategy.short, stop=swingHigh)
if (exitLongSignal)
strategy.close("Long")
if (exitShortSignal)
strategy.close("Short")
// Alerts
alertcondition(buySignal, title='Alert: CE Buy', message='Chandelier Exit Buy!')
alertcondition(sellSignal, title='Alert: CE Sell', message='Chandelier Exit Sell!')