মধু প্রবণতা এটিআর ব্রেকআউট কৌশল হল ট্রেডিং সিগন্যাল জেনারেশনের জন্য এটিআর সূচক এবং বলিংজার ব্যান্ডের উপর ভিত্তি করে একটি মাঝারি মেয়াদী ব্রেকআউট কৌশল। এটি মূলত উপরের এবং নীচের এটিআর চ্যানেলের একটি নির্দিষ্ট প্রস্থের মধ্যে স্টক মূল্যের প্রবণতা পরিবর্তনগুলি পর্যবেক্ষণ করে। যখন দামগুলি নিম্ন বা উপরের রেলটি ভেঙে যায়, প্রবণতা ফিল্টারিংয়ের সাথে মিলিয়ে এটি ট্রেডিং সিদ্ধান্ত নেয়।
কৌশলটি তিনটি প্রধান অংশ নিয়ে গঠিতঃ
এটিআর চ্যানেলঃ এটিআর সূচকের মাধ্যমে স্টক মূল্যের ওঠানামা পরিসীমা গণনা করুন এবং এই পরিসরের মধ্যে একটি চ্যানেল উপরে এবং নীচে গঠন করুন। চ্যানেলের প্রস্থটি এটিআর লুকব্যাক সময়কাল এবং এটিআরডিভাইজার ফ্যাক্টর দ্বারা নিয়ন্ত্রিত হয়।
বি লাইনঃ শেয়ারের মূল্যের মধ্যরেখাকে বেসলাইন হিসেবে নিন। মধ্যরেখার গণনার পদ্ধতি হল: গতকালের উচ্চ, নিম্ন এবং বন্ধ মূল্যের গড় মান।
প্রবণতা ফিল্টারিংঃ ডিএমআই সূচক এবং সেট সংকেত চক্রের মাধ্যমে মূল্য প্রবণতা গণনা করুন। যখন pricesig
ট্রেডিং সিগন্যাল উৎপাদনের নির্দিষ্ট যুক্তি হলঃ
লং সিগন্যালঃ প্রাইসিগ
সংক্ষিপ্ত সংকেতঃ pricesig
অন্য পরিস্থিতিতে ট্রেডিং করা যাবে না।
কৌশলটি ট্রেডিং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লাভ এবং স্টপ লস শর্তও নির্ধারণ করে।
মধু ট্রেন্ড এটিআর ব্রেকআউট কৌশল নিম্নলিখিত সুবিধা আছেঃ
শেয়ারের দামের ওঠানামা পরিসীমা গণনা করতে ATR সূচক ব্যবহার করুন, যা বাজারের পরিবর্তনগুলিকে গতিশীলভাবে ক্যাপচার করতে পারে;
শেয়ারের দামের দিকের মূল্যায়ন করতে মিডলাইনকে একত্রিত করুন এবং শীর্ষস্থান এবং হত্যাকারী নিম্নস্থানগুলি এড়ানোর জন্য চ্যানেলের ব্রেকআউট ট্রেডিং পয়েন্টগুলি সেট করুন;
ডিএমআই সূচকটি প্রবণতা নির্ধারণ করতে এবং প্রবণতার বিরুদ্ধে ট্রেডিং এড়াতে ব্যবহৃত হয়, জয়ের হার উন্নত করে;
একক বাণিজ্যের ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লাভ এবং স্টপ লস শর্তাবলী নির্ধারণ করুন;
কৌশল পরামিতিগুলি চ্যানেলের প্রস্থ, এটিআর চক্র এবং অন্যান্য কারণগুলি সামঞ্জস্য করে কৌশলটি অনুকূল করতে যথেষ্ট নমনীয়।
এই কৌশলের কিছু ঝুঁকিও রয়েছে:
মধ্যমেয়াদী ট্রেডিংয়ের তুলনামূলকভাবে বড় ওঠানামা এবং উচ্চ ঝুঁকি রয়েছে।
এটিআর চ্যানেল ব্যাপ্তি গণনাটি ভুল হতে পারে যখন শেয়ারের দাম তীব্রভাবে পরিবর্তিত হয়, যা সহজেই ভুল ব্যবসায়ের দিকে পরিচালিত করে।
ডিএমআই সূচক ট্রেডিং সিগন্যালের নির্ভুলতা প্রভাবিত করে এমন প্রবণতা মূল্যায়নেও ভুল করতে পারে।
উপরের ঝুঁকিগুলির প্রতিক্রিয়া হিসাবে, এটিআর চ্যানেলের মতো পরামিতিগুলি সামঞ্জস্য করা যেতে পারে এবং অপ্টিমাইজেশন এবং উন্নতির জন্য সংকেত চক্রগুলি বাড়ানো যেতে পারে।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
এটিআর চ্যানেলের প্রস্থ সামঞ্জস্য করুন চ্যানেলের পরিসীমা সংকুচিত বা প্রসারিত করার জন্য AtrDivisor আপ বা ডাউন পরিবর্তন করে।
সাম্প্রতিক ওঠানামাতে চ্যানেলের সংবেদনশীলতা পরিবর্তন করতে ATR lookback cycle প্যারামিটার সামঞ্জস্য করুন।
ট্রেন্ড সিগন্যাল চক্র প্যারামিটার সামঞ্জস্য করুন, যাতে বাউলিশ এবং বেয়ারিশ ট্রেন্ডের সঠিকতা বাড়তে পারে।
সিগন্যালের গুণমান উন্নত করার জন্য মাল্টি ফ্যাক্টর যাচাইয়ের জন্য অন্যান্য সূচক যুক্ত করুন।
ঝুঁকি নিয়ন্ত্রণের উন্নতির জন্য স্টপ লাভ এবং স্টপ লস অ্যালগরিদমগুলি অপ্টিমাইজ করুন।
মধু প্রবণতা এটিআর ব্রেকআউট কৌশল মূল্যের ওঠানামা পরিসীমা এবং প্রবণতা বিচার সূচক বিশ্লেষণ একীভূত করে। বাজারের হটস্পটগুলি ক্যাপচার করার সময়, এটি ট্রেডিং ঝুঁকিগুলিও নিয়ন্ত্রণ করে। এটি একটি নমনীয় এবং অভিযোজিত পরিমাণগত কৌশল। এই কৌশলটি প্যারামিটার সমন্বয় এবং সংকেত অপ্টিমাইজেশনের মাধ্যমে ক্রমাগত উন্নত করা যেতে পারে, বিস্তৃত প্রয়োগের সম্ভাবনা সহ।
/*backtest start: 2023-11-01 00:00:00 end: 2023-11-30 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="Strategy - Bobo PATR Swing", overlay=true, default_qty_type = strategy.fixed, default_qty_value = 1, initial_capital = 10000) // === STRATEGY RELATED INPUTS AND LOGIC === PivottimeFrame = input(title="Pivot Timeframe", defval="D") ATRSDtimeFrame = input(title="ATR Band Timeframe (Lower timeframe = wider bands)", defval="D") len = input(title="ATR lookback (Lower = bands more responsive to recent price action)", defval=13) myatr = atr(len) dailyatr = request.security(syminfo.tickerid, ATRSDtimeFrame, myatr[1]) atrdiv = input(title="ATR divisor (Lower = wider bands)", type=float, defval=2) pivot0 = (high[1] + low[1] + close[1]) / 3 pivot = request.security(syminfo.tickerid, PivottimeFrame, pivot0) upperband1 = (dailyatr / atrdiv) + pivot lowerband1 = pivot - (dailyatr / atrdiv) middleband = pivot // == TREND CALC === i1=input(2, "Momentum Period", minval=1) //Keep at 2 usually i2=input(20, "Slow Period", minval=1) i3=input(5, "Fast Period", minval=1) i4=input(3, "Smoothing Period", minval=1) i5=input(4, "Signal Period", minval=1) i6=input(50, "Extreme Value", minval=1) hiDif = high - high[1] loDif = low[1] - low uDM = hiDif > loDif and hiDif > 0 ? hiDif : 0 dDM = loDif > hiDif and loDif > 0 ? loDif : 0 ATR = rma(tr(true), i1) DIu = 100 * rma(uDM, i1) / ATR DId = 100 * rma(dDM, i1) / ATR HLM2 = DIu - DId DTI = (100 * ema(ema(ema(HLM2, i2), i3), i4)) / ema(ema(ema(abs(HLM2), i2), i3), i4) signal = ema(DTI, i5) // === RISK MANAGEMENT INPUTS === inpTakeProfit = input(defval = 0, title = "Take Profit (In Market MinTick Value)", minval = 0) inpStopLoss = input(defval = 100, title = "Stop Loss (In Market MinTick Value)", minval = 0) // === RISK MANAGEMENT VALUE PREP === // if an input is less than 1, assuming not wanted so we assign 'na' value to disable it. useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na // === STRATEGY - LONG POSITION EXECUTION === enterLong = (((low<=lowerband1) and (close >lowerband1)) or ((open <= lowerband1) and (close > lowerband1))) and (strategy.opentrades <1) and (atr(3) > atr(50)) and (signal>signal[3]) exitLong = (high > middleband) strategy.entry(id = "Long", long = true, when = enterLong) strategy.close(id = "Long", when = exitLong) // === STRATEGY - SHORT POSITION EXECUTION === enterShort = (((high>=upperband1) and (close < upperband1)) or ((open >= upperband1) and (close < upperband1))) and (strategy.opentrades <1) and (atr(3) > atr(50)) and (signal<signal[3]) exitShort = (low < middleband) strategy.entry(id = "Short", long = false, when = enterShort) strategy.close(id = "Short", when = exitShort) // === STRATEGY RISK MANAGEMENT EXECUTION === strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss) strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss) // === CHART OVERLAY === plot(upperband1, color=#C10C00, linewidth=3) plot(lowerband1, color=#23E019, linewidth=3) plot(middleband, color=#00E2E2, linewidth=3) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)