
रणनीति एक प्रवृत्ति ट्रैकिंग ट्रेडिंग प्रणाली है जिसमें कई तकनीकी संकेतकों को शामिल किया गया है। यह कई आयामों के बाजार संकेतों जैसे कि चलती औसत (ईएमए), अस्थिरता ट्रैकिंग (एटीआर), ट्रेड वॉल्यूम प्रवृत्ति (पीवीटी) और गतिशील ऑसिलेटर (निन्जा) को जोड़ती है, जिससे ट्रेडिंग की सटीकता में सुधार होता है। रणनीति गतिशील स्टॉप-लॉस तंत्र का उपयोग करती है, जो प्रवृत्ति को ट्रैक करने के साथ-साथ जोखिम पर सख्त नियंत्रण रखती है।
इस रणनीति का मुख्य तर्क चार मुख्य स्तंभों पर आधारित हैः
ट्रेडिंग सिग्नल के निर्माण के लिए निम्नलिखित शर्तों को पूरा करना आवश्यक हैः
इस रणनीति के माध्यम से बहु-सूचक समन्वय और गतिशील स्टॉप-लॉस तंत्र के माध्यम से एक अपेक्षाकृत पूर्ण व्यापार प्रणाली का निर्माण किया गया है। इस रणनीति का मुख्य लाभ इसकी बहु-आयामी सिग्नल पुष्टिकरण तंत्र और सख्त जोखिम नियंत्रण में है। हालांकि कुछ पिछड़ेपन और झूठे सिग्नल का जोखिम है, लेकिन निरंतर अनुकूलन और सुधार के माध्यम से, इस रणनीति को विभिन्न बाजार स्थितियों में स्थिर प्रदर्शन बनाए रखने की उम्मीद है। व्यापारियों को सलाह दी जाती है कि वे वास्तविक समय में उपयोग करने से पहले पर्याप्त प्रतिक्रिया और पैरामीटर अनुकूलन करें।
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Triple Indicator Strategy", shorttitle="TIS", overlay=true)
// --- Inputs ---
var string calcGroup = "Calculation Parameters"
atrLength = input.int(22, title="ATR Period", group=calcGroup)
atrMult = input.float(3.0, title="ATR Multiplier", step=0.1, group=calcGroup)
emaLength = input.int(200, title="EMA Length", group=calcGroup)
// --- ATR and EMA Calculations ---
atr = atrMult * ta.atr(atrLength)
ema200 = ta.ema(close, emaLength)
// --- Chandelier Exit Logic ---
longStop = ta.highest(high, atrLength) - atr
shortStop = ta.lowest(low, atrLength) + atr
var int dir = 1
dir := close > shortStop ? 1 : close < longStop ? -1 : dir
buySignal = dir == 1 and dir[1] == -1
sellSignal = dir == -1 and dir[1] == 1
// --- Price Volume Trend (PVT) ---
pvt = ta.cum((close - close[1]) / close[1] * volume)
pvtSignal = ta.ema(pvt, 21)
pvtBuy = ta.crossover(pvt, pvtSignal)
pvtSell = ta.crossunder(pvt, pvtSignal)
// --- Ninja Indicator ---
ninjaOsc = (ta.ema(close, 3) - ta.ema(close, 13)) / ta.ema(close, 13) * 100
ninjaSignal = ta.ema(ninjaOsc, 24)
ninjaBuy = ta.crossover(ninjaOsc, ninjaSignal)
ninjaSell = ta.crossunder(ninjaOsc, ninjaSignal)
// --- Strategy Conditions ---
longCondition = buySignal and close > ema200 and (pvtBuy or ninjaBuy)
shortCondition = sellSignal and close < ema200 and (pvtSell or ninjaSell)
if longCondition
strategy.entry("Buy", strategy.long)
strategy.exit("Exit Long", "Buy", stop=low - atr)
if shortCondition
strategy.entry("Sell", strategy.short)
strategy.exit("Exit Short", "Sell", stop=high + atr)
// --- Plotting ---
plot(ema200, title="EMA 200", color=color.blue, linewidth=2)
plotshape(buySignal, title="Chandelier Buy", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Chandelier Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// --- Labels for Buy/Sell with price ---
if buySignal
label.new(bar_index, low, "Buy: " + str.tostring(close), color=color.green, style=label.style_label_up, yloc=yloc.belowbar, size=size.small)
if sellSignal
label.new(bar_index, high, "Sell: " + str.tostring(close), color=color.red, style=label.style_label_down, yloc=yloc.abovebar, size=size.small)
// --- Alerts ---
alertcondition(longCondition, title="Buy Alert", message="Buy Signal Triggered!")
alertcondition(shortCondition, title="Sell Alert", message="Sell Signal Triggered!")