EMA এবং লুকানো ডাইভারজেন্সের উপর ভিত্তি করে প্রবণতা অনুসরণ করা কৌশল


সৃষ্টির তারিখ: 2024-02-02 16:54:27 অবশেষে সংশোধন করুন: 2024-02-02 16:54:27
অনুলিপি: 0 ক্লিকের সংখ্যা: 833
1
ফোকাস
1617
অনুসারী

EMA এবং লুকানো ডাইভারজেন্সের উপর ভিত্তি করে প্রবণতা অনুসরণ করা কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. EMA গড়রেখার কৌশলঃ 50 পিরিয়ডের EMA গড়রেখার সাথে 250 পিরিয়ডের EMA গড়রেখার ব্যবহার করে স্বর্ণের ক্রস বিচার করার প্রবণতা, যখন 50 EMA অতিক্রম করা হয় তখন মূল্যকে মাল্টিহেড সংকেত হিসাবে বিবেচনা করা হয়।

  2. RSI লুকানো বিপর্যয় কৌশল: RSI সূচকটি নিম্ন নিম্নের দিকে এবং দামের উচ্চ নিম্নের দিকে লুকানো মাল্টি-হেড বিপর্যয় সংকেত দেখায়, যা বিপরীতের সূচনাকে নির্দেশ করে। সীমিত সংখ্যক বিপর্যয় পয়েন্টের সাথে কাজ করে, মিথ্যা সংকেতগুলি ফিল্টার করা যায়।

  3. K-লাইন বন্ধের কৌশলঃ K-লাইন বন্ধের দাম 50 EMA এর বেশি হলে পজিশন খুলুন।

উপরের তিনটি কৌশলকে একত্রিত করে দেখা যায় যে, ট্রেন্ডের জন্য বর্তমানে উচ্চতর পয়েন্ট রয়েছে, যার ফলে একাধিক পজিশন খোলা সম্ভব।

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

  1. EMA গড় লাইন ব্যবহার করে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করুন, আরএসআই সূচকের বিপরীত সংকেতের সাথে মিলিত হয়ে ট্রেন্ডের শুরুতে অবস্থান খুলুন।

  2. ডাবল কনফার্মেশন মেকানিজম, ইএমএ, আরএসআই এবং কে লাইনের সমাপ্তির দামের সমন্বয় ব্যবহার করে, কার্যকরভাবে মিথ্যা সংকেতগুলি ফিল্টার করতে পারে।

  3. মধ্যম এবং দীর্ঘ লাইন ট্রেন্ড অনুসরণ করুন, নতুন উত্থান প্রবণতা শুরু করার জন্য উপযুক্ত।

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

  1. EMA গড় লাইন একটি মৃত ফর্ক উত্পন্ন হলে, সময়মত প্লেইন করা প্রয়োজন।

  2. RSI লুকানো সিগন্যাল থেকে বিচ্যুত করার জন্য কিছু অভিজ্ঞতা প্রয়োজন, এবং ভুলভাবে সেট করা প্যারামিটারগুলি একটি সিগন্যাল মিস করতে পারে বা বিচারের ভুল করতে পারে।

  3. ট্রেডিং প্রজাতির জন্য প্যারামিটারগুলিকে অপ্টিমাইজ করা দরকার।

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

  1. EMA গড়ের প্যারামিটারগুলিকে গতিশীলভাবে সামঞ্জস্য করে, প্রবণতা বিচার করার সঠিকতা অনুকূলিতকরণ করে।

  2. আরএসআই প্যারামিটারগুলিকে সামঞ্জস্য করুন যাতে লুকানো বিচ্যুতির সঠিকতা অনুকূলিত করা যায়।

  3. ঝুঁকি কন্ট্রোলের জন্য ATR বা শতাংশ বন্ধের মতো ঝুঁকি কন্ট্রোলের জন্য একটি স্টপ ম্যানেজমেন্টে যোগদান করুন।

  4. একটি শূন্য ট্রেডিং কৌশল তৈরি করুন যা নিম্নমুখী প্রবণতা চলাকালীন একটি শূন্য শূন্য পজিশন খুলতে সক্ষম করে।

