
এই কৌশলটি একটি পরিমাণগত ট্রেডিং সিস্টেম যা একটি ডাবল এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA) এবং একটি স্টোকাস্টিক অসিলেটরকে একত্রিত করে। 20-পিরিয়ড এবং 50-পিরিয়ড EMA-এর মাধ্যমে বাজারের প্রবণতা নির্ধারণ করুন এবং প্রবণতা এবং গতির নিখুঁত সমন্বয় অর্জনের জন্য অতিরিক্ত কেনা এবং বেশি বিক্রি হওয়া এলাকায় ট্রেডিং সুযোগ খুঁজে পেতে স্টকাস্টিক অসিলেটর ব্যবহার করুন। কৌশলটি স্থির স্টপ লস এবং লাভ টার্গেট সেটিংস সহ কঠোর ঝুঁকি ব্যবস্থাপনার ব্যবস্থা নিযুক্ত করে।
কৌশলটির মূল যুক্তি তিনটি ভাগে বিভক্ত: প্রবণতা বিচার, প্রবেশের সময় এবং ঝুঁকি নিয়ন্ত্রণ। প্রবণতা বিচার প্রধানত দ্রুত EMA (20 পিরিয়ড) এবং ধীর EMA (50 পিরিয়ড) এর আপেক্ষিক অবস্থানের উপর নির্ভর করে, যখন দ্রুত লাইনটি ধীরগতির লাইনের উপরে থাকে, তখন এটি একটি ঊর্ধ্বগামী প্রবণতা হিসাবে বিচার করা হয় এবং এর বিপরীতে। এন্ট্রি সিগন্যালগুলি স্টোকাস্টিক অসিলেটরের ক্রস দ্বারা নিশ্চিত করা হয়, অতিরিক্ত কেনা এবং বেশি বিক্রি হওয়া এলাকায় উচ্চ-সম্ভাব্য ট্রেডিং সুযোগের সন্ধান করে। প্রতিটি লেনদেনের একটি সুস্পষ্ট ঝুঁকি-রিটার্ন অনুপাত রয়েছে তা নিশ্চিত করতে ঝুঁকি নিয়ন্ত্রণ নির্দিষ্ট শতাংশ স্টপ লস এবং 2 বার টেক প্রফিট অনুপাতের সেটিং গ্রহণ করে।
এই কৌশলটি ট্রেন্ড এবং মোমেন্টাম ইন্ডিকেটর একত্রিত করে একটি সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। কৌশলটির মূল সুবিধাটি এর সুস্পষ্ট যৌক্তিক কাঠামো এবং কঠোর ঝুঁকি নিয়ন্ত্রণের মধ্যে নিহিত, কিন্তু প্রকৃত প্রয়োগে, প্যারামিটার অপ্টিমাইজেশান এখনও নির্দিষ্ট বাজারের অবস্থার উপর ভিত্তি করে করা প্রয়োজন। ক্রমাগত উন্নতি এবং অপ্টিমাইজেশানের মাধ্যমে, কৌশলটি বাজারের বিভিন্ন পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখবে বলে আশা করা হচ্ছে।
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("EMA + Stochastic Strategy", overlay=true)
// Inputs for EMA
emaShortLength = input.int(20, title="Short EMA Length")
emaLongLength = input.int(50, title="Long EMA Length")
// Inputs for Stochastic
stochK = input.int(14, title="Stochastic %K Length")
stochD = input.int(3, title="Stochastic %D Smoothing")
stochOverbought = input.int(85, title="Stochastic Overbought Level")
stochOversold = input.int(15, title="Stochastic Oversold Level")
// Inputs for Risk Management
riskRewardRatio = input.float(2.0, title="Risk-Reward Ratio")
stopLossPercent = input.float(1.0, title="Stop Loss (%)")
// EMA Calculation
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
// Stochastic Calculation
k = ta.stoch(high, low, close, stochK)
d = ta.sma(k, stochD)
// Trend Condition
isUptrend = emaShort > emaLong
isDowntrend = emaShort < emaLong
// Stochastic Signals
stochBuyCrossover = ta.crossover(k, d)
stochBuySignal = k < stochOversold and stochBuyCrossover
stochSellCrossunder = ta.crossunder(k, d)
stochSellSignal = k > stochOverbought and stochSellCrossunder
// Entry Signals
buySignal = isUptrend and stochBuySignal
sellSignal = isDowntrend and stochSellSignal
// Strategy Execution
if buySignal
strategy.entry("Buy", strategy.long)
stopLoss = close * (1 - stopLossPercent / 100)
takeProfit = close * (1 + stopLossPercent * riskRewardRatio / 100)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=stopLoss, limit=takeProfit)
if sellSignal
strategy.entry("Sell", strategy.short)
stopLoss = close * (1 + stopLossPercent / 100)
takeProfit = close * (1 - stopLossPercent * riskRewardRatio / 100)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=stopLoss, limit=takeProfit)
// Plotting
plot(emaShort, color=color.blue, title="Short EMA")
plot(emaLong, color=color.red, title="Long EMA")