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