সুপারট্রেন্ড বেসিক কৌশল হল তিনটি শক্তিশালী সূচকঃ সুপারট্রেন্ড (এটিআর), আরএসআই এবং ইএমএ-র উপর ভিত্তি করে একটি নির্ভরযোগ্য এবং লাভজনক অ্যালগরিদমিক ট্রেডিং কৌশল। এর লক্ষ্য বাজারের প্রবণতার দিক এবং শক্তি সনাক্ত করা, অনুকূল পয়েন্টে বাজারে প্রবেশ করা এবং স্টপ লস বা মুনাফা গ্রহণের সময় বেরিয়ে আসা।
কৌশলটি সুপারট্রেন্ড সূচকটি ব্যবহার করে নির্ধারণ করে যে দামটি আপট্রেন্ড বা ডাউনট্রেন্ডে রয়েছে কিনা। সুপারট্রেন্ড গড় সত্য পরিসীমা এবং একটি ফ্যাক্টরের উপর ভিত্তি করে, সুপারট্রেন্ডের উপরে আপট্রেন্ড এবং নীচে ডাউনট্রেন্ড।
আরএসআই ব্যবহার করা হয় অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় শর্ত সনাক্ত করতে। 50 এর উপরে উত্থান এবং 50 এর নীচে হ্রাস। আরএসআই মিথ্যা সংকেতগুলি ফিল্টার করে।
ইএমএ দীর্ঘমেয়াদী প্রবণতার দিকনির্দেশনা দেয়। ইএমএর উপরে আপট্রেন্ড, নীচে ডাউনট্রেন্ড। এটি বাণিজ্যের দিকনির্দেশনা নিশ্চিত করে।
ট্রেডিং সিগন্যাল হল:
লং এন্ট্রিঃ সুপারট্রেন্ডের উপরে মূল্য এবং 50 এর উপরে RSI এবং EMA এর উপরে মূল্য দীর্ঘ প্রস্থানঃ দাম সুপারট্রেন্ড বা স্টপ লস বা লাভ নেওয়ার নিচে বন্ধ হয়
শর্ট এন্ট্রিঃ সুপারট্রেন্ডের নীচে মূল্য এবং 50 এর নীচে আরএসআই এবং ইএমএর নীচে মূল্য শর্ট আউটঃ দাম সুপারট্রেন্ড বা স্টপ লস বা লাভ নেওয়ার উপরে বন্ধ হয়
স্টপ লস এবং লাভ গ্রহণ প্রবেশ মূল্যের শতাংশ হিসাবে সেট করা যেতে পারে।
এই কৌশলটির সুবিধাঃ
৩টি সূচকের সংমিশ্রণ, নির্ভরযোগ্য প্রবণতা সনাক্তকরণ
সুপারট্রেন্ড স্পষ্টভাবে আপট্রেন্ড এবং ডাউনট্রেন্ড চিহ্নিত করে
আরএসআই মিথ্যা ব্রেকআউট ফিল্টার করে, ওভারকুপ/ওভারসোল্ড এড়ায়
ইএমএ সামগ্রিক প্রবণতার দিকনির্দেশ নিশ্চিত করেছে
সহজ এবং স্পষ্ট ট্রেডিং সংকেত, অনুসরণ করা সহজ
অপ্টিমাইজেশনের জন্য কাস্টমাইজযোগ্য ATR সময়কাল, RSI পরামিতি এবং EMA সময়কাল
ঝুঁকি নিয়ন্ত্রণের জন্য হ্রাস বন্ধ করুন এবং লাভ নিন
বিভিন্ন বাজারের জন্য শুধুমাত্র দীর্ঘ বা শুধুমাত্র সংক্ষিপ্ত মোড
যে কোন সময়সীমার জন্য প্রযোজ্য
প্রধান ঝুঁকিঃ
সুপারট্রেন্ডের ট্রেন্ড রিভার্সনে বিলম্ব হ্রাসের কারণ হতে পারে।
ছোট স্টপ লস/টেক প্রফিট বড় পদক্ষেপ ধরতে ব্যর্থ
EMA প্রবণতা বিপরীত পয়েন্ট স্পট করতে পারে না
কোন বৈষম্য সনাক্ত করা হয়নি
এখনও অস্থিরতা ঝুঁকি এবং সময় ঝুঁকি আছে
সমাধান:
বিপরীত সনাক্ত করার জন্য অন্যান্য সূচক যোগ করুন
স্টপ লস অপ্টিমাইজ করুন/লাভ নিন
স্পট রিভার্সনে অন্যান্য সূচক যোগ করুন
বৈষম্য সূচক অন্তর্ভুক্ত করুন
অবস্থান আকার সামঞ্জস্য করুন
কৌশল অপ্টিমাইজ করার উপায়:
সংবেদনশীলতা এবং স্থায়িত্বের জন্য ATR সময়কাল অপ্টিমাইজ করুন
উচ্চতর নির্ভুলতার জন্য আরএসআই পরামিতিগুলি অপ্টিমাইজ করুন
বিভিন্ন বাজারের জন্য EMA সময়কাল অপ্টিমাইজ করুন
বিপরীত সনাক্তকরণের জন্য MACD, KD এর মতো সূচক যুক্ত করুন
ডিভার্জেন্স ইন্ডিকেটর যোগ করুন
বিপরীততা সনাক্ত করতে এলিয়ট তরঙ্গ ব্যবহার করুন
গতিশীলভাবে পরামিতি অপ্টিমাইজ করার জন্য মেশিন লার্নিং ব্যবহার করুন
অত্যাধুনিক স্টপ লস অ্যালগরিদম যেমন ট্রেলিং স্টপ লস
বিভিন্ন অস্থিরতার জন্য পজিশন সাইজিং অপ্টিমাইজ করুন
আরো জটিল প্রবেশ এবং প্রস্থান শর্ত পরীক্ষা করুন
সুপারট্রেন্ড বেসিক কৌশল সুপারট্রেন্ড, আরএসআই এবং ইএমএকে একটি সহজ এবং ব্যবহারিক প্রবণতা অনুসরণকারী সিস্টেমে একীভূত করে। এটি প্রবণতার দিকটি পরিষ্কারভাবে সনাক্ত করে, মিথ্যা সংকেতগুলি ফিল্টার করে এবং সামগ্রিক প্রবণতা নিশ্চিত করে। পরিষ্কার প্রবেশ, প্রস্থান নিয়ম এবং স্টপ লস / লাভ গ্রহণের কনফিগারেশন। ব্যবহার করা সহজ, নির্ভরযোগ্য লাভজনকতা। যে কোনও সময়সীমার জন্য প্রযোজ্য। এটি আরও শক্তিশালী ট্রেডিং সিস্টেম হয়ে উঠতে পরামিতিগুলি টিউন করে, বিপরীত সরঞ্জাম যুক্ত করে, স্টপগুলি উন্নত করে আরও অনুকূলিত করা যেতে পারে।
/*backtest start: 2023-09-10 00:00:00 end: 2023-10-10 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © JS_TechTrading //@version=5 // strategy("Supertrend", overlay=true,default_qty_type =strategy.percent_of_equity,default_qty_value = 1,process_orders_on_close = false) // group string//// var string group_text000="Choose Strategy" var string group_text0="Supertrend Settings" var string group_text0000="Ema Settings" var string group_text00="Rsi Settings" var string group_text1="Backtest Period" var string group_text2="Trade Direction" // var string group_text3="Quantity Settings" var string group_text4="Sl/Tp Settings" //////////////////// option_ch=input.string('Pullback',title = "Type Of Strategy",options =['Pullback','Simple']) //atr period input supertrend atrPeriod = input(10, "ATR Length",group = group_text0) factor = input.float(3.0, "Factor", step = 0.01,group=group_text0) [supertrend, direction] = ta.supertrend(factor, atrPeriod) bodyMiddle = plot((open + close) / 2, display=display.none) upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr) downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr) fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps=false) fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps=false) long=direction < 0 ? supertrend : na short=direction < 0? na : supertrend longpos=false shortpos=false longpos :=long?true :short?false:longpos[1] shortpos:=short?true:long?false:shortpos[1] fin_pullbuy= (ta.crossunder(low[1],long) and long and high>high[1]) fin_pullsell=(ta.crossover(high[1],short) and short and low<low[1]) //Ema 1 on_ma=input.bool(true,"Ema Condition On/Off",group=group_text0000) ma_len= input.int(200, minval=1, title="Ema Length",group = group_text0000) ma_src = input.source(close, title="Ema Source",group = group_text0000) ma_out = ta.ema(ma_src, ma_len) ma_buy=on_ma?close>ma_out?true:false:true ma_sell=on_ma?close<ma_out?true:false:true // rsi indicator and condition // Get user input en_rsi = input.bool(true,"Rsi Condition On/Off",group = group_text00) rsiSource = input(title='RSI Source', defval=close,group = group_text00) rsiLength = input(title='RSI Length', defval=14,group = group_text00) rsiOverbought = input(title='RSI BUY Level', defval=50,group = group_text00) rsiOversold = input(title='RSI SELL Level', defval=50,group = group_text00) // Get RSI value rsiValue = ta.rsi(rsiSource, rsiLength) rsi_buy=en_rsi?rsiValue>=rsiOverbought ?true:false:true rsi_sell=en_rsi?rsiValue<=rsiOversold?true:false:true // final condition buy_cond=option_ch=='Simple'?long and not(longpos[1]) and rsi_buy and ma_buy:option_ch=='Pullback'?fin_pullbuy and rsi_buy and ma_buy:na sell_cond=option_ch=='Simple'?short and not(shortpos[1]) and rsi_sell and ma_sell:option_ch=='Pullback'?fin_pullsell and rsi_sell and ma_sell:na //backtest engine start = input(timestamp('2005-01-01'), title='Start calculations from',group=group_text1) end=input(timestamp('2045-03-01'), title='End calculations',group=group_text1) time_cond =true // Make input option to configure trade direction tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Both',group = group_text2) // Translate input into trading conditions longOK = (tradeDirection == "Long") or (tradeDirection == "Both") shortOK = (tradeDirection == "Short") or (tradeDirection == "Both") // strategy start if buy_cond and longOK and time_cond and strategy.position_size==0 strategy.entry('long',direction = strategy.long) if sell_cond and shortOK and time_cond and strategy.position_size==0 strategy.entry('short',direction =strategy.short) // fixed percentage based stop loss and take profit // User Options to Change Inputs (%) stopPer = input.float(1.0,step=0.10, title='Stop Loss %',group =group_text4) / 100 takePer = input.float(1.0,step =0.10, title='Take Profit %',group =group_text4) / 100 // Determine where you've entered and in what direction longStop = strategy.position_avg_price * (1 - stopPer) shortStop = strategy.position_avg_price * (1 + stopPer) shortTake = strategy.position_avg_price * (1 - takePer) longTake = strategy.position_avg_price * (1 + takePer) if strategy.position_size > 0 strategy.exit(id='Close Long',stop=longStop, limit=longTake) if strategy.position_size < 0 strategy.exit(id='Close Short',stop=shortStop, limit=shortTake) //PLOT FIXED SLTP LINE plot(strategy.position_size > 0 ? longStop : na, style=plot.style_linebr, color=color.new(color.red, 0), linewidth=1, title='Long Fixed SL') plot(strategy.position_size < 0 ? shortStop :na, style=plot.style_linebr, color=color.new(color.red, 0), linewidth=1, title='Short Fixed SL') plot(strategy.position_size > 0 ? longTake : na, style=plot.style_linebr, color=color.new(color.green, 0), linewidth=1, title='Long Take Profit') plot(strategy.position_size < 0 ? shortTake : na, style=plot.style_linebr, color=color.new(color.green, 0), linewidth=1, title='Short Take Profit') //