
এই কৌশলটি ক্রিপ্টোকারেন্সি বাজারে প্রয়োগ করা একটি সহজ চলমান গড় (এসএমএ) ক্রস কৌশল। এটি সম্ভাব্য প্রবেশ এবং প্রস্থান সংকেত সনাক্ত করতে দ্রুত, মাঝারি এবং ধীর তিনটি এসএমএ ব্যবহার করে। যখন একটি দ্রুত এসএমএ একটি মাঝারি এসএমএ অতিক্রম করে, একটি কেনার সংকেত উত্পন্ন করে; যখন একটি দ্রুত এসএমএ একটি মাঝারি এসএমএ অতিক্রম করে, একটি বিক্রয় সংকেত উত্পন্ন করে।
কৌশলটি ব্যবসায়ীদের নিম্নলিখিত মূল প্যারামিটারগুলি সেট করার অনুমতি দেয়ঃ
ব্যবহারকারীর দ্বারা নির্ধারিত এসএমএ দৈর্ঘ্যের উপর ভিত্তি করে, দ্রুত এসএমএ, মাঝারি এসএমএ এবং ধীর এসএমএ যথাক্রমে গণনা করা হয়।
যখন দ্রুত এসএমএ উপরে মধ্যম এসএমএ অতিক্রম করে, একটি কেনার সংকেত উত্পন্ন হয়; যখন দ্রুত এসএমএ নীচে মধ্যম এসএমএ অতিক্রম করে, একটি বিক্রয় সংকেত উত্পন্ন হয়।
কৌশলটি অ্যাকাউন্টের তহবিল এবং প্রতিটি লেনদেনের ঝুঁকির অনুপাতকে একত্রিত করে, প্রতিটি লেনদেনের নামমাত্র মূলধন গণনা করে। এটিআর-এর সাথে মিলিত করে স্টপ লস-এর পরিমাণ গণনা করা হয়, যা প্রতিটি লেনদেনের জন্য নির্দিষ্ট অবস্থান নির্ধারণ করে।
এসএমএ চক্র যথাযথভাবে সংক্ষিপ্ত করা এবং অন্যান্য সূচকগুলির সাহায্যে অপ্টিমাইজ করা যেতে পারে।
এই কৌশলটি এসএমএ ক্রস বিচার, ঝুঁকি ব্যবস্থাপনা এবং পজিশন অপ্টিমাইজেশনের একাধিক ফাংশনকে সংহত করে, এটি ক্রিপ্টো মার্কেটের জন্য উপযুক্ত একটি প্রবণতা অনুসরণ কৌশল। ব্যবসায়ীরা তাদের ট্রেডিং স্টাইল, বাজার পরিবেশ ইত্যাদির উপর ভিত্তি করে প্যারামিটারগুলি সামঞ্জস্য করতে পারে এবং অপ্টিমাইজেশন প্রয়োগ করতে পারে।
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Onchain Edge Trend SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Configuration Parameters
priceSource = input(close, title="Price Source")
includeIncompleteBars = input(true, title="Consider Incomplete Bars")
maForecastMethod = input(defval="flat", options=["flat", "linreg"], title="Moving Average Prediction Method")
linearRegressionLength = input(3, title="Linear Regression Length")
fastMALength = input(7, title="Fast Moving Average Length")
mediumMALength = input(30, title="Medium Moving Average Length")
slowMALength = input(50, title="Slow Moving Average Length")
tradingCapital = input(100000, title="Trading Capital")
tradeRisk = input(1, title="Trade Risk (%)")
// Calculation of Moving Averages
calculateMA(source, period) => sma(source, period)
predictMA(source, forecastLength, regressionLength) =>
maForecastMethod == "flat" ? source : linreg(source, regressionLength, forecastLength)
offset = includeIncompleteBars ? 0 : 1
actualSource = priceSource[offset]
fastMA = calculateMA(actualSource, fastMALength)
mediumMA = calculateMA(actualSource, mediumMALength)
slowMA = calculateMA(actualSource, slowMALength)
// Trading Logic
enterLong = crossover(fastMA, mediumMA)
exitLong = crossunder(fastMA, mediumMA)
// Risk and Position Sizing
riskCapital = tradingCapital * tradeRisk / 100
lossThreshold = atr(14) * 2
tradeSize = riskCapital / lossThreshold
if (enterLong)
strategy.entry("Enter Long", strategy.long, qty=tradeSize)
if (exitLong)
strategy.close("Enter Long")
// Display Moving Averages
plot(fastMA, color=color.blue, linewidth=2, title="Fast Moving Average")
plot(mediumMA, color=color.purple, linewidth=2, title="Medium Moving Average")
plot(slowMA, color=color.red, linewidth=2, title="Slow Moving Average")