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


সৃষ্টির তারিখ: 2023-12-15 15:39:45 অবশেষে সংশোধন করুন: 2023-12-15 15:39:45
অনুলিপি: 0 ক্লিকের সংখ্যা: 603
1
ফোকাস
1621
অনুসারী

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

ওভারভিউ

এই কৌশলটি ডাবল ইয়ারলাইন সূচক এবং থ্রি ইয়ারলাইন সূচক ব্যবহার করে, র্যান্ডম সূচকগুলির সাথে মিলিত হয়ে একটি স্থিতিশীল এবং নির্ভরযোগ্য ট্রেন্ড ট্র্যাকিং ট্রেডিং কৌশল গঠন করে। এর মূল ধারণাটি হ’ল ইয়ারলাইন সূচকগুলি যখন গোল্ডফোর্ক বা ডেডফোর্ক উপস্থিত হয় তখন ট্রেডিং সিগন্যাল প্রেরণ করা হয়। এবং র্যান্ডম সূচকগুলি ওভার-বিক্রয় ওভার-বিক্রয় পরিস্থিতি নির্ধারণের জন্য ব্যবহৃত হয় যাতে বাজারের তীব্র ওঠানামা চলাকালীন ভুল সংকেত তৈরি না হয়।

মূলনীতি

এই কৌশলটি মূলত চারটি অংশে বিভক্তঃ

  1. ডাবল ইভ্যালিওয়েট ইনডিকেটরঃ ৫০ ও ১০০ চক্রের ইন্ডেক্সাল মুভিং এভারেজ (ইএমএ) গণনা করে, যা দীর্ঘমেয়াদী ইএমএ অতিক্রম করার সময় একটি ক্রয় সংকেত দেয় এবং দীর্ঘমেয়াদী ইএমএ অতিক্রম করার সময় একটি বিক্রয় সংকেত দেয়।

  2. তিনটি সূচকীয় সূচকঃ 50 পিরিয়ড, 100 পিরিয়ড এবং 200 পিরিয়ডের সূচকীয় চলমান গড় গণনা করা হয়, যা বাজারের প্রবণতার দিকনির্দেশের জন্য ব্যবহৃত হয়। 50EMA> 100EMA> 200EMA যখন একটি মাল্টি-হেড বাজার হয়, 50EMA < 100EMA < 200EMA যখন একটি খালি হেড বাজার হয়।

  3. এলোমেলো সূচকঃ আরএসআইয়ের 6 দিনের কে এবং ডি মান গণনা করে, ওভারবয় ওভারসোলের বিচার করুন। কে মান অতিক্রম করার সময় ওভারসোল হয়, যখন ডি মান অতিক্রম করা হয় তখন ওভারবয় হয়।

  4. ট্রেডিং সিগন্যালঃ কেবলমাত্র ডাবল-ওভারলাইন সূচকটি যখন সংকেত দেয় তখনই বাজারটি ত্রি-ওভারলাইন সূচকটির একাধিক বা খালি অবস্থার সাথে সামঞ্জস্যপূর্ণ হয় এবং যখন এলোমেলো সূচকটি ওভারবই ওভারসেল প্রদর্শন করে না তখনই সত্যিকারের ট্রেডিং নির্দেশ জারি করা হয়।

সুবিধা

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

ঝুঁকি ও প্রতিকার

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

  1. ইন্ডিকেটর প্যারামিটারগুলিকে অপ্টিমাইজ করুন, ডাবল গড় এবং থ্রি-ইনডেক্স গড়ের সময়কালের সমন্বয়গুলিকে বাজারের বৈশিষ্ট্যগুলির সাথে আরও মিলিয়ে তুলুন।

  2. আরও সূচক সহ CANCEL অপারেশন করুন, বাজারটি তীব্র ওঠানামা হওয়ার পরে বর্তমান লেনদেন স্থগিত করুন।

  3. সংক্ষিপ্ত লাইন মাল্টি-হেড কৌশল অবলম্বন করুন, লম্বা লাইন মাল্টি-হেড বাজারে স্বল্পমেয়াদী সুযোগের জন্য লাভের জন্য।

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

এই কৌশলটি মূলত নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. ডাবল গড় এবং ত্রি-সূচক গড়ের পর্যায়ের প্যারামিটারগুলিকে সামঞ্জস্য করুন, বাজার বৈশিষ্ট্য অনুসারে সূচকগুলিকে অনুকূলিত করুন।

  2. ভলিউম এবং ম্যাকডের মতো সূচকগুলিকে বাড়িয়ে তুলুন, যাতে মূল্যের অস্বাভাবিকতা ভুল সংকেত না দেয়।

  3. ট্রেন্ডিংয়ের ক্ষেত্রে, ক্যান্ডেল মোড ব্যবহার করা হয়, যা ট্রেন্ডিংয়ের ক্ষেত্রে আরও কার্যকর, এবং স্বল্পমেয়াদী প্রত্যাহারের পরে ভুল সংকেত এড়াতে সাহায্য করে।

  4. স্টক, ফরেক্স ইত্যাদির মতো আরও কিছু প্রজাতির জন্য প্রসারিত করুন এবং কৌশলগুলির উপযুক্ততা পরীক্ষা করুন।

  5. ভিআইএক্স সূচকগুলির সাথে মিলিত হয়ে সামগ্রিক বাজার ওঠানামার হার নির্ধারণ করুন এবং পজিশনের আকার নিয়ন্ত্রণ করুন।

সারসংক্ষেপ

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

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

//@version=5
strategy(title='5212 EMA Strategy', shorttitle='5212 EMA', overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=10, calc_on_every_tick=false)