সারসংক্ষেপ

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

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

//@version=4

strategy(title="EMA RSI ATR Hidden Div Strat", shorttitle="Hidden Div Strat", overlay = true, pyramiding = 0, max_bars_back=3000, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital=5000, currency=currency.USD)

// Time Range
FromMonth=input(defval=1,title="FromMonth",minval=1,maxval=12)
FromDay=input(defval=1,title="FromDay",minval=1,maxval=31)
FromYear=input(defval=2020,title="FromYear",minval=2016)
ToMonth=input(defval=1,title="ToMonth",minval=1,maxval=12)
ToDay=input(defval=1,title="ToDay",minval=1,maxval=31)
ToYear=input(defval=9999,title="ToYear",minval=2017)
start=timestamp(FromYear,FromMonth,FromDay,00,00)
finish=timestamp(ToYear,ToMonth,ToDay,23,59)
window()=>true

// Bar's time happened on/after start date?
afterStartDate = time >= start and time<=finish?true:false

//EMA'S
emasrc = close

len1 = input(50, minval=1, title="EMA1")
ema1 = ema(emasrc, len1)
col1 = color.white

len2 = input(250, minval=1, title="EMA2")
ema2 = ema(emasrc, len2)
col2 = color.yellow

//Plots
plot(ema1, title="EMA1", linewidth=1, color=col1)
plot(ema2, title="EMA2", linewidth=1, color=col2)

//Stoch
periodK = input(4, title="K", minval=1)
periodD = input(4, title="D", minval=1)
smoothK = input(3, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

//Hidden Divergence Indikator

len = input(title="RSI Period", minval=1, defval=14)
src = input(title="RSI Source", defval=close)
lbR = input(title="Pivot Lookback Right", defval=1)
lbL = input(title="Pivot Lookback Left", defval=19)
rangeUpper = input(title="Max of Lookback Range", defval=20)
rangeLower = input(title="Min of Lookback Range", defval=4)
hiddenBullColor = color.new(color.green, 80)
textColor = color.white
noneColor = color.new(color.white, 100)
osc = rsi(src, len)

plFound = na(pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(pivothigh(osc, lbL, lbR)) ? false : true
_inRange(cond) =>
	bars = barssince(cond == true)
	rangeLower <= bars and bars <= rangeUpper

//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low

oscLL = osc[lbR] < valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Higher Low

priceHL = low[lbR] > valuewhen(plFound, low[lbR], 1)
hiddenBullCond = priceHL and oscLL and plFound

//buy Conditions
buyhiddenbull = hiddenBullCond[1] or hiddenBullCond[2] or hiddenBullCond[3] or hiddenBullCond[4] or hiddenBullCond[5] or hiddenBullCond[6] or hiddenBullCond[7] or hiddenBullCond[8] or hiddenBullCond[9] or hiddenBullCond[10]
emacondition = ema1 > ema2
upcondition = close[1] > ema1[1] and ema2[1] and close[2] > ema1[2] and ema2[2] and close[3] > ema1[3] and ema2[3]
crossup = k[0] >= d[0] and k[1] <= d[1]
longcondition = emacondition and upcondition and crossup and buyhiddenbull

if (afterStartDate)
    strategy.entry("Long", strategy.long, when = longcondition)

//TakeProfit, StopLoss lowest low
profitfactor = input(title="Profitfactor", type=input.float, step=0.1, defval=1.6)
loLen = input(title="Lowest Low Lookback", type=input.integer,
  defval=38, minval=2)
stop_level = lowest(low, loLen)[1]
bought = strategy.position_size[1] < strategy.position_size
barsbought = barssince(bought)

if strategy.position_size>0
    profit_level = strategy.position_avg_price + ((strategy.position_avg_price - stop_level[barsbought])*profitfactor)
    strategy.exit(id="TP/ SL", stop=stop_level[barsbought], limit=profit_level)