यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए 5-दिवसीय घातीय चलती औसत (ईएमए 5) और 13-दिवसीय घातीय चलती औसत (ईएमए 13) के क्रॉसओवर का उपयोग करती है। जब ईएमए 5 ईएमए 13 के ऊपर पार करता है, तो यह एक लंबा संकेत उत्पन्न करता है; जब ईएमए 5 ईएमए 13 के नीचे पार करता है, तो यह एक छोटा संकेत उत्पन्न करता है। रणनीति का उद्देश्य अल्पकालिक प्रवृत्ति परिवर्तन को पकड़ना है और प्रवेश और निकास बिंदुओं को निर्धारित करने के लिए दो चलती औसत के क्रॉसओवर का उपयोग करता है।
इस रणनीति का मूल व्यापार संकेत उत्पन्न करने के लिए विभिन्न अवधियों के साथ दो घातीय चलती औसत (ईएमए) के क्रॉसओवर का उपयोग करना है। ईएमए एक आम तौर पर उपयोग किया जाने वाला तकनीकी संकेतक है जो हाल के मूल्य डेटा को उच्च भार देता है, जिससे यह सरल चलती औसत (एसएमए) की तुलना में मूल्य परिवर्तनों के प्रति अधिक संवेदनशील हो जाता है। जब अल्पकालिक ईएमए (जैसे, ईएमए 5) दीर्घकालिक ईएमए (जैसे, ईएमए 13) के ऊपर पार करता है, तो यह एक लंबा संकेत उत्पन्न करते हुए मूल्य गति में वृद्धि का संकेत देता है; इसके विपरीत, जब अल्पकालिक ईएमए दीर्घकालिक ईएमए से नीचे पार करता है, तो यह एक छोटा संकेत उत्पन्न करते हुए मूल्य गति में वृद्धि का संकेत देता है।
/*backtest start: 2023-05-11 00:00:00 end: 2024-05-16 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Milankacha //@version=5 strategy('5-13 EMA by Naimesh ver04', overlay=true) qty = input(1, 'Buy quantity') testStartYear = input(2021, 'Backtest Start Year') testStartMonth = input(1, 'Backtest Start Month') testStartDay = input(1, 'Backtest Start Day') testStartHour = input(0, 'Backtest Start Hour') testStartMin = input(0, 'Backtest Start Minute') testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin) testStopYear = input(2099, 'Backtest Stop Year') testStopMonth = input(1, 'Backtest Stop Month') testStopDay = input(30, 'Backtest Stop Day') testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriodBackground = input(title='Color Background?', defval=true) testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #00FF00 : na testPeriod() => true ema1 = input(5, title='Select EMA 1') ema2 = input(13, title='Select EMA 2') //ema3 = input(50, title='Select EMA 3') //SL = input(70, title='Stoploss') //TR = input(250, title='Target') expo = ta.ema(close, ema1) ma = ta.ema(close, ema2) //EMA_50 = ta.ema(close, ema3) //avg_1 = avg (expo, ma) //s2 = ta.cross(expo, ma) ? avg_1 : na //plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0) p1 = plot(expo, color=color.rgb(231, 15, 15), linewidth=2) p2 = plot(ma, color=#0db63a, linewidth=2) fill(p1, p2, color=color.new(color.white, 80)) longCondition = ta.crossover(expo, ma) shortCondition = ta.crossunder(expo, ma) if testPeriod() //strategy.entry('Long', strategy.long, when=longCondition) strategy.entry('Short', strategy.short, when=expo<ma) //strategy.close("Long", expo<ma, comment= 'SL hit') strategy.close("Short", expo>ma, comment= 'SL hit') //plotshape(longCondition and close>EMA_50, title='Buy Signal', text='B', textcolor=color.new(#FFFFFF, 0), style=shape.labelup, size=size.normal, location=location.belowbar, color=color.new(#1B8112, 0)) //plotshape(shortCondition and close<EMA_50, title='Sell Signal', text='S', textcolor=color.new(#FFFFFF, 0), style=shape.labeldown, size=size.normal, location=location.abovebar, color=color.new(#FF5733, 0))