
यह रणनीति दो अलग-अलग पैरामीटर सेट के साथ एक गतिशील समतल चलती औसत (एएलएमए) और एक सूचकांक चलती औसत (ईएमए) के एक क्रॉस का उपयोग करके एक व्यापार संकेत उत्पन्न करती है। साथ ही, यह रणनीति एक यादृच्छिक सूचकांक समतल चलती औसत (स्टोकास्टिक आरएसआई) के साथ संयुक्त है ताकि अत्यधिक खरीद और बिक्री से बचा जा सके।
रणनीति ALMA का उपयोग करती है क्योंकि यह मुख्य मूल्य प्रवृत्ति का आकलन करने वाला सूचक है। ALMA में मूल्य डेटा को चिकना करने की क्षमता है, जो कीमतों के यादृच्छिक उतार-चढ़ाव को फ़िल्टर कर सकता है। ALMA के चक्र, पलायन और सिग्मा पैरामीटर को समायोजित करके इसे अधिक संवेदनशील या स्थिर बनाया जा सकता है। जब कीमतें बढ़ती हैं, तो ALMA हरे रंग में दिखाई देती है और जब कीमतें गिरती हैं तो लाल रंग में दिखाई देती हैं।
रणनीति दो अलग-अलग लंबाई ईएमए लाइनों का उपयोग करती है। जब तेजी से ईएमए लाइन ऊपर की ओर धीमी ईएमए लाइन को पार करती है, तो एक खरीद संकेत उत्पन्न होता है; जब तेजी से ईएमए लाइन नीचे की ओर धीमी ईएमए को पार करती है, तो एक बेचने का संकेत उत्पन्न होता है। ईएमए क्रॉसिंग में बेहतर प्रवृत्ति निर्णय क्षमता होती है। तेजी से ईएमए की अवधि को विभिन्न प्रकार के व्यापार और अवधि के लिए पैरामीटर के माध्यम से समायोजित किया जा सकता है।
स्टोकेस्टिक आरएसआई का काम ओवरबॉय ओवरसोल क्षेत्र में ट्रेडिंग सिग्नल जारी करने से बचने के लिए है। यह आरएसआई और स्टोकेस्टिक दोनों संकेतकों के लाभों को जोड़ता है, जिससे चरम और निचले क्षेत्र का बेहतर आकलन किया जा सकता है। जब स्टोकेस्टिक आरएसआई ओवरबॉय या ओवरसोल होता है, तो यह रणनीति मूल ओवरहेड या खाली ऑर्डर को रद्द कर देती है।
रणनीति ईएमए क्रॉसिंग का लाभ उठाने के लिए मूल्य प्रवृत्ति की दिशा का निर्धारण करती है, जो प्रमुख ओवरहेड और ओवरहेड अवसरों को पहचानने के लिए ALMA सूचकांक के साथ काम करती है।
ईएमए चक्र, एएलएमए पैरामीटर आदि समायोज्य स्थान प्रदान करते हैं, उपयोगकर्ता अपनी आवश्यकताओं के अनुसार पैरामीटर को अनुकूलित कर सकते हैं, ताकि रणनीति विभिन्न बाजार स्थितियों के लिए अधिक अनुकूल हो सके।
रणनीति में स्टॉप लॉस स्टॉप सेटिंग्स शामिल हैं। फ्लोटिंग स्टॉप लॉस का उपयोग करने से स्टॉप लॉस के पीछा करने की संभावना कम हो जाती है; लाभप्रदता प्राप्त करने की सेटिंग्स लाभ को लॉक करने और लाभ को न निकालने से बचने की अनुमति देती हैं।
जटिल परिस्थितियों में, ईएमए और एएलएमए लाइनों में गलत संकेत हो सकते हैं। इस स्थिति में, नुकसान को नियंत्रित करने के लिए स्टॉपलॉस पर भरोसा करना होगा।
यदि पैरामीटर को गलत तरीके से सेट किया जाता है, तो ईएमए और एएलएमए लाइनें ठीक से काम नहीं कर सकती हैं, जिससे ट्रेडिंग जोखिम बढ़ जाता है। सर्वोत्तम पैरामीटर संयोजन चुनने के लिए परीक्षण और अनुकूलन की आवश्यकता होती है।
EMA और ALMA के पैरामीटर सेटिंग्स को अनुकूलित करने के लिए परीक्षण करें और इष्टतम पैरामीटर चुनें।
अन्य संकेतकों के साथ संयोजन में फ़िल्टर सिग्नल, गलत सिग्नल से बचने के लिए नुकसान। जैसे कि MACD, KDJ आदि।
स्टॉप-लॉस को अनुकूलित करें और जोखिम और लाभ के बीच संतुलन बनाए रखें।
विभिन्न किस्मों और चक्रों के लिए परीक्षण करें ताकि रणनीति अधिक बाजारों के लिए लागू हो सके।
यह रणनीति एक सरल और व्यावहारिक ट्रेंड ट्रैकिंग रणनीति है। यह ईएमए का उपयोग करके ट्रेंड की दिशा निर्धारित करता है, एएलएमए इंडिकेटर पोजिशनिंग पोजीशन को बढ़ाता है, स्टोचैस्टिक आरएसआई ओवरबॉट के जोखिम से बचने के लिए है, जबकि जोखिम को नियंत्रित करने के लिए स्टॉप और स्टॉप को सेट करता है। पैरामीटर समायोजन और इंडिकेटर अनुकूलन के माध्यम से, यह रणनीति बेहतर प्रभाव प्राप्त कर सकती है। यह समझने और उपयोग करने में आसान है, और इसमें कुछ अनुकूलन क्षमता भी है।
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////Arranged by @ClassicScott
//Strategy Created by @CheatCode1
strategy('ALMA/EMA Strategy', shorttitle='ALMA/EMA Strategy', overlay=true )
////Source Selection & ALMA Variables
//Dominant Momentum ALMA
dsource = input.source(close, title='Source', group='Dominant ALMA')
dperiod = input.int(title='Period', defval=130, group='Dominant ALMA')
doffset = input.float(title='Offset', step=0.025, defval=0.775, group='Dominant ALMA')
dsigma = input.float(title='Sigma', step=0.5, defval=4.5, group='Dominant ALMA')
dalma = ta.alma(dsource, dperiod, doffset, dsigma)
dalma_up_color = input.color(#66bb6a, 'Going Up!', group='Dominant ALMA', inline = '1')
dalma_down_color = input.color(#ef5350, 'Going Down :(', group='Dominant ALMA', inline = '1')
dcolor = close[1] > dalma ? dalma_up_color : dalma_down_color
////ALMA Plots
plot(dalma, color=dcolor, style=plot.style_stepline, linewidth=2, title='Dominant Momentum MA')
//Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1
//Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1
cheatcode = input.bool(true, '-----------CHEATC0DE1------------', group = 'Strategy Inputs', confirm = true)
//Variable Declerations/Plot Assingments
inp1 = input.int(49, 'Slow Ema Length', 1, 100, group = 'Strategy Inputs', confirm = true)
inp2 = input.int(9, 'Fast Ema Length', 1, 200, group = 'Strategy Inputs', confirm = true)
inp3 = int(200)
sma1 = ta.sma(close, inp3)
ema1 = ta.ema(close, inp1)
ema2 = ta.ema(close, inp2)
eplot1 = plot(ema1, 'Slow Ema', color.aqua, 1, plot.style_linebr)
eplot2 = plot(ema2, 'Fast Ema', color.yellow, 1, plot.style_linebr)
splot1 = plot(sma1, 'Long MA', close[1] < sma1 ? color.red:color.green, 1, plot.style_line, display = display.none)
cross1 = ta.crossover(ema1, ema2)
cross2 = ta.crossunder(ema1, ema2)
plotchar(cross1, '', '↑', location.belowbar, close[1] > dalma and dalma > sma1 ? na:color.green, size = size.normal, editable = false)
plotchar(cross2, '', '↓', location.abovebar, close[1] < dalma and dalma < sma1 ? na:color.red, size = size.normal, editable = false)
bgcolor(cross1 and close[1] > dalma ? color.new(color.green, 80):cross2 and close[1] < dalma ? color.new(color.red, 80):na)
valueL = ta.valuewhen(cross1 and close[1] > dalma, close, 0)
valueS = ta.valuewhen(cross2 and close[1] < dalma, close, 0)
//Entries
if cross1 and close[2] > dalma[2] and close[1] > dalma[1]
strategy.entry('Long', strategy.long)
if cross2 and close[2] < dalma[2] and close[1] < dalma[1]
strategy.entry('Short', strategy.short)
//StochRsi
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(15, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(8, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
//Cancellations
if k > 75
strategy.cancel('Long')
if k < 25
strategy.cancel('Short')
//Closures
if ta.crossunder(k, d) and k > 92
strategy.close('Long')
if ta.crossover(k,d) and k < 8
strategy.close('Short')
//Exit Percents
takeP = input.float(3, title='Take Profit', group = 'Take Profit and Stop Loss') / 100
stopL = input.float(5.49, title = 'Stop Loss', group = 'Take Profit and Stop Loss')/100
// Pre Directionality
Stop_L = strategy.position_avg_price * (1 - stopL)
Stop_S = strategy.position_avg_price * (1 + stopL)
Take_S= strategy.position_avg_price * (1 - takeP)
Take_L = strategy.position_avg_price * (1 + takeP)
//Post Excecution
if strategy.position_size > 0
strategy.exit("Flat", limit=Take_L, stop = Stop_L)
if strategy.position_size < 0
strategy.exit("Flat", limit=Take_S, stop = Stop_S)