ট্রিপল EMA ওভারলে ব্রেকআউট কৌশল


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

ট্রিপল EMA ওভারলে ব্রেকআউট কৌশল

ওভারভিউ

ট্রিপল ইএমএ ওভারল্যাপিং ব্রেকিং কৌশলটি ট্রেন্ডিংয়ের দিকনির্দেশের জন্য একটি ট্রিপল সূচক মুভিং এভারেজ সূচক ব্যবহার করে এবং ট্রেন্ডিং ব্রেকিং পয়েন্টে প্রবেশ করে। এই কৌশলটি একই সাথে কে-লাইন আকৃতির সিদ্ধান্তের সংকেতকে শক্তিশালী করে।

কৌশল নীতি

এই কৌশলটি মূলত নিম্নলিখিত নীতিগুলির উপর ভিত্তি করে তৈরি করা হয়েছেঃ

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

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

  3. K লাইন ফর্ম্যাটের সাথে মিলিত করে, একটি ব্রেকিং সিগন্যালের নির্ভরযোগ্যতা বিচার করুন। দ্বিতীয় K লাইন বন্ধের দামটি পূর্বের দিনের সর্বোচ্চ মূল্যের চেয়ে বেশি হলেই এটি নির্ভরযোগ্য ব্রেকিং হিসাবে বিবেচিত হয়।

  4. স্টপ লস পয়েন্ট সেট করুন এবং যুক্তিসঙ্গত ওঠানামা ছাড়িয়ে যাওয়ার ঝুঁকি এড়িয়ে চলুন।

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

  1. একাধিক ইএমএ সূচক ব্যবহার করে প্রবণতা নির্ধারণ করুন, যা সঠিকতা বাড়িয়ে তুলবে।

  2. অপ্রয়োজনীয় লেনদেনের ঝুঁকি এড়াতে K-লাইন আকৃতির ফিল্টারিংয়ের সাথে বিভ্রান্তিকর সংকেত যুক্ত করুন।

  3. স্টপ-অফ-লস পয়েন্ট সেট করুন এবং একক ক্ষতি কার্যকরভাবে নিয়ন্ত্রণ করুন।

কৌশলগত ঝুঁকি

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

  2. একক সূচক সংমিশ্রণ সহজ, জটিল পরিস্থিতিতে বিচারক দুর্বল।

  3. লেনদেনের খরচ না বিবেচনা করে, উচ্চ ফি বাজারে লাভজনক হতে পারে না।

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

  1. MACD, KDJ ইত্যাদির মতো অন্যান্য সূচকগুলি অন্তর্ভুক্ত করা যেতে পারে, যা সূচক প্যাকেজ গঠন করে, যা বিচারের নির্ভুলতা বাড়ায়।

  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)