
এই কৌশলটি EMA23 এবং EMA50 এর ক্রস সিগন্যালের উপর ভিত্তি করে ট্রেড করে। EMA23 এ EMA50 অতিক্রম করার সময় একটি কেনার সংকেত উত্পন্ন করে এবং এটি অতিক্রম করার সময় একটি বিক্রয় সংকেত উত্পন্ন করে। এই কৌশলটি যখন EMA50 এর নীচে নেমে যায় তখন এটি একটি ওভারহেড অবস্থান বন্ধ করে দেয় এবং বিপরীতে খালি অবস্থানের জন্য এটি বন্ধ করে দেয়। উপরন্তু, এই কৌশলটি EMA50 এ ফিরে আসার সময় পুনরায় প্রবেশ করে। এই কৌশলটি 30 মিনিটের সময় ফ্রেমে কাজ করে।
এই কৌশলটি একটি পরিমাণগত ট্রেডিং কৌশল যা দ্বি-সমান্তরিত ক্রস-ভিত্তিক, EMA23 এবং EMA50 এর ক্রস-সিগন্যালের মাধ্যমে প্রবণতা ক্যাপচার করে এবং ঝুঁকি নিয়ন্ত্রণ এবং লাভের সম্ভাবনা বাড়ানোর জন্য স্টপ-অফ এবং পুনরায় প্রবেশের ব্যবস্থা স্থাপন করে। এই কৌশলটি সহজেই বোঝা যায় এবং 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)