এই কৌশলটি গতিশীল চলমান গড় সূচক উপর ভিত্তি করে রিয়েল টাইমে মূল্যের প্রবণতা ট্র্যাক করতে এবং চলমান গড়টি ভেঙে গেলে ট্রেডিং সংকেত তৈরি করতে। এই কৌশলটির সুবিধাটি এর সহজ প্যারামিটার সেটিংস, স্পষ্ট সংকেত নিয়ম এবং মাঝারি থেকে দীর্ঘমেয়াদী হোল্ডিংয়ের জন্য উপযুক্ত।
এই কৌশলটি ALMA, EMA, SMA এবং আরও অনেক কিছু সহ গতিশীল চলমান গড় সূচক ব্যবহার করে। নীতিটি হ'ল যখন দাম চলমান গড়ের উপরে ভেঙে যায় তখন দীর্ঘ এবং যখন এটি নীচে ভেঙে যায় তখন সংক্ষিপ্ত হয়। অর্থাৎ, চলমান গড়টি দামের প্রবণতার জন্য একটি ব্যারোমিটার হিসাবে কাজ করে এবং প্রবণতা বিপরীত হওয়ার সময় সংকেত তৈরি করা যেতে পারে।
বিশেষত, কৌশলটি উচ্চ এবং নিম্ন মূল্য দ্বারা গঠিত চলমান গড় ব্যবহার করে। নিম্ন মূল্য এমএ দীর্ঘ সংকেতগুলির জন্য সংকেত লাইন হিসাবে কাজ করে, যখন উচ্চ মূল্য এমএ শর্টগুলির জন্য লাইন হিসাবে কাজ করে। যখন বন্ধের দাম নিম্ন মূল্য এমএ এর উপরে উঠে যায়, তখন দীর্ঘ যান। যখন বন্ধ উচ্চ মূল্য এমএ এর নীচে পড়ে, তখন সংক্ষিপ্ত যান।
এমএ এর সাথে মূল্যের প্রবণতা বিচার করে এবং ব্রেকআউট নীতির সাথে সংকেত তৈরি করার জন্য, একটি সহজ এবং ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল গঠিত হয়।
এই কৌশলটি এমএ দিয়ে প্রবণতা দিক বিচার করে এবং ব্রেকআউট নীতিগুলির উপর ভিত্তি করে সংকেত উত্পন্ন করে। এটি ব্যবহার করা সহজ এবং মাঝারি থেকে দীর্ঘমেয়াদী হোল্ডিংয়ের জন্য উপযুক্ত। বাজারের পরিবর্তনের সাথে খাপ খাইয়ে নেওয়ার জন্য পরামিতিগুলিও সামঞ্জস্য করা যেতে পারে। স্বল্পমেয়াদী ওঠানামা এবং দীর্ঘ হোল্ডিংয়ের ঝুঁকিগুলি স্টপ লস / লাভ গ্রহণের সাথে পরিচালনা করা দরকার। আরও সূচক অন্তর্ভুক্ত করে এবং মেশিন লার্নিংয়ের মাধ্যমে সর্বোত্তম পরামিতিগুলি খুঁজে বের করে উন্নতির সুযোগ রয়েছে।
/*backtest start: 2023-12-02 00:00:00 end: 2024-01-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Baseline Strategy - evo", shorttitle="Baseline", overlay=true) //INPUTS mat = input("ALMA", "MA Type", options=["SMA", "EMA", "WMA", "HMA", "VWMA", "RMA", "ALMA"]) baseline = input(55, title="MA Length") src = input(ohlc4, title="Closing Source") offset = input(0.85, step=0.05, title="Offset (alma only)") sigma = input(10, title="Sigma (alma only)") useCurrentRes = input(true, title="Use Current Resolution") resCustom = input("1440", title="Timeframe") showsignals = input(false, title="Show Signals ?") //BASELINE baselinehigh = mat=="SMA" ? sma(high,baseline) : mat=="EMA" ? ema(high,baseline) : mat=="WMA" ? wma(high,baseline) : mat=="HMA" ? wma(2*wma(high, baseline/2)-wma(high, baseline), round(sqrt(baseline))) : mat=="VWMA" ? vwma(high,baseline) : mat=="RMA" ? rma(high,baseline) : mat=="ALMA" ? alma(high, baseline, offset, sigma) : na baselinelow = mat=="SMA" ? sma(low,baseline) : mat=="EMA" ? ema(low,baseline) : mat=="WMA" ? wma(low,baseline) : mat=="HMA" ? wma(2*wma(low, baseline/2)-wma(low, baseline), round(sqrt(baseline))) : mat=="VWMA" ? vwma(low,baseline) : mat=="RMA" ? rma(low,baseline) : mat=="ALMA" ? alma(low, baseline, offset, sigma) : na //RESOLUTION res = useCurrentRes ? timeframe.period : resCustom mtfhigh = security(syminfo.tickerid, res, baselinehigh) mtflow = security(syminfo.tickerid, res, baselinelow) //PLOTS plot(mtfhigh, color=color.navy, linewidth=2, transp=0, title="Baseline High") plot(mtflow, color=color.navy, linewidth=2, transp=0, title="Baseline Low") long = src > mtfhigh short = src < mtflow barcolor(long ? #ffe0b2 : short ? #2a2e39 : not long and not short ? #b09e82 : na, title="BaseLine BarColor") signal = 0 signal := long ? 1 : short ? 2 : nz(signal[1]) plotshape(showsignals ? (signal != signal[1] and long ? mtflow : na) : na, title="Long", location=location.absolute, size=size.small, style=shape.labelup, text="Long", textcolor=color.black, transp=40, color=#00ff00) plotshape(showsignals ? (signal != signal[1] and short ? mtfhigh : na) : na, title="Short", location=location.absolute, size=size.small, style=shape.labeldown, text="Short", textcolor=color.white, transp=40, color=#ff0000) alertcondition(signal != signal[1], title="Trend Change !", message="Trend Change !") if (long) strategy.entry("Long", strategy.long) if (short) strategy.entry("Short", strategy.short)