ক্রস-টাইমলাইন হাল মুভিং এভারেজ ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-11-07 16:54:14 অবশেষে সংশোধন করুন: 2023-11-07 16:54:14
অনুলিপি: 0 ক্লিকের সংখ্যা: 697
1
ফোকাস
1617
অনুসারী

ক্রস-টাইমলাইন হাল মুভিং এভারেজ ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি হুলের চলমান গড়ের উপর ভিত্তি করে, বিভিন্ন সময়রেখায় হুল এমএ গণনা করে এবং বিভিন্ন সময়রেখায় হুল এমএ চলার সাথে তুলনা করে ট্রেন্ডের পরিবর্তনগুলি খুঁজে বের করার জন্য। একটি ক্রয় সংকেত উত্পন্ন হয় যখন একটি স্বল্প সময়ের হুল এমএ দীর্ঘ সময়ের হুল এমএ অতিক্রম করে; একটি বিক্রয় সংকেত উত্পন্ন হয় যখন একটি স্বল্প সময়ের হুল এমএ দীর্ঘ সময়ের হুল এমএ অতিক্রম করে।

কৌশল নীতি

  1. ইনপুট প্যারামিটারঃ Hull MA চক্রের সময়কাল, HMA2 এর সময়রেখা Resolution2, HMA3 এর সময়রেখা Resolution3

  2. বর্তমান K-রেখার উপর Hull MA এর HMA গণনা করুন

  3. রেজোলিউশন ২ সময়রেখায় Hull MA HMA2 গণনা করা হয়েছে

  4. রেজোলিউশন ৩ সময়রেখায় Hull MA HMA3 গণনা করুন

  5. এইচএমএ, এইচএমএ২, এইচএমএ৩ আকারের তুলনা

  6. যখন HMA>HMA2>HMA3 হয়, তখন একটি ক্রয় সংকেত তৈরি হয়

  7. যখন HMA

  8. বিভিন্ন সময়রেখার উপর Hull MA মান এবং সংকেত উপরের বাম দিকে প্রদর্শিত হবে

  9. রঙের সাহায্যে উর্ধ্বমুখী অবস্থা

সামর্থ্য বিশ্লেষণ

  1. একাধিক সময়সীমা ব্যবহার করে, ভুয়া আক্রমণগুলিকে ফিল্টার করা যায় এবং ফাঁস হওয়া এড়ানো যায়।

  2. বিভিন্ন সময়কালের জন্য কাস্টমাইজযোগ্য সময়সীমা প্যারামিটার

  3. রিয়েল-টাইম সিগন্যাল প্রদর্শন, অপারেশন স্বজ্ঞাত।

  4. বর্তমান প্রবণতা নির্ণয় করতে Hull MA এর গতিবিধিকে দৃশ্যমান করুন।

ঝুঁকি বিশ্লেষণ

  1. ভুল প্যারামিটার সেট করলে ট্রেডিং খুব ঘন ঘন হতে পারে।

  2. বড় আকারের Hull MA-এর প্রবণতা পিছিয়ে আছে এবং এটি প্রবণতা পাল্টাতে ব্যর্থ হতে পারে।

  3. এই কৌশলটি একটি মিথ্যা সংকেত তৈরি করে যখন একটি ষাঁড় বা ভালুক পরিবর্তন করে।

  4. “এটি একটি ব্রেক-ইন কৌশল, যার মাধ্যমে ভুয়া ব্রেক-ইন করা যায়।

  5. ট্রেডিং চার্জ বিবেচনা করা হয় না, যা প্রকৃত মুনাফা প্রভাবিত করে।

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

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

  1. Hull MA-এর চক্রের প্যারামিটারগুলিকে বিভিন্ন চক্র এবং ওঠানামার সাথে সামঞ্জস্য রেখে অপ্টিমাইজ করা হয়েছে।

  2. ভুয়া ব্রেকডাউন এড়ানোর জন্য ট্রানজাকশন ইন্ডেক্স বাড়ানো।

  3. ট্রেন্ডের তীব্রতা নির্ধারণের জন্য কম্পন পরিমাপক যোগ করুন।

  4. মেশিন লার্নিং মডেল যুক্ত করা হয়েছে।

  5. মার্কেটের হটস্পটগুলো খুঁজে বের করার জন্য আবেগের সূচকগুলো ব্যবহার করা হয়েছে।

  6. স্টপ লস স্ট্র্যাটেজি এবং রিস্ক ম্যানেজমেন্ট অপ্টিমাইজ করুন।

  7. কাস্টমাইজড ক্রয়-বিক্রয় শর্তাবলী, অন্যান্য সূচক সংকেত সমন্বয়

  8. মূল্য চ্যানেল এবং ব্যাপ্তি ভিত্তিক লেনদেনের কৌশল বাড়ানো।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
