রিসোর্স লোড হচ্ছে... লোডিং...

ডুয়াল চেইন হাইব্রিড ইমপুটাম ইএমএ ট্র্যাকিং ট্রেডিং সিস্টেম

লেখক:চাওঝাং, তারিখঃ ২০২৪-১১-২৯ ১৭ঃ০৪ঃ৫৭
ট্যাগঃইএমএএমএ

img

সারসংক্ষেপ

এই কৌশলটি এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) এর উপর ভিত্তি করে একটি উদ্ভাবনী ট্রেডিং সিস্টেম, যা বিভিন্ন টাইমফ্রেমে স্থাপন করা দুটি স্বাধীন ট্রেডিং চেইনের মাধ্যমে বাজারের সুযোগগুলি ক্যাপচার করে। কৌশলটি বহু-মাত্রিক বাজার বিশ্লেষণের জন্য সাপ্তাহিক, দৈনিক, 12 ঘন্টা এবং 9 ঘন্টা টাইমফ্রেম জুড়ে ইএমএ ক্রসওভারের মাধ্যমে ট্রেডিং সংকেত তৈরি করে দীর্ঘমেয়াদী প্রবণতা অনুসরণ এবং স্বল্পমেয়াদী গতির ব্যবসায়ের সুবিধাগুলিকে একীভূত করে।

কৌশলগত নীতি

কৌশলটি একটি দ্বৈত-চেইন ডিজাইন ব্যবহার করে, প্রতিটি চেইনের নিজস্ব অনন্য প্রবেশ এবং প্রস্থান লজিক রয়েছেঃ

চেইন 1 (দীর্ঘমেয়াদী প্রবণতা) সাপ্তাহিক এবং দৈনিক সময়সীমা ব্যবহার করেঃ

  • এন্ট্রি সিগন্যালঃ যখন বন্ধের মূল্য সাপ্তাহিক সময়সীমার উপর EMA এর উপরে অতিক্রম করে তখন উত্পন্ন হয়
  • প্রস্থান সংকেতঃ যখন বন্ধের মূল্য দৈনিক সময়রেখায় EMA এর নীচে অতিক্রম করে তখন উত্পন্ন হয়
  • ডিফল্ট ইএমএ সময়কাল ১০, প্রয়োজন অনুযায়ী সামঞ্জস্যযোগ্য

চেইন ২ (স্বল্পমেয়াদী গতি) 12 ঘন্টা এবং 9 ঘন্টা সময় ফ্রেম ব্যবহার করেঃ

  • এন্ট্রি সিগন্যালঃ ১২ ঘণ্টার সময়সীমার মধ্যে বন্ধের মূল্য EMA এর উপরে অতিক্রম করলে এটি উৎপন্ন হয়
  • প্রস্থান সংকেতঃ যখন ক্লোজিং মূল্য 9 ঘন্টা সময়সীমার মধ্যে EMA এর নীচে অতিক্রম করে তখন উত্পন্ন হয়
  • ডিফল্ট ইএমএ সময়কাল ৯, প্রয়োজন অনুসারে সামঞ্জস্যযোগ্য

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

  1. বহুমাত্রিক বাজার বিশ্লেষণঃ সময়সীমার সমন্বয় করে বাজারের বিস্তৃত প্রবণতা ধরা
  2. উচ্চ নমনীয়তাঃ দুটি চেইন স্বাধীনভাবে সক্ষম বা নিষ্ক্রিয় করা যেতে পারে
  3. শক্তিশালী ঝুঁকি নিয়ন্ত্রণঃ একাধিক সময়সীমার নিশ্চিতকরণ মিথ্যা সংকেত হ্রাস করে
  4. শক্তিশালী পরামিতি অভিযোজনযোগ্যতাঃ ইএমএ সময়কাল এবং সময়সীমা সামঞ্জস্যযোগ্য
  5. সম্পূর্ণ ব্যাকটেস্টিং কার্যকারিতাঃ কৌশল যাচাইয়ের জন্য অন্তর্নির্মিত পরীক্ষার সময়কালের সেটিংস

কৌশলগত ঝুঁকি

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

