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