আলফা ট্রেন্ড ডুয়াল ট্র্যাকিং কৌশলটি আলফা ট্রেন্ড সূচক দ্বারা উত্পন্ন কেনা এবং বিক্রয় সংকেতগুলির উপর ভিত্তি করে বাণিজ্য করে। এটি এলাকায় দীর্ঘ এবং সংক্ষিপ্ত অবস্থানগুলি খোলে যেখানে আলফা ট্রেন্ড কেনা এবং বিক্রয় সংকেত উত্পাদন করে।
আলফা ট্রেন্ড দ্বৈত ট্র্যাকিং কৌশলটির মূলটি হল আলফা ট্রেন্ড সূচক। আলফা ট্রেন্ড সূচক অভিযোজিত এটিআর এবং মূল্য (বন্ধ মূল্য বা ভলিউম ওজনযুক্ত গড় মূল্য) এর উপর ভিত্তি করে উপরের এবং নীচের ব্যান্ডগুলি গণনা করে। নির্দিষ্ট গণনার পদ্ধতিটি হ'লঃ
উপরের ব্যান্ড = সর্বনিম্ন নিম্ন - এটিআর * মাল্টিপ্লায়ার নিম্ন ব্যাণ্ড = সর্বোচ্চ উচ্চ + ATR * মাল্টিপ্লায়ার
যেখানে এটিআর একটি নির্দিষ্ট সময়ের মধ্যে গড় সত্য পরিসীমা এবং গুণক একটি সামঞ্জস্যযোগ্য পরামিতি। যখন দাম উপরের ব্যান্ডের উপরে থাকে, তখন সূচক লাইনটি উপরের ব্যান্ডের কাছাকাছি আসে। যখন দাম নীচের ব্যান্ডের নীচে থাকে, তখন সূচক লাইনটি নীচের ব্যান্ডের কাছে আসে। সুতরাং আলফা ট্রেন্ড একটি অভিযোজিত চ্যানেল গঠন করে।
আলফা ট্রেন্ড দ্বৈত ট্র্যাকিং কৌশল আলফা ট্রেন্ড দ্বারা উত্পন্ন সংকেতগুলির উপর ভিত্তি করে দীর্ঘ এবং সংক্ষিপ্ত অবস্থান স্থাপন করে। নির্দিষ্ট যুক্তি হলঃ
এটি গতিশীল আলফা ট্রেন্ড চ্যানেলের উপর ভিত্তি করে দ্বিমুখী ট্র্যাকিং ট্রেডিং সম্পন্ন করে।
আলফা ট্রেন্ড দ্বৈত ট্র্যাকিং কৌশল সবচেয়ে বড় সুবিধা হল যে এটি বাজারের প্রবণতাগুলিতে পরিবর্তনগুলি ট্র্যাক করতে পারে। অভিযোজনশীল এটিআর বাজারের অস্থিরতার পরিবর্তন অনুযায়ী চ্যানেলের পরিসীমা সামঞ্জস্য করতে পারে, যা অস্থিরতার সম্প্রসারণের কারণে ঐতিহ্যবাহী বোলিংজার ব্যান্ডগুলির কার্যকারিতা হ্রাস করার সমস্যা এড়ায়।
উপরন্তু, আলফা ট্রেন্ড মূল্য এবং ভলিউম (বা গতি) উভয় তথ্য একত্রিত করে, যা কিছু মিথ্যা ব্রেকআউট ফিল্টার করতে সহায়তা করে, ট্রেডিং সংকেতগুলির গুণমান উন্নত করে।
আলফা ট্রেন্ড দ্বৈত ট্র্যাকিং কৌশলটির মূল ঝুঁকিটি বিপুল বাজারের ওঠানামা থেকে আসে যা স্টপ লস পয়েন্টগুলিকে আঘাত করতে পারে। যখন অস্বাভাবিক বাজারের চলাচল হয়, স্টপ লস পয়েন্টগুলি ভেঙে যেতে পারে, যার ফলে বড় ক্ষতি হতে পারে। এটি সঠিকভাবে এটিআর পরামিতি এবং স্টপ লস পয়েন্টগুলি সামঞ্জস্য করে নিয়ন্ত্রণ করা দরকার।
এছাড়াও, আলফা নিজেই কিছুটা পিছিয়ে রয়েছে। এটি বাজারের পাল্টা পয়েন্টগুলির আশেপাশেও ভুল সংকেত তৈরি করতে পারে। সংকেতগুলি নিশ্চিত করতে অন্যান্য সূচকগুলি ব্যবহার করা উচিত।
আলফা ট্রেন্ডের দ্বৈত ট্র্যাকিং কৌশল নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
উপরের অপ্টিমাইজেশানগুলির মাধ্যমে, আলফা ট্রেন্ড কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও উন্নত করা যেতে পারে।
সংক্ষেপে, আলফা ট্রেন্ড দ্বৈত ট্র্যাকিং কৌশলটি বাজারের পরিবর্তনগুলি ট্র্যাক করার একটি কার্যকর উপায়। এটি ঐতিহ্যগত প্রযুক্তিগত সূচকগুলির কার্যকারিতা হারাতে সমস্যা সমাধান করে এবং সংকেতগুলি ফিল্টার করতে ভলিউম তথ্য অন্তর্ভুক্ত করে। সঠিক অপ্টিমাইজেশানগুলির সাথে, এই কৌশলটি পরিমাণগত ট্রেডিং সিস্টেমে একটি শক্তিশালী সরঞ্জাম হয়ে উঠতে পারে।
/*backtest start: 2024-01-02 00:00:00 end: 2024-02-01 00:00:00 period: 1h 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/ // author © KivancOzbilgic // developer © KivancOzbilgic //@version=5 strategy('AlphaTrend', shorttitle='AT', overlay=true, format=format.price, precision=2) coeff = input.float(1, 'Multiplier', step=0.1) AP = input(14, 'Common Period') ATR = ta.sma(ta.tr, AP) src = input(close) showsignalsk = input(title='Show Signals?', defval=true) novolumedata = input(title='Change calculation (no volume data)?', defval=false) upT = low - ATR * coeff downT = high + ATR * coeff AlphaTrend = 0.0 AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT color1 = AlphaTrend > AlphaTrend[2] ? #00E60F : AlphaTrend < AlphaTrend[2] ? #80000B : AlphaTrend[1] > AlphaTrend[3] ? #00E60F : #80000B k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3) k2 = plot(AlphaTrend[2], color=color.new(#FC0400, 0), linewidth=3) fill(k1, k2, color=color1) buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2]) sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2]) K1 = ta.barssince(buySignalk) K2 = ta.barssince(sellSignalk) O1 = ta.barssince(buySignalk[1]) O2 = ta.barssince(sellSignalk[1]) //plotshape(buySignalk and showsignalsk and O1 > K2 ? AlphaTrend[2] * 0.9999 : na, title='BUY', text='BUY', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(#0022FC, 0), textcolor=color.new(color.white, 0)) //plotshape(sellSignalk and showsignalsk and O2 > K1 ? AlphaTrend[2] * 1.0001 : na, title='SELL', text='SELL', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0)) longCondition = buySignalk and showsignalsk and O1 > K2 if (longCondition) strategy.entry("BUY", strategy.long, comment = "BUY ENTRY") shortCondition = sellSignalk and showsignalsk and O2 > K1 if (shortCondition ) strategy.entry("SELL", strategy.short, comment = "SELL ENTRY") // alertcondition(buySignalk and O1 > K2, title='Potential BUY Alarm', message='BUY SIGNAL!') // alertcondition(sellSignalk and O2 > K1, title='Potential SELL Alarm', message='SELL SIGNAL!') // alertcondition(buySignalk[1] and O1[1] > K2, title='Confirmed BUY Alarm', message='BUY SIGNAL APPROVED!') // alertcondition(sellSignalk[1] and O2[1] > K1, title='Confirmed SELL Alarm', message='SELL SIGNAL APPROVED!') // alertcondition(ta.cross(close, AlphaTrend), title='Price Cross Alert', message='Price - AlphaTrend Crossing!') // alertcondition(ta.crossover(low, AlphaTrend), title='Candle CrossOver Alarm', message='LAST BAR is ABOVE ALPHATREND') // alertcondition(ta.crossunder(high, AlphaTrend), title='Candle CrossUnder Alarm', message='LAST BAR is BELOW ALPHATREND!') // alertcondition(ta.cross(close[1], AlphaTrend[1]), title='Price Cross Alert After Bar Close', message='Price - AlphaTrend Crossing!') // alertcondition(ta.crossover(low[1], AlphaTrend[1]), title='Candle CrossOver Alarm After Bar Close', message='LAST BAR is ABOVE ALPHATREND!') // alertcondition(ta.crossunder(high[1], AlphaTrend[1]), title='Candle CrossUnder Alarm After Bar Close', message='LAST BAR is BELOW ALPHATREND!')