ঝুঁকি নিয়ন্ত্রণের পরামর্শঃ

  • যুক্তিসঙ্গত স্টপ-লস স্তর নির্ধারণ করুন
  • বাজারের বৈশিষ্ট্যগুলির ভিত্তিতে পরামিতিগুলি সামঞ্জস্য করুন
  • লাইভ ট্রেডিংয়ের আগে পুঙ্খানুপুঙ্খ ব্যাকটেস্টিং পরিচালনা করুন
  • প্রতি ট্রেডের জন্য নিয়ন্ত্রণ পজিশনের আকার

কৌশল অপ্টিমাইজেশান নির্দেশাবলী

  1. সিগন্যাল ফিল্টারিং অপ্টিমাইজেশনঃ
  • ভলিউম নিশ্চিতকরণ প্রক্রিয়া যোগ করুন
  • অস্থিরতা সূচক অন্তর্ভুক্ত করুন
  • প্রবণতা শক্তি নিশ্চিতকরণ অন্তর্ভুক্ত করুন
  1. ঝুঁকি নিয়ন্ত্রণের অপ্টিমাইজেশানঃ
  • গতিশীল স্টপ-লস প্রক্রিয়া তৈরি করা
  • ডিজাইন পজিশন ম্যানেজমেন্ট সিস্টেম
  • ড্রাউনডাউন কন্ট্রোল ফাংশন যোগ করুন
  1. টাইমফ্রেম অপ্টিমাইজেশনঃ
  • গবেষণা সর্বোত্তম সময়সীমা সমন্বয়
  • অভিযোজিত সময়সীমার ব্যবস্থা গড়ে তোলা
  • বাজারের অবস্থা স্বীকৃতির কার্যকারিতা যোগ করুন

সংক্ষিপ্তসার

ডুয়াল চেইন হাইব্রিড মোমেন্টাম ইএমএ ট্র্যাকিং ট্রেডিং সিস্টেম দীর্ঘ ও স্বল্পমেয়াদী চলমান গড় কৌশলগুলির উদ্ভাবনী সংমিশ্রণের মাধ্যমে বহু-মাত্রিক বাজার বিশ্লেষণ অর্জন করে। সিস্টেমের নকশা নমনীয় এবং বিভিন্ন বাজারের শর্ত এবং ব্যবসায়ীর শৈলী অনুসারে সামঞ্জস্য করা যেতে পারে, শক্তিশালী ব্যবহারিকতা দেখায়। সঠিক ঝুঁকি নিয়ন্ত্রণ এবং অবিচ্ছিন্ন অপ্টিমাইজেশনের মাধ্যমে, এই কৌশলটির প্রকৃত ট্রেডিংয়ে স্থিতিশীল রিটার্ন অর্জনের সম্ভাবনা রয়েছে। ব্যবসায়ীদের সর্বোত্তম ট্রেডিং ফলাফল অর্জনের জন্য লাইভ বাস্তবায়নের আগে পুঙ্খানুপুঙ্খ ব্যাকটেস্টিং এবং পরামিতি অপ্টিমাইজেশন পরিচালনা করার পরামর্শ দেওয়া হয়।


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='Dual Chain Strategy', shorttitle='DualChain', overlay=true)

// User inputs for enabling/disabling chains
enableChain1 = input.bool(true, title='Enable Chain 1')
enableChain2 = input.bool(true, title='Enable Chain 2')

// User inputs for the first chain
len1 = input.int(10, minval=1, title='Length Chain 1 EMA', group="Chain 1")
src1 = input(close, title='Source Chain 1', group="Chain 1")
tf1_entry = input.timeframe("W", title='Chain 1 Entry Timeframe', group="Chain 1")
tf1_exit = input.timeframe("D", title='Chain 1 Exit Timeframe', group="Chain 1")

// Weekly timeframe EMA for Chain 1
entryEMA1 = request.security(syminfo.tickerid, tf1_entry, ta.ema(src1, len1))

// Daily timeframe EMA for Chain 1
exitEMA1 = request.security(syminfo.tickerid, tf1_exit, ta.ema(src1, len1))

