
यह रणनीति एक द्वि-समान और यादृच्छिक संकेतक (स्टोचैस्टिक) पर आधारित प्रवृत्ति ट्रैकिंग ट्रेडिंग प्रणाली है। यह बाजार की प्रवृत्ति को समझने के लिए एक समान-रेखा प्रणाली को जोड़ती है, जबकि ओवरबॉट ओवरसोल्ड क्षेत्र के क्रॉस सिग्नल को पकड़ने के लिए यादृच्छिक संकेतक का उपयोग करती है, और जोखिम को नियंत्रित करने के लिए एक गतिशील स्टॉप-लॉस-टॉप स्तर निर्धारित करती है। यह विधि ट्रेडिंग सिग्नल की विश्वसनीयता की गारंटी देती है और प्रति व्यापार जोखिम-लाभ अनुपात को प्रभावी ढंग से प्रबंधित करती है।
इस रणनीति में मुख्य रूप से निम्नलिखित प्रमुख तत्वों पर निर्भरता है:
खरीद की शर्तें एक ही समय में पूरी होनी चाहिए:
यह एक और गलतफहमी है।
यह एक पूर्ण रणनीति प्रणाली है जिसमें ट्रेंड ट्रैकिंग और गतिशील ट्रेडिंग शामिल है। एक समान रेखा प्रणाली और यादृच्छिक संकेतकों के संयोजन के माध्यम से, यह सुनिश्चित करता है कि व्यापार की दिशा मुख्य प्रवृत्ति के अनुरूप है और उचित मूल्य क्षेत्र में व्यापार कर सकती है। साथ ही, रणनीति में एक पूर्ण जोखिम प्रबंधन तंत्र शामिल है, जो गतिशील रोकथाम और स्थिर जोखिम-लाभ अनुपात का उपयोग करके जोखिम को नियंत्रित करता है। हालांकि कुछ अंतर्निहित सीमाएं हैं, लेकिन अनुशंसित दिशाओं के अनुकूलन के माध्यम से, रणनीति का समग्र प्रदर्शन और भी बेहतर हो सकता है। व्यावहारिक अनुप्रयोगों में, व्यापारियों को विशिष्ट बाजार विशेषताओं और अपनी जोखिम वरीयताओं के आधार पर पैरामीटर को ठीक से समायोजित करने की सलाह दी जाती है।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
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/
// © quadawosanya
//@version=5
//indicator("My script")
//@version=5
strategy("EMA-Stochastic Strategy", overlay=true)
// EMA settings
ema50 = ta.ema(close, 50)
ema150 = ta.ema(close, 150)
// Stochastic settings
kLength = 14
dLength = 3
smoothK = 3
stochK = ta.sma(ta.stoch(close, high, low, kLength), smoothK)
stochD = ta.sma(stochK, dLength)
// Parameters for Stop Loss and Take Profit
var float stopLossLevel = na
var float takeProfitLevel = na
// Buy condition
buySignal = (close > ema50 and close > ema150) and (ema50 > ema150) and (stochK < 30 and ta.crossover(stochK, stochD))
// Sell condition
sellSignal = (close < ema50 and close < ema150) and (ema50 < ema150) and (stochK > 70 and ta.crossunder(stochK, stochD))
// Previous low for Stop Loss for Buy
lowBeforeBuy = ta.lowest(low, 5)
// Previous high for Stop Loss for Sell
highBeforeSell = ta.highest(high, 5)
// Entry and exit logic
if (buySignal)
stopLossLevel := lowBeforeBuy
risk = close - stopLossLevel
takeProfitLevel := close + 2 * risk
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Buy", stop=stopLossLevel, limit=takeProfitLevel)
if (sellSignal)
stopLossLevel := highBeforeSell
risk = stopLossLevel - close
takeProfitLevel := close - 2 * risk
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", "Sell", stop=stopLossLevel, limit=takeProfitLevel)
// Plotting EMAs
plot(ema50, color=color.blue, title="50 EMA")
plot(ema150, color=color.red, title="150 EMA")
// Visualize Buy and Sell signals
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Visualize Stop Loss and Take Profit levels
plot(stopLossLevel, color=color.red, style=plot.style_line, linewidth=2, title="Stop Loss")
plot(takeProfitLevel, color=color.green, style=plot.style_line, linewidth=2, title="Take Profit")
plot(close)