আলফাট্রেন্ডের উপর ভিত্তি করে ক্রস-পিরিয়ড কৌশল


সৃষ্টির তারিখ: 2023-09-28 11:05:27 অবশেষে সংশোধন করুন: 2023-09-28 11:05:27
অনুলিপি: 0 ক্লিকের সংখ্যা: 903
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটি আলফা ট্রেন্ড সূচকের উপর ভিত্তি করে তৈরি করা হয়েছে, যা আরএসআই এবং এমএফআই উভয় সূচকের সুবিধাগুলিকে একত্রিত করে, যা একটি বহুমুখী ট্রেন্ডিং বাজারে ভাল কৌশলগত প্রভাব অর্জন করে। এই কৌশলটি মূলত মূল্যায়ন করে যে দামগুলি আলফা ট্রেন্ড কার্ভকে ভেঙে দেয় কিনা, যাতে ট্রেন্ডের দিকটি ধরা যায়।

কৌশল নীতি

  1. বাজারের অস্থিরতা পরিমাপ করার জন্য এটিআর সূচক গণনা করুন
  2. ট্রেডিং ভলিউম ডেটা না থাকলে, RSI সূচক ব্যবহার করে বাজার ফাঁকা হওয়ার জন্য; যদি ট্রেডিং ভলিউম থাকে তবে MFI সূচক ব্যবহার করে বাজার ফাঁকা হওয়ার জন্য
  3. এটিআর এবং প্লুটোস্পেস বিচার অনুসারে ট্র্যাকে এবং ট্র্যাকে গণনা করা হয়েছে
  4. আলফা ট্রেন্ড কার্ভের গণনা, যা আপট্রেন্ড এবং ডাউনট্রেন্ড গতিশীলতা সমন্বয় করে
  5. আলফা ট্রেন্ডের বক্ররেখা অতিক্রম করে যখন দাম বেড়ে যায় তখন ক্রয় এবং বিক্রয় সংকেত দেওয়া হয়

এই কৌশলটি মূলত আলফা ট্রেন্ড কার্ভের উপর নির্ভর করে মূল্য প্রবণতার দিক নির্ধারণ করে, এটি এটিআর মার্কেটের অস্থিরতার পরিমাপ, আরএসআই এবং এমএফআই ওভারহোল্ডিং সূচকগুলিকে সামগ্রিকভাবে বিবেচনা করে, যা মূল্য প্রবণতা কার্যকরভাবে অনুসরণ করতে পারে। যখন দামটি কার্ভটি ভেঙে দেয়, তখন প্রবণতা পরিবর্তিত হয়, এই সময়টি প্রবেশের সময়।

কৌশলগত সুবিধা

  1. আলফা ট্রেন্ড সূচকটি আরএসআই এবং এমএফআই উভয় সূচকের সুবিধাগুলিকে একত্রিত করে এবং একই সাথে শূন্যতার সাথে খাপ খাইয়ে নিতে পারে
  2. গতিশীল ট্র্যাক আপ এবং ট্র্যাক ডাউন সেটিং স্বয়ংক্রিয়ভাবে বাজার ওঠানামা অনুযায়ী সামঞ্জস্য করা যেতে পারে
  3. মূল্য এবং লেনদেনের পরিমাণের তথ্যের উপর ব্যাপকভাবে বিবেচনা করা, ভুল সংকেতগুলির দ্বারা বিভ্রান্ত হওয়ার সম্ভাবনা কম
  4. নতুন প্রবণতা শনাক্ত করার জন্য উদ্ভাবনী পদ্ধতি ব্যবহার করা হয়েছে
  5. লজিক পরিষ্কার, সহজ এবং সহজে বোঝা যায়

সামগ্রিকভাবে, এই কৌশলটি বহুমুখী পরিস্থিতিতে প্রযোজ্য, কার্যকরভাবে বাজার শব্দটি ফিল্টার করে, প্রবণতা সনাক্তকরণ আরও সঠিক, একটি সুনির্দিষ্ট এবং কার্যকর প্রবণতা অনুসরণ কৌশল।

কৌশলগত ঝুঁকি

  1. আলফা ট্রেন্ড কার্ভের ভুল ভাঙ্গন হতে পারে, যার জন্য অন্যান্য সূচকগুলির সাথে সমন্বয় যাচাই করা প্রয়োজন
  2. বড় ধরনের ভূমিকম্পের সময় একাধিকবার অকার্যকর সংকেত দেখা দিতে পারে
  3. সূচক প্যারামিটার সেট না করাও কৌশল প্রভাবিত করতে পারে
  4. বন্যা পরিস্থিতিতে, স্টপ লস অতিক্রম করা হতে পারে, বড় ক্ষতির জন্য সতর্ক থাকুন

ঝুঁকির জন্য, স্টপ লস সেট করা যেতে পারে যাতে একক ক্ষতি নিয়ন্ত্রণ করা যায়; প্যারামিটার প্যারেজটি অপ্টিমাইজ করুন, অন্যান্য সূচক প্যারেজের সাথে ব্যবহার করুন যাতে অকার্যকর সংকেত হ্রাস করা যায়; বিভিন্ন বাজারের সাথে সামঞ্জস্য রেখে প্যারামিটার সেট করুন।

কৌশল অপ্টিমাইজেশন

  1. আপনি বিভিন্ন প্যারামিটার সমন্বয় পরীক্ষা করতে পারেন এবং সর্বোত্তম খুঁজে পেতে পারেন
  2. অন্যান্য সূচকগুলির সাথে মিলিত হতে পারে যা বিচারকে সহায়তা করতে পারে
  3. ঝুঁকি নিয়ন্ত্রণের জন্য ডায়নামিক স্টপ বা ট্র্যাকিং স্টপ সেট করতে পারেন
  4. বাজারের অবস্থার উপর নির্ভর করে বিভিন্ন ট্রেডিং ফ্রিকোয়েন্সি ব্যবহার করা যেতে পারে (যেমন 5 মিনিট, 15 মিনিট ইত্যাদি)
  5. অ্যাক্সেস টাইমিং অনুকূলিতকরণ, আরো সুনির্দিষ্ট অ্যাক্সেস শর্ত সেট করুন

বিভিন্ন বাজার এবং প্যারামিটার পরীক্ষা করে এই কৌশলটি আরও উন্নত করা যেতে পারে, যাতে এটি আরও বেশি ধরণের পরিস্থিতিতে সামঞ্জস্যপূর্ণ হয়।

সারসংক্ষেপ

আলফা ট্রেন্ড কৌশলটি সামগ্রিকভাবে একটি সহজ এবং কার্যকর প্রবণতা অনুসরণ কৌশল। এটি মূল্য এবং লেনদেনের পরিমাণের সাথে মিলিত হয়, এটি একটি ফাঁকা বাজারের সাথে খাপ খাইয়ে নিতে পারে। এটি একটি ব্রেকথ্রু পদ্ধতির সাথে স্পষ্টভাবে প্রবেশের সময় নির্ধারণ করে। ঝুঁকি নিয়ন্ত্রণের শর্তে ভাল কৌশলগত প্রভাব অর্জন করা যেতে পারে। এটি আরও পরীক্ষার জন্য উপযুক্ত, যাতে এটি আরও বাজারে স্থিতিশীল লাভজনক হতে পারে।

কৌশল সোর্স কোড
/*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)