// User inputs for the second chain
len2 = input.int(9, minval=1, title='Length Chain 2 EMA', group="Chain 2")
src2 = input(close, title='Source Chain 2', group="Chain 2")
tf2_entry = input.timeframe("720", title='Chain 2 Entry Timeframe (12H)', group="Chain 2")  // 12 hours
tf2_exit = input.timeframe("540", title='Chain 2 Exit Timeframe (9H)', group="Chain 2")    // 9 hours

// Entry timeframe EMA for Chain 2
entryEMA2 = request.security(syminfo.tickerid, tf2_entry, ta.ema(src2, len2))

// Exit timeframe EMA for Chain 2
exitEMA2 = request.security(syminfo.tickerid, tf2_exit, ta.ema(src2, len2))

// Plotting Chain 1 EMAs
plot(enableChain1 ? entryEMA1 : na, title='Chain 1 Entry EMA', color=color.new(color.blue, 0))
plot(enableChain1 ? exitEMA1 : na, title='Chain 1 Exit EMA', color=color.new(color.yellow, 0))

// Plotting Chain 2 EMAs
plot(enableChain2 ? entryEMA2 : na, title='Chain 2 Entry EMA', color=color.new(color.green, 0))
plot(enableChain2 ? exitEMA2 : na, title='Chain 2 Exit EMA', color=color.new(color.red, 0))

// Backtesting period
startDate = input(timestamp('2015-07-27'), title="StartDate")
finishDate = input(timestamp('2026-01-01'), title="FinishDate")
time_cond = true

// Entry Condition (Chain 1)
bullishChain1 = enableChain1 and ta.crossover(src1, entryEMA1)
bearishChain1 = enableChain1 and ta.crossunder(src1, entryEMA1)

// Exit Condition (Chain 1)
exitLongChain1 = enableChain1 and ta.crossunder(src1, exitEMA1)
exitShortChain1 = enableChain1 and ta.crossover(src1, exitEMA1)

// Entry Condition (Chain 2)
bullishChain2 = enableChain2 and ta.crossover(src2, entryEMA2)
bearishChain2 = enableChain2 and ta.crossunder(src2, entryEMA2)

// Exit Condition (Chain 2)
exitLongChain2 = enableChain2 and ta.crossunder(src2, exitEMA2)
exitShortChain2 = enableChain2 and ta.crossover(src2, exitEMA2)

// Debugging: Plot entry signals for Chain 1
plotshape(bullishChain1, color=color.new(color.green, 0), style=shape.labelup, text='BUY C1', location=location.belowbar)
plotshape(bearishChain1, color=color.new(color.red, 0), style=shape.labeldown, text='SELL C1', location=location.abovebar)

// Debugging: Plot entry signals for Chain 2
plotshape(bullishChain2, color=color.new(color.green, 0), style=shape.labelup, text='BUY C2', location=location.belowbar)
plotshape(bearishChain2, color=color.new(color.red, 0), style=shape.labeldown, text='SELL C2', location=location.abovebar)

// Trade Execution for Chain 1
if bullishChain1 and time_cond
    strategy.entry('BUY_Chain_1', strategy.long)

if bearishChain1 and time_cond
    strategy.entry('SELL_Chain_1', strategy.short)

// Exit trades based on daily conditions for Chain 1
if exitLongChain1 and strategy.opentrades > 0
    strategy.close(id='BUY_Chain_1', when=exitLongChain1)

if exitShortChain1 and strategy.opentrades > 0
    strategy.close(id='SELL_Chain_1', when=exitShortChain1)

// Trade Execution for Chain 2
if bullishChain2 and time_cond
    strategy.entry('BUY_Chain_2', strategy.long)

if bearishChain2 and time_cond
    strategy.entry('SELL_Chain_2', strategy.short)

// Exit trades based on daily conditions for Chain 2
if exitLongChain2 and strategy.opentrades > 0
    strategy.close(id='BUY_Chain_2', when=exitLongChain2)

if exitShortChain2 and strategy.opentrades > 0
    strategy.close(id='SELL_Chain_2', when=exitShortChain2)

// Close all positions outside the backtesting period
if not time_cond
    strategy.close_all()


সম্পর্কিত

আরো