
यह रणनीति ईएमए 23 और ईएमए 50 के क्रॉस सिग्नल के आधार पर व्यापार करती है। ईएमए 23 पर ईएमए 50 को पार करने पर एक खरीद संकेत उत्पन्न होता है, और नीचे जाने पर एक बेचने का संकेत उत्पन्न होता है। यह रणनीति भी बंद हो जाती है जब कीमत ईएमए 50 से नीचे गिरती है, और इसके विपरीत, यह खाली स्थिति पर बंद हो जाती है। इसके अलावा, यह रणनीति फिर से प्रवेश करती है जब कीमत ईएमए 50 पर वापस आती है। यह रणनीति 30 मिनट की समय सीमा के लिए लागू होती है।
यह रणनीति एक द्वि-समान रेखा के पार आधारित एक मात्रात्मक ट्रेडिंग रणनीति है, जो ईएमए 23 और ईएमए 50 के पार सिग्नल के माध्यम से रुझान को पकड़ने के लिए है, और जोखिम को नियंत्रित करने और लाभप्रदता को बढ़ाने के लिए एक स्टॉप-लॉस और री-एंट्री तंत्र स्थापित किया गया है। यह रणनीति सरल और समझने में आसान है, जो 30 मिनट आदि के लिए उपयुक्त है। हालांकि, इस रणनीति में कुछ सीमाएं भी हैं, जैसे कि प्रवृत्ति का आकलन करने के बाद देरी, कम स्टॉप-लॉस अनुकूलन, अस्थिर बाजार प्रदर्शन और भविष्य। अधिक तकनीकी संकेतकों को पेश करने, स्टॉप-लॉस स्थिति को अनुकूलित करने, ट्रेडिंग आवृत्ति को नियंत्रित करने, प्रवृत्ति और अस्थिरता को अलग करने, गतिशील लाभ को समाप्त करने और अधिक स्थिर रिटर्न प्राप्त करने के लिए रणनीति को अनुकूलित किया जा सकता है।
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy", overlay=true)
// EMA 23 ve EMA 50'nin hesaplanması
ema23 = ta.ema(close, 23)
ema50 = ta.ema(close, 50)
// Ana alım kuralı: EMA 23 ve EMA 50'nin yukarı kesilmesi
buySignal = ta.crossover(ema23, ema50)
// Ana satış kuralı: EMA 23 ve EMA 50'nin aşağı kesilmesi
sellSignal = ta.crossunder(ema23, ema50)
// Long pozisyon stop seviyesi
longStopLoss = low < ema50 and close < ema50[1]
// Short pozisyon stop seviyesi
shortStopLoss = high > ema50 and close > ema50[1]
// Long pozisyon için tekrar giriş kuralı
longReEntry = high > ema50 and close > ema50 and close > ema50 and ema23 > ema50
// Short pozisyon için tekrar giriş kuralı
shortReEntry = low < ema50 and close < ema50 and close < ema50 and ema23 < ema50
// Long işlemde kar alma seviyesi (%60)
longTakeProfit = strategy.position_avg_price * 1.60
// Short işlemde kar alma seviyesi (%25)
shortTakeProfit = strategy.position_avg_price * 0.75
// Long işlem için yeniden giriş koşulu
longReEntryCondition = strategy.position_size <= 0 and longReEntry
// Short işlem için yeniden giriş koşulu
shortReEntryCondition = strategy.position_size >= 0 and shortReEntry
// Geriye dönük test için başlangıç tarihi (01.01.2022)
startDate = timestamp(2022, 01, 01, 00, 00)
if (time >= startDate)
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
if (strategy.position_size > 0 and (longStopLoss or close >= longTakeProfit))
strategy.close("Buy")
if (strategy.position_size < 0 and (shortStopLoss or close <= shortTakeProfit))
strategy.close("Sell")
if (longReEntryCondition)
strategy.entry("Buy", strategy.long)
if (shortReEntryCondition)
strategy.entry("Sell", strategy.short)