এই কৌশলটি ক্রিপ্টোকারেন্সি বাজারগুলির জন্য উপযুক্ত একটি সহজ চলমান গড় (এসএমএ) ক্রসওভার কৌশল। এটি সম্ভাব্য প্রবেশ এবং প্রস্থান সংকেত সনাক্ত করতে দ্রুত, মাঝারি এবং ধীর এসএমএ ব্যবহার করে। যখন দ্রুত এসএমএ মাঝারি এসএমএ অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দ্রুত এসএমএ মাঝারি এসএমএর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
কৌশলটি ব্যবসায়ীদের নিম্নলিখিত মূল পরামিতিগুলি নির্ধারণ করতে দেয়ঃ
দ্রুত এসএমএ, মাঝারি এসএমএ এবং ধীর এসএমএ ব্যবহারকারীর দ্বারা সেট করা এসএমএ দৈর্ঘ্যের ভিত্তিতে গণনা করা হয়।
যখন দ্রুত এসএমএ মাঝারি এসএমএ অতিক্রম করে, তখন একটি ক্রয় সংকেত উৎপন্ন হয়। যখন দ্রুত এসএমএ মাঝারি এসএমএর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উৎপন্ন হয়।
কৌশলটি অ্যাকাউন্টের তহবিল এবং ট্রেড প্রতি গ্রহণযোগ্য ঝুঁকি শতাংশের উপর ভিত্তি করে ট্রেড প্রতি নামমাত্র মূলধন গণনা করে। এটি স্টপ লস পরিসীমা গণনা করতে এটিআর ব্যবহার করে এবং শেষ পর্যন্ত প্রতিটি ট্রেডের জন্য অবস্থান আকার নির্ধারণ করে।
এসএমএ সময়কাল সংক্ষিপ্ত করে, অন্যান্য সূচক ইত্যাদি যোগ করে অপ্টিমাইজ করতে পারে।
এই কৌশলটি ক্রিপ্টো মার্কেটের জন্য উপযুক্ত একটি শক্তিশালী প্রবণতা অনুসরণকারী সিস্টেমের জন্য এসএমএ ক্রসওভার নিয়ম, ঝুঁকি ব্যবস্থাপনা এবং অবস্থান আকারকে একীভূত করে। ব্যবসায়ীরা ট্রেডিং স্টাইল, বাজারের শর্ত ইত্যাদির মতো পরামিতিগুলি কাস্টমাইজ এবং অনুকূলিতকরণের জন্য টুইট করতে পারে।
/*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")