ট্রিপল ইএমএ ক্রসওভার ব্রেকআউট কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-২৮
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

কৌশলটি মূলত নিম্নলিখিত নীতিগুলির উপর ভিত্তি করেঃ

  1. প্রধান, মধ্যমেয়াদী এবং স্বল্পমেয়াদী বাজার প্রবণতা নির্ধারণের জন্য বিভিন্ন সময়ের (২০০ দিন, ৫০ দিন, ২০ দিন) তিনটি EMA ব্যবহার করুন।

  2. যখন স্বল্পমেয়াদী ইএমএ (২০ দিনের) মধ্যমেয়াদী ইএমএ (৫০ দিনের) এর উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উৎপন্ন হয়। যখন এটি নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উৎপন্ন হয়।

  3. সিগন্যাল নির্ভরযোগ্যতা পরীক্ষা করার জন্য মোমবাতি প্যাটার্নগুলি একত্রিত করুন। কেবলমাত্র যখন দ্বিতীয় মোমবাতিটির বন্ধের দাম পূর্ববর্তী মোমবাতিটির উচ্চ (নিম্ন) দামের চেয়ে বেশি (নিম্ন) হয়, তখনই ব্রেকআউটকে নির্ভরযোগ্য বলে মনে করা হয়।

  4. যুক্তিসঙ্গত মূল্যের ওঠানামা ছাড়িয়ে ঝুঁকি সীমাবদ্ধ করার জন্য স্টপ লস এবং লাভের মাত্রা নির্ধারণ করুন।

সুবিধা বিশ্লেষণ

  1. একাধিক ইএমএ ব্যবহার করে ট্রেন্ড বিচার সঠিকতা উন্নত করে।

  2. ক্যান্ডেলস্টিক প্যাটার্নের মাধ্যমে ভুয়া সংকেত ফিল্টার করা অপ্রয়োজনীয় ট্রেডিং ঝুঁকি এড়ায়।

  3. স্টপ লস এবং লাভ গ্রহণ কার্যকরভাবে একক ট্রেড ক্ষতি নিয়ন্ত্রণ করে।

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

  1. বিভিন্ন বাজারে, ইএমএগুলি অত্যধিক মিথ্যা সংকেত তৈরি করতে পারে এবং বাজারের দিকনির্দেশনা নির্ধারণ করতে ব্যর্থ হয়।

  2. জটিল বাজারের পরিস্থিতিতে একক সূচক ব্যবস্থার সক্ষমতা সীমিত।

  3. এটি বাণিজ্য ব্যয়কে উপেক্ষা করে যা উচ্চ ফিযুক্ত বাজারে অলাভজনক হতে পারে।

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

  1. এমএসিডি এবং কেডিজে-র মতো অন্যান্য সূচক প্রবর্তন করে একক ব্যবস্থা গড়ে তোলা এবং বিচার সঠিকতা বৃদ্ধি করা।

  2. কৌশলটি আরও ভালভাবে ফিট করার জন্য নির্দিষ্ট প্রতীক এবং সময়সীমার জন্য ব্যাকটেস্টিংয়ের মাধ্যমে পরামিতিগুলি অনুকূল করুন।

  3. কম ভলিউমের জাল সংকেত এড়াতে ট্রেডিং ভলিউম বাড়ান।

সিদ্ধান্ত

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


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("GHG RETRACEMENT MODE 1", overlay=true)

entryLevel1 = input(0.5, "ENTRY LEVEL 1")
entryLevel2 = input(0.25, "ENTRY LEVEL 2")
entryLevel3 = input(0.0, "ENTRY LEVEL 3")

stopLevel = input(-0.35, "STOP LEVEL")
tpLevel = input(0.88, "TP LEVEL")
dontUseEma = input(false, "Don't Use EMA")


get_level(level, level100, level0) =>
    level * (level100 - level0) + level0

buySignal = close[2] < open[2] and close[1] > open[1] and close[0] > open[0] and high[0] > open[2] and high[1] < high[2]
sellSignal = close[2] > open[2] and close[1] < open[1] and close[0] < open[0] and low[0] < open[2] and low[1] > low[2]

if buySignal and (close[0] > ta.ema(close, 200) or dontUseEma)
    l = label.new(bar_index, na)
    entryPrice1 = get_level(entryLevel1, high[0], low[2])
    entryPrice2 = get_level(entryLevel2, high[0], low[2])
    entryPrice3 = get_level(entryLevel3, high[0], low[2])
    
    exitPrice = get_level(tpLevel, high[0], low[2])
    stopPrice = get_level(stopLevel, high[0], low[2])
    
    strategy.order("BUY 1", strategy.long, comment="BUY 1", limit=entryPrice1)
    strategy.exit("exit", "BUY 1", limit=high[0], stop=stopPrice)
    strategy.order("BUY 2", strategy.long, comment="BUY 2", limit=entryPrice2)
    strategy.exit("exit", "BUY 2", limit=high[0], stop=stopPrice)

    label.set_text(l, "Buy => " + str.tostring(close[2]) + "\nSL=> " + str.tostring(stopPrice) + "\nTP => " + str.tostring(exitPrice) )
    label.set_color(l, color.green)
    label.set_yloc(l, yloc.belowbar)
    label.set_style(l, label.style_label_up)
    
if sellSignal and (close[0] < ta.ema(close, 200) or dontUseEma)
    a = label.new(bar_index, na)
    entryPrice1 = get_level(entryLevel1, low[0], high[2])
    entryPrice2 = get_level(entryLevel2, low[0], high[2])
    entryPrice3 = get_level(entryLevel3, low[0], high[2])
    
    exitPrice = get_level(tpLevel, low[0], high[2])
    stopPrice = get_level(stopLevel,low[0], high[2])
    
    strategy.order("SELL 1", strategy.short, comment="SELL 1", limit=entryPrice1)
    strategy.exit("exit", "SELL 1", limit=low[0], stop=stopPrice) 
    strategy.order("SELL 2", strategy.short, comment="SELL 2", limit=entryPrice2)
    strategy.exit("exit", "SELL 2", limit=low[0], stop=stopPrice) 

    label.set_text(a,"Sell => " + str.tostring(close[2]) + "\nSL=> " + str.tostring(stopPrice) + "\nTP => " + str.tostring(exitPrice) )
    label.set_color(a, color.red)
    label.set_yloc(a, yloc.abovebar)
    label.set_style(a, label.style_label_down)
   


আরো