এই কৌশলটি আলফা ট্রেন্ড সূচকের উপর ভিত্তি করে, যা আরএসআই এবং এমএফআই সূচকগুলির সুবিধাগুলিকে একত্রিত করে এবং উত্থান এবং হ্রাস উভয় প্রবণতা বাজারে ভাল ফলাফল অর্জন করতে পারে। কৌশলটি মূলত প্রবণতার দিকটি মূল্যায়ন করে যে দামটি আলফা ট্রেন্ড বক্ররেখাটি ভেঙে দেয় কিনা।
কৌশলটি মূলত মূল্য প্রবণতা দিক নির্ধারণের জন্য আলফা ট্রেন্ড বক্ররেখার উপর নির্ভর করে। এটি এটিআর, আরএসআই / এমএফআই বিবেচনা করে এবং প্রবণতা কার্যকরভাবে ট্র্যাক করতে পারে। যখন মূল্য বক্ররেখায় প্রবেশ করে, এটি প্রবণতার পরিবর্তনকে সংকেত দেয় এবং প্রবেশের বিন্দু গঠন করে।
সংক্ষেপে, এই কৌশলটি উত্থান এবং হ্রাস উভয় বাজারের জন্য কাজ করে, কার্যকরভাবে বাজারের গোলমাল ফিল্টার করে, প্রবণতা সঠিকভাবে সনাক্ত করে এবং এটি একটি দক্ষ প্রবণতা অনুসরণকারী কৌশল।
ঝুঁকি মোকাবেলা করার জন্য, স্টপ লস একক বাণিজ্য ক্ষতি নিয়ন্ত্রণ করতে পারে; মিথ্যা সংকেত এড়াতে অন্যান্য সূচকগুলির সাথে একত্রিত করুন; বিভিন্ন বাজারের উপর ভিত্তি করে পরামিতিগুলি সামঞ্জস্য করুন।
বিভিন্ন বাজার এবং পরামিতিতে পরীক্ষা করে আরও অপ্টিমাইজেশন করা যেতে পারে যাতে কৌশলটি আরও বেশি বাজারের অবস্থার সাথে খাপ খাইয়ে নেওয়া যায়।
সামগ্রিকভাবে এই আলফা ট্রেন্ড কৌশলটি একটি সহজ এবং দক্ষ প্রবণতা অনুসরণকারী সিস্টেম। এটি উত্থান এবং হ্রাস বাজারে অভিযোজিত করার জন্য মূল্য এবং ভলিউম উভয় তথ্য অন্তর্ভুক্ত করে। ব্রেকআউট প্রক্রিয়াটি পরিষ্কার প্রবেশের সংকেত সরবরাহ করে। সঠিক ঝুঁকি নিয়ন্ত্রণের সাথে এটি ভাল ফলাফল অর্জন করতে পারে। আরও পরীক্ষা এবং উন্নতি আরও বাজারের অবস্থার উপর এর লাভজনকতা স্থিতিশীল করতে সহায়তা করতে পারে।
/*backtest start: 2023-09-20 00:00:00 end: 2023-09-26 00:00:00 period: 30m 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 // pv additions, simplification and strategy conversion @ treigen //@version=5 strategy('AlphaTrend For ProfitView', overlay=true, calc_on_every_tick=true, process_orders_on_close=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, initial_capital=1000) coeff = input.float(1.5, 'Multiplier', step=0.1) AP = input(15, 'Common Period') ATR = ta.sma(ta.tr, AP) novolumedata = input(title='Change calculation (no volume data)?', defval=false) i_startTime = input(defval = timestamp("01 Jan 2014 00:00 +0000"), title = "Backtesting Start Time", inline="timestart", group='Backtesting') i_endTime = input(defval = timestamp("01 Jan 2100 23:59 +0000"), title = "Backtesting End Time", inline="timeend", group='Backtesting') timeCond = true pv_ex = input.string('', title='Exchange', tooltip='Leave empty to use the chart ticker instead (Warning: May differ from actual market name in some instances)', group='PV Settings') pv_sym = input.string('', title='Symbol', tooltip='Leave empty to use the chart ticker instead (Warning: May differ from actual market name in some instances)', group='PV Settings') pv_acc = input.string("", title="Account", group='PV Settings') pv_alert_long = input.string("", title="PV Alert Name Longs", group='PV Settings') pv_alert_short = input.string("", title="PV Alert Name Shorts", group='PV Settings') pv_alert_test = input.bool(false, title="Test Alerts", tooltip="Will immediately execute the alerts, so you may see what it sends. The first line on these test alerts will be excluded from any real alert triggers" ,group='PV Settings') upT = low - ATR * coeff downT = high + ATR * coeff AlphaTrend = 0.0 AlphaTrend := (novolumedata ? ta.rsi(close, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3) k2 = plot(AlphaTrend[2], color=color.new(#FC0400, 0), linewidth=3) buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2]) sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2]) var exsym = "" if barstate.isfirst exsym := pv_ex == "" ? "" : "ex=" + pv_ex + "," exsym := pv_sym == "" ? exsym : exsym + "sym=" + pv_sym + "," if barstate.isconfirmed and timeCond if strategy.position_size <= 0 and buySignalk strategy.entry("Buy", strategy.long) alert(pv_alert_long + "(" + exsym + "acc=" + pv_acc + ")", alert.freq_once_per_bar_close) if strategy.position_size >= 0 and sellSignalk strategy.entry("Sell", strategy.short) alert(pv_alert_short + "(" + exsym + "acc=" + pv_acc + ")", alert.freq_once_per_bar_close) // Only used for testing/debugging alert messages if pv_alert_test alert("<![Alert Test]!>\n" + pv_alert_long + "(" + exsym + "acc=" + pv_acc + ")", alert.freq_once_per_bar) alert("<![Alert Test]!>\n" + pv_alert_short + "(" + exsym + "acc=" + pv_acc + ")", alert.freq_once_per_bar)