মিনি পুলব্যাক সুপারট্রেন্ড কৌশল

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

সারসংক্ষেপ

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

নীতিমালা

বর্তমান প্রবণতার দিকনির্দেশ এবং শক্তি নির্ধারণের জন্য কৌশলটি প্রথমে ইএমএ, এমএসিডি এবং আরএসআই গণনা করে।

এটি ৩টি EMA ব্যবহার করে (২১ পেরিডের শর্ট, ৫০ পেরিডের মিডিয়াম এবং ২০০ পেরিডের লং) । যখন শর্ট EMA মাঝারি এবং দীর্ঘ EMA এর উপরে অতিক্রম করে, তখন এটি একটি আপট্রেন্ডের সংকেত দেয়।

এমএসিডি প্রবণতা শক্তি বিচার করে। যখন এমএসিডি লাইন বা হিস্টোগ্রাম 0 লাইনের উপরে অতিক্রম করে, এটি আপট্রেন্ড শক্তি দেখায়।

আরএসআই নির্দেশ করে যে, ওভারকুপ/ওভারসোল্ড হয়েছে কিনা। আরএসআই 50 এর উপরে অতিক্রম করলে প্রত্যাহারের সমাপ্তি হতে পারে।

তারপর সুপারট্রেন্ড ইন্ডিকেটর পলব্যাকের নির্দিষ্ট কিনুন পয়েন্ট চিহ্নিত করে। এর ফ্লিপ নিচে থেকে উপরে থেকে কিনুন সংকেত দেয়।

অবশেষে, স্টপ লস এবং লাভের হার ATR এর উপর ভিত্তি করে নির্ধারিত হয়।

সুবিধা

  • একাধিক সূচক সংমিশ্রণ ব্যবহার করে আরো নির্ভরযোগ্য সংকেত।
  • উচ্চ বিজয় হার সহ ট্রেন্ডে স্বল্পমেয়াদী সুযোগগুলি ধরুন।
  • স্টপ লস/টেক প্রফিট দিয়ে কার্যকর ঝুঁকি নিয়ন্ত্রণ।

ঝুঁকি

  • দীর্ঘস্থায়ী প্রত্যাহারের ফলে দীর্ঘ ক্ষতি হতে পারে।
  • একাধিক সূচক প্যারামিটার টিউনিং জটিল করে তোলে।
  • স্টপ লস খুব বেশি হলে ক্ষতি বাড়তে পারে।

ঝুঁকি ব্যবস্থাপনাঃ

  • সূচক সমন্বয় জন্য পরামিতি অপ্টিমাইজ করুন.
  • বড় ক্ষতির বিরুদ্ধে স্টপ লস ঠিকমতো সামঞ্জস্য করুন।
  • দীর্ঘ সময় ধরে সরে যাওয়া স্টক এড়িয়ে চলুন।

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

  • সেরা সূচক মানের জন্য বিভিন্ন পরামিতি সমন্বয় পরীক্ষা করুন।
  • স্টপ লস/টেক প্রফিট এডজাস্ট করুন স্টক এর দৈনিক ওঠানামা এর ভিত্তিতে।
  • কম ভলিউম এড়ানোর জন্য ভলিউম সূচক যোগ করুন।

সিদ্ধান্ত

কৌশলটি প্রবণতা এবং পলব্যাক সনাক্তকরণের জন্য নির্ভরযোগ্যভাবে একাধিক সূচককে একত্রিত করে। কঠোর স্টপ লস প্রক্রিয়া ঝুঁকি নিয়ন্ত্রণ করে এবং সময়মত তরলীকরণের অনুমতি দেয়। ধ্রুবক পরামিতি এবং মহাবিশ্ব টিউনিং সহ, এটি ভাল রিটার্ন অর্জন করতে পারে।


/*backtest
start: 2022-10-06 00:00:00
end: 2023-10-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="pullb", overlay = true, initial_capital = 10000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity)

//variables

///emas var
ema_src = input.source(close, "EMA Source")
ema_1 = input.int(21, 'EMA 1 len')
ema_2 = input(50, 'EMA 2 len')
ema_3 = input(200, 'EMA 3 len')

///macd var
mac_src = input.source(close, "MACD Source")
mac_1 = input.int(12, 'MACD Fast')
mac_2 = input.int(26, 'MACD Signal')
mac_3 = input.int(9, 'MACD Histogram')

///rsi var
rsi_src = input.source(close, "RSI Source")
rsi_len = input.int(14, 'RSI Len')

///stoch var
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(3, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(14, "Stochastic Length", minval=1)
stoch_src = input(close, title="RSI Source Stoch")

//usage variables
ema_b = input.bool(true, "Use EMA Filter")
rsi_b = input.bool(true, "Use RSI Filter")
macd_b = input.bool(true, "Use MACD Filter")
//stoch_b = input(title="Use STOCH Filter", type=bool, defval=true)

//emaas
ema1 = ta.ema(ema_src, ema_1)
ema2 = ta.ema(ema_src, ema_2)
ema3 = ta.ema(ema_src, ema_3)

//macd
[macdLine, signalLine, histLine] = ta.macd(mac_src, mac_1, mac_2, mac_3)

//rsi
rsi = ta.rsi(rsi_src, rsi_len)

//stoch
rsi1 = ta.rsi(stoch_src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)

//supertrend
Periods = input.int(14, "ATR Period")
src_st = input.source(close, "Supertrend Source")
Multiplier = input.float(2.0 , "ATR Multiplier")
changeATR= input.bool(true, "Change ATR Calculation Method ?")
showsignals = input.bool(true, "Show Buy/Sell Signals ?")
highlighting = input.bool(true, "Highlighter On/Off ?")
atr2 = ta.sma(ta.tr, Periods)
atr3= changeATR ? ta.atr(Periods) : atr2
up=src_st-(Multiplier*atr3)
up1 = nz(up[1],up)
up := close[1] > up1 ? math.max(up,up1) : up
dn=src_st+(Multiplier*atr3)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
buySignal = trend == 1 and trend[1] == -1
sellSignal = trend == -1 and trend[1] == 1

//conditions
///buy
rsi_cond_b = if rsi_b
    rsi >= 50
else 
    true

macd_cond_b = if macd_b
    (histLine >= 0 or histLine < histLine[1])
else
    true
ema_cond_b = if ema_b
    (ema1 > ema2 and ema2 > ema3)
else 
    true

look_for = input.int(5, "Bars from cross to signal")

stoch_signal_sum = 0
for i = 0 to (look_for)
    if k[i] > d[i] and k[i + 1] < d[i + 1] and (k[i + 1] < 20 and d[i + 1] < 20)
        stoch_signal_sum := stoch_signal_sum + 1
        
stoch_cond_b = if stoch_signal_sum > 0
    if k > 80 and d > 80
        false
    else
        true
else
    false


sup_cond_b = buySignal

buy_sig = (rsi_cond_b and macd_cond_b and ema_cond_b and stoch_cond_b and sup_cond_b)

tp_b = close + (ta.atr(14) * 3)
sl_b = close - (ta.atr(14) * 1.5)

if (buy_sig)
    strategy.entry("long", strategy.long)
    strategy.exit("exit", "long", stop = sl_b, limit = tp_b)
plot(tp_b)
plot(sl_b)



আরো