//**Backtest Date sof
useStartPeriodTime  = input.bool(true                       , 'Start Date & Time'   , group='Date Range'    , inline='Start Period')
startPeriodTime     = input(timestamp('16 Apr 2021')   , ''                    , group='Date Range'    , inline='Start Period')
useEndPeriodTime    = input.bool(false                      , 'End Date & Time'     , group='Date Range'    , inline='End Period')
endPeriodTime       = input(timestamp('31 Dec 2222')   , ''                    , group='Date Range'    , inline='End Period')
enableHighlight     = input.bool(false                      , 'Highlight'           , group='Date Range'    , inline='Highlight')
highlightType       = input.string('Anchors'                , ''                    , group='Date Range'    , inline='Highlight'    , options=['Anchors', 'Background'])
highlightColor      = input.color(color.white               , ''                    , group='Date Range'    , inline='Highlight')
start = useStartPeriodTime ? startPeriodTime >= time : false
end = useEndPeriodTime ? endPeriodTime <= time : false
calcPeriod = true
// var line startAnchor    = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width=2)
// var line endAnchor      = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width=2)
// useBgcolor = false
// if enableHighlight
//     if highlightType == 'Anchors'
//         if useStartPeriodTime
//             line.set_xy1(startAnchor, startPeriodTime, low)
//             line.set_xy2(startAnchor, startPeriodTime, high)
//         if useEndPeriodTime
//             line.set_xy1(endAnchor, calcPeriod ? time : line.get_x1(endAnchor), low)
//             line.set_xy2(endAnchor, calcPeriod ? time : line.get_x1(endAnchor), high)

//     if highlightType == 'Background'
//         useBgcolor := true
//         useBgcolor

// bgcolor(useBgcolor and calcPeriod ? color.new(highlightColor,90) : na, editable=false)
//**Backtest Date eof

src         =input(close    , 'Source'      , group='Support')
showEMA     = input(true    , 'Show EMA'    , group='Support')

//**Stochastic RSI sof
smoothK     = input.int(6   , "K"               , group='Stochastic RSI'    , minval=1)
smoothD     = input.int(6   , "D"               , group='Stochastic RSI'    , minval=1)
lengthRSI   = input.int(28  , "RSI Length"      , group='Stochastic RSI'    , minval=1)
lengthStoch = input.int(28  , "Stoch Length"    , group='Stochastic RSI'    , minval=1)

rsi1    = ta.rsi(src, lengthRSI)
k       = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d       = ta.sma(k, smoothD)
//**STochastic RSI eof

//** EMA sof
emain01     = input.int(50  , "EMAma Girang"    , group='Moving Average Exponential'    , minval=1)
emain02     = input.int(100 , "EMAma Muda"      , group='Moving Average Exponential'    , minval=1)
emain03     = input.int(200 , "EMAma Tua"       , group='Moving Average Exponential'    , minval=1)

ema01 = ta.ema(src, emain01)
ema02 = ta.ema(src, emain02)
ema03 = ta.ema(src, emain03)
plot(showEMA ? ema01 : na, 'EMAma Girang'   , color = color.new(color.orange, 0))
plot(showEMA ? ema02 : na, 'EMAma Muda'     , color = color.new(color.blue, 0))
plot(showEMA ? ema03 : na, 'EMAma Tua'      , color = color.new(color.red, 0))
//** EMA eof

//**Condition sof
emaLong     = ema01 > ema02 and ema02 > ema03 and low > ema03
emaShort    = ema01 < ema02 and ema02 < ema03 and high < ema03

longCond    = ta.crossover(k,d) and k <= 23 and emaLong
shortCond   = ta.crossunder(k,d) and k >= 77 and emaShort

longClose   = ta.crossunder(k,d) and k <= 77
shortClose  = ta.crossover(k,d) and k >= 23
longCross   = ta.crossover(ema01, ema02)
shortCross  = ta.crossunder(ema01, ema02)
//**Condition eof

//**Strategy sof
if calcPeriod and longCond
    strategy.entry('long', strategy.long, when=longCond, comment='EN Long')
strategy.close('long', when=shortClose, comment='EX Long')
strategy.close('long', when=shortCross, comment='MD Short')

if calcPeriod and shortCond
    strategy.entry('short', strategy.short, when=shortCond, comment='EN Short')
strategy.close('short', when=longClose, comment='EX Short')
strategy.close('short', when=longCross, comment='MD Long')

if calcPeriod == false and ta.crossover(ema01, ema02) or ta.crossunder(ema01, ema02)
    strategy.cancel('long')
    strategy.cancel('short')
//**Strategy eof

//**Label sof
entryText       = str.tostring(strategy.position_avg_price, '##.###')
longText    = 'Long Entry : ' + entryText 
shortText   = 'Short Entry : ' + entryText
noTrade     = 'Sleeping Mode'

LongTrade = strategy.position_size > 0
ShortTrade = strategy.position_size < 0

Tekslabel = LongTrade ? longText : ShortTrade ? shortText : noTrade

xPosition = timenow + math.round(ta.change(time)*1)
yPosition = ta.highest(1)
labelColor = LongTrade ? color.new(color.aqua, 0) : ShortTrade ? color.new(color.red, 0) : color.new(color.gray, 0)
textColor   = LongTrade ? color.new(color.black, 0) : ShortTrade ? color.new(color.white, 0) : color.new(color.white, 0)

// lab_l = label.new(
//           xPosition, yPosition, Tekslabel,
//           color=labelColor, 
//           textcolor=textColor, 
//           style =  label.style_label_left,
//           textalign=text.align_left,
//           xloc=xloc.bar_time, yloc = yloc.price)

// label.delete(lab_l[1])
//**Strategy eof