ট্রিপল এসএমএ কৌশল হল প্রবণতা সনাক্তকরণ এবং এন্ট্রিগুলির জন্য বিভিন্ন সময়ের তিনটি সহজ চলমান গড়ের (এসএমএ) উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল। এটি স্বয়ংক্রিয়ভাবে প্রবণতা ট্র্যাক করতে পারে এবং প্রবণতার pullbacks সময় অবস্থান যোগ করতে পারে।
কৌশলটি 200-, 400- এবং 600-পরিয়ডের এসএমএ সহ বিভিন্ন সময়ের তিনটি এসএমএকে প্রধান প্রবণতা সূচক হিসাবে ব্যবহার করে। যখন মূল্য তিনটি এসএমএ এর উপরে থাকে, তখন এটি একটি আপ ট্রেন্ড নির্দেশ করে এবং বিপরীতভাবে ডাউন ট্রেন্ডের জন্য।
এন্ট্রিগুলির জন্য, কৌশলটি ক্লোজ প্রাইস এবং স্টোক ক্লোজ দোলকের ব্যবহারকে একত্রিত করে। কেবলমাত্র যখন দাম ট্রিপল এসএমএসের দিকের সাথে সামঞ্জস্য করে তখনই সংকেত তৈরি করা হয়। স্টোক ক্লোজ ওভারকুপ / ওভারসোল্ড স্তরগুলি সনাক্ত করে এবং 95 এর উপরে ক্রসিংয়ের সময় দীর্ঘ সংকেত দেয় এবং 5 এর নীচে ক্রসিংয়ের সময় সংক্ষিপ্ত সংকেত দেয়।
স্টপ লস সেট করা হয় সবচেয়ে ধীর এসএমএ এর নিচে মূল্য ক্রসিংয়ের জন্য।
এই কৌশলটি ১০ গুণ পর্যন্ত পিরামিডিংয়ের অনুমতি দেয়। ১%, ২% এবং ৬% মুনাফায় তিনটি লাভের স্তর অন্তর্নির্মিত।
ট্রিপল এসএমএ কৌশলটির সবচেয়ে বড় সুবিধা হ'ল বিভিন্ন সময়ের তিনটি এসএমএকে একত্রিত করে এটি প্রবণতার দিক এবং শক্তি আরও ভালভাবে সনাক্ত করতে পারে। এটির একক এসএমএ কৌশলগুলির তুলনায় মিথ্যা সংকেতগুলি ফিল্টার করার শক্তিশালী ক্ষমতা রয়েছে।
উপরন্তু, ওভারকুপ/ওভারসোল্ড বিশ্লেষণের জন্য স্টক ক্লোজকে অন্তর্ভুক্ত করা সম্ভাব্য প্রবণতা বিপরীত পয়েন্টের আশেপাশে সংকেত গ্রহণ করা এড়ায়।
ধীরতম এসএমএ-র উপর ভিত্তি করে স্টপ লস কৌশলটির ট্রেন্ড চালানোর ক্ষমতাকে সর্বাধিক করে তোলে এবং অকাল স্টপ আউটকে হ্রাস করে।
পিরামিডিংয়ের অনুমতি দেওয়া কৌশলটিকে প্রবণতা অব্যাহতভাবে অংশগ্রহণ করতে সক্ষম করে।
এই কৌশলটির প্রধান ঝুঁকি হ'ল ট্রিপল এসএমএগুলি সমস্ত মিথ্যা সংকেত সম্পূর্ণরূপে ফিল্টার করতে পারে না। যদি দাম এসএমএগুলি ভেঙে যাওয়ার পরে প্রবণতা গঠনে ব্যর্থ হয় এবং শীঘ্রই পিছনে সরে যায় তবে ক্ষতি হতে পারে। এটি প্রায়শই প্রধান সমর্থন / প্রতিরোধের স্তরের আশেপাশে ঘটে।
এছাড়াও, স্টক ক্লোজ নিজেই ভুল সংকেত তৈরি করতে পারে, যা বিশেষ করে ব্যাপ্তি বাজারে অনুপযুক্ত এন্ট্রি হতে পারে।
এই ঝুঁকিগুলি হ্রাস করার জন্য, এসএমএ সময়ের মতো পরামিতিগুলি সামঞ্জস্য করা যেতে পারে। সংকেত মান উন্নত করতে আরও সূচক যুক্ত করা যেতে পারে, যেমন কেডিজে এবং এমএসিডি।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
নির্দিষ্ট পণ্যগুলির জন্য সর্বোত্তম মান খুঁজে পেতে এসএমএ সময় যোগ করুন / সুর করুন
কম্বো ফিল্টারিং এবং আরও ভাল এন্ট্রিগুলির জন্য কেডিজে এবং এমএসিডি এর মতো অতিরিক্ত সূচক যুক্ত করুন
বাজারের অস্থিরতার পরিসীমা আরও ভালভাবে ফিট করার জন্য স্টপ লস এবং লাভের মানগুলি অনুকূল করুন
আদর্শ পিরামিডিং কৌশল খুঁজে পেতে পিরামিডিং সেটিংস অপ্টিমাইজ করুন
বিভিন্ন পণ্য পরীক্ষা করুন এবং আরও পণ্যের জন্য পরামিতিগুলি অভিযোজিত করুন
উপসংহারে, ট্রিপল এসএমএ কৌশল একটি খুব ব্যবহারিক প্রবণতা অনুসরণকারী পদ্ধতি। ট্রিপল এসএমএ এবং স্টোক ক্লোজকে একত্রিত করে এটি শক্ত প্রবণতা সনাক্তকরণ অর্জন করে এবং মিথ্যা সংকেতগুলি এড়ায়। পিরামিডিংয়ের অনুমতি দেওয়া প্রবণতা ট্র্যাকিংয়েরও অনুমতি দেয়। প্যারামিটার টিউনিং এবং অপ্টিমাইজেশনের সাথে এটি একটি শক্তিশালী প্রবণতা ট্র্যাকার হয়ে উঠতে পারে।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Tripla Sma with entries based on sma price closes ", shorttitle="TRIPLE SMA STRATEGY", overlay=true) ////resolution="" len = input(200, minval=1, title="sma 1 length") len1 = input(400, minval=1, title="sma 2 length") len2 = input(600, minval=1, title="sma 3 length") src = input(close, title="Source") //////////////////////////////////////////// smma = 0.0 smma := na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len up = smma > smma [1] down =smma < smma[1] mycolor = up ? #64b5f6 : down ? #d32f2f : na fastma = sma(hl2, 1) fastplot = plot(fastma, color=#000000, transp=100, title='sma on candle') slowplot = plot(smma, color=mycolor, transp=55, title='sma1') //////////////////////////////////////////// smma1 = 0.0 smma1 := na(smma1[1]) ? sma(src, len1) : (smma1[1] * (len1 - 1) + src) / len1 up2 = smma1 > smma1 [1] down2 =smma1 < smma1[1] mycolor2 = up2 ? #64b5f6 : down2 ? #d32f2f : na slowplot2 = plot(smma1, color=mycolor2, transp=45, title='sma2') //////////////////////////////////////////// smma2 = 0.0 smma2 := na(smma2[1]) ? sma(src, len2) : (smma2[1] * (len2 - 1) + src) / len2 up3 = smma2 > smma2 [1] down3 =smma2 < smma2[1] mycolor3 = up3 ? #64b5f6 : down3 ? #d32f2f : na slowplot3 = plot(smma2, color=mycolor3, transp=35, title='sma3') //////////////////////////////////////////////////////////////////////////////////////// //Fill gaps fillData = smma > fastma fillData2 = smma < fastma fillDtat = smma1 > smma fillDtat2 = smma1 < smma fillDat = smma2 > smma1 fillDat2 = smma2 < smma1 fillCol1 = fillData ? #ef5350 : fillData2 ? #64b5f6 : na fillCol2 = fillDtat ? #ef5350 : fillDtat2 ? #64b5f6 : na fillCol3 = fillDat ? #ef5350 : fillDat2 ? #64b5f6 : na fill(slowplot, fastplot, color=fillCol1, transp=90, title="sma1 fill") fill(slowplot, slowplot2, color=fillCol2, transp=80, title="sma2 fill") fill(slowplot2, slowplot3, color=fillCol3, transp=60, title="sma3 fill") uc = (close > smma) and (close > smma1) dc = (close < smma) and (close < smma1) barColor = uc ? #64b5f6 : dc ? #e91e63 : #b2b5be barcolor(color=barColor) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //StochClose from @trendinvestpro periods = input(50, minval=1, title="length for the oscillator") smooth = input(5, minval=1, title="oscillator smoothing") hhc=highest(close,periods) llc=lowest(close,periods) StochClose = sma((close-llc)/(hhc-llc)*100, smooth) shortline = input(95, minval=0, title="signal when oscillator crosses above") longline = input(5, minval=0, title="signal when oscillator crosses below") //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// longs = close > smma2 shorts = close < smma2 long = longs == true and crossunder(StochClose, longline) short = shorts == true and crossover(StochClose, shortline) stoplong = close < smma and close < smma1 and close < smma2 stopshort = close > smma and close > smma1 and close > smma2 p1 = strategy.position_avg_price / 100 / syminfo.mintick maxx = input(2500, title="max orders filled on a day", minval=0) takeprofit1 = input(1, title="take profit level 1", minval=0) takeprofit2 = input(2, title="take profit level 2", minval=0) takeprofit3 = input(6, title="take profit level 3", minval=0) takeprofitqt1 = input(30, title="take profit quantity first", minval=0) takeprofitqt2 = input(30, title="take profit quantity second", minval=0) takeprofitqt3 = input(30, title="take profit quantity third", minval=0) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////Strategy entries///////////////////////////////////////////////////////////////////////////////////////// // strategy.risk.max_intraday_filled_orders(maxx) strategy.entry("long", strategy.long, when=long) strategy.exit("tpl1", "long", qty_percent = takeprofitqt1, profit = takeprofit1 * p1) strategy.exit("tpl2", "long", qty_percent = takeprofitqt2, profit = takeprofit2 * p1) strategy.exit("tpl3", "long", qty_percent = takeprofitqt3, profit = takeprofit3 * p1) strategy.close("long", when=stoplong == true) strategy.entry("short", strategy.short, when=short) strategy.exit("tpl1", "short", qty_percent = takeprofitqt1, profit = takeprofit1 * p1) strategy.exit("tpl2", "short", qty_percent = takeprofitqt2, profit = takeprofit2 * p1) strategy.exit("tpl3", "short", qty_percent = takeprofitqt3, profit = takeprofit3 * p1) strategy.close("short", when=stopshort == true)