strategy("wtfBUYorSELLffs",overlay=true,currency="USD",initial_capital=100000,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.percent,commission_value=0.1)
Period=input(title="Hull MA Period",type=input.integer,defval=6,minval=1)
Resolution2=input(title="HMA2 Resolution", type=input.resolution,defval="60")
Resolution3=input(title="HMA3 Resolution", type=input.resolution,defval="240")
Price=input(title="Source of Price",type=input.source,defval=open)
xOffset       = input(40, title="Panel offset (X-Axis)")
yOffset       = input(0, title="Panel offset (y-Axis)")
lightgray = #D3D3D3FF
pnlTextColor = color.silver
pnlColor = color.black
HMA = hma(Price,Period)
HMA2 = security(syminfo.tickerid, Resolution2, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HMA3 = security(syminfo.tickerid, Resolution3, HMA,barmerge.gaps_off,barmerge.lookahead_off) 
HUP = HMA > HMA[1]
H1UP = security(syminfo.tickerid, Resolution2, HUP,barmerge.gaps_off,barmerge.lookahead_off)
H2UP = security(syminfo.tickerid, Resolution3, HUP,barmerge.gaps_off,barmerge.lookahead_off) 

int barSize = timeframe.isdaily ? timeframe.multiplier*86400000 : 
           timeframe.isseconds? timeframe.multiplier*1000 :
           timeframe.isminutes? timeframe.multiplier*60000 : (time[0]-time[1])
int   lapos_x = timenow + barSize*xOffset
float lapos_y = highest(20) + yOffset*syminfo.mintick * syminfo.pointvalue
f_draw_infopanel(_x, _y, _line, _text)=>
    _rep_text = ""
    for _l = 0 to _line
        _rep_text := _rep_text + "\n"
    _rep_text := _rep_text + _text
    // var label _la = na
    // label.delete(_la)
//     _la := label.new(
//          x=_x, y=_y, 
//          text=_rep_text, xloc=xloc.bar_time, yloc=yloc.price, 
//          color=pnlColor, style=label.style_labelup, textcolor=pnlTextColor, size=size.normal)
// f_draw_infopanel(lapos_x, lapos_y, 8, "╚═══════════════════════╝")
f_draw_infopanel(lapos_x, lapos_y, 6,  "HMA3 on TF " + Resolution3 + "  = " + tostring(HMA3,"#.####") + (H2UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 4,  "HMA2 on TF " + Resolution2 + "  = " +  tostring(HMA2,"#.####") + (H1UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 2,  "HMA1 on TF " + timeframe.period + "  = " + tostring(HMA,"#.####") + (HUP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 0,  "╔═════════ HMA(" + tostring(Period,"#") +") ════════╗")
change_color=HMA>HMA3?color.green:color.red
change_color2=HMA2>HMA3?color.lime:color.yellow
plot1=plot(HMA3,color=change_color2,title="3 Hull MA Line",linewidth=2,transp=75)
plot2=plot(HMA2,color=change_color,title="2 Hull MA Line",linewidth=2,transp=75)
plot3=plot(HMA,color=color.white,title="Hull MA Line",linewidth=2,transp=75)
fill(plot1,plot3,color=change_color,transp=90)
fill(plot2,plot3,color=change_color2,transp=75)
if (H2UP and H1UP and HUP)
    strategy.entry("BUY",strategy.long)
if (not H2UP and not H1UP and not HUP)
    strategy.entry("SELL",strategy.short)