রিসোর্স লোড হচ্ছে... লোডিং...

Hull Moving Average সহ মাল্টি-টাইমফ্রেম Bollinger Momentum Breakout কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-১১-২৯ ১৭ঃ০০ঃ০০
ট্যাগঃভিডব্লিউএমএএইচএমএবি বিএমটিএফআরএসআই

img

সারসংক্ষেপ

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

কৌশলগত নীতি

মূল যুক্তি একাধিক প্রযুক্তিগত সূচকগুলির ক্রস-নিশ্চিতকরণের উপর ভিত্তি করে। কৌশলটি 5 মিনিটের ভিডাব্লুএমএ, 1 ঘন্টা ভিডাব্লুএমএ এবং 3 ঘন্টা এইচএমএ সহ একাধিক সময়সীমার বিভিন্ন চলমান গড়ের সাথে মূল্য সম্পর্ক পর্যবেক্ষণ করে। দীর্ঘ সংকেতগুলি উত্পন্ন হয় যখন দামটি সমস্ত সময়সীমার সূচকগুলির উপরে থাকাকালীন উপরের প্রান্তিকের উপরে ভঙ্গ করে; বিপরীতভাবে, সংক্ষিপ্ত সংকেতগুলি ঘটে যখন দামটি নীচের প্রান্তিকের নীচে ভঙ্গ করে যখন সমস্ত সূচকগুলির নীচে থাকে। কৌশলটি গতিশীল প্রবেশ এবং প্রস্থান প্রান্তিক সেট করার জন্য বিচ্যুতি গণনা অন্তর্ভুক্ত করে, ট্রেডিং নমনীয়তা বাড়ায়।

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

  1. মাল্টি-টাইমফ্রেম বিশ্লেষণ মিথ্যা ব্রেকআউটের ঝুঁকি হ্রাস করে এবং সংকেতের নির্ভরযোগ্যতা উন্নত করে
  2. ডায়নামিক স্টপ লস এবং টেক লাভ সেটিং বিভিন্ন বাজারের অবস্থার সাথে খাপ খায়
  3. অ্যাকাউন্ট ইক্যুইটি ভিত্তিক পজিশন সাইজিং যুক্তিসঙ্গত মূলধন ব্যবহার নিশ্চিত করে
  4. একাধিক প্রস্থান প্রক্রিয়া কৌশল অভিযোজনযোগ্যতা প্রদান করে
  5. গ্রাফিকাল ইন্টারফেস বিশ্লেষণের জন্য স্পষ্ট ট্রেডিং সংকেত ভিজ্যুয়ালাইজেশন উপলব্ধ করা হয়
  6. একাধিক পরিপক্ক প্রযুক্তিগত সূচক একীভূত করা ট্রেডিং সিদ্ধান্তের নির্ভুলতা বাড়ায়

কৌশলগত ঝুঁকি

  1. একাধিক সূচক বিলম্বিত ট্রেডিং সংকেত হতে পারে
  2. বিভিন্ন বাজারে প্রায়শই মিথ্যা ব্রেকআউট হতে পারে
  3. নির্দিষ্ট স্টপ লস এবং লাভ নেওয়ার অনুপাত সব বাজার অবস্থার জন্য উপযুক্ত নাও হতে পারে
  4. মাল্টি-টাইমফ্রেম ডেটা প্রসেসিং কৌশল জটিলতা বৃদ্ধি করতে পারে
  5. অস্থির বাজারে উচ্চ স্লাইপ ঝুঁকি

অপ্টিমাইজেশান নির্দেশাবলী

  1. ডায়নামিক স্টপ লস এবং লাভ গ্রহণের জন্য অস্থিরতা সূচক প্রবর্তন
  2. প্যারামিটার অভিযোজনের জন্য বাজার অবস্থার স্বীকৃতি যোগ করুন
  3. মিথ্যা ব্রেকআউট ক্ষতি হ্রাস করার জন্য সংকেত ফিল্টারিং অপ্টিমাইজ করুন
  4. ব্রেকআউট সিগন্যালের নির্ভরযোগ্যতা উন্নত করার জন্য ভলিউম বিশ্লেষণ অন্তর্ভুক্ত করুন
  5. উন্নত স্থিতিশীলতার জন্য অভিযোজিত পরামিতি অপ্টিমাইজেশান প্রক্রিয়া বিকাশ

সংক্ষিপ্তসার

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("1H- 280, 2.7", overlay=true)


// Fetch the indicator values from different timeframes
vwma5 = request.security(syminfo.tickerid, "5", ta.wma(close, 233), lookahead = barmerge.lookahead_off)
vwma_hourly = request.security(syminfo.tickerid, "60", ta.wma(close, 89), lookahead = barmerge.lookahead_off)
hullma155_3h = request.security(syminfo.tickerid, "180", ta.hma(close, 155), lookahead = barmerge.lookahead_off)


// Calculate the deviation value
deviation = close * 0.032


// Initialize the signal variables
var float signalLine = na
var color lineColor = na


// Long Entry Conditions
longCondition_5min = close > vwma5
longCondition_hourly = close > vwma_hourly
longCondition_3h = close > hullma155_3h


// Short Entry Conditions
shortCondition_5min = close < vwma5
shortCondition_hourly = close < vwma_hourly
shortCondition_3h = close < hullma155_3h


// Long Entry
if longCondition_5min and longCondition_hourly and longCondition_3h
    signalLine := close + deviation
    lineColor := color.rgb(0, 255, 0, 1)


// Short Entry
if shortCondition_5min and shortCondition_hourly and shortCondition_3h
    signalLine := close - deviation
    lineColor := color.rgb(255, 0, 0, 1)


// Plotting the connecting line
plot(signalLine, title="Signal Line", color=lineColor, linewidth=1, style=plot.style_line)


// Colorize the signal line
bgcolor(signalLine > close ? color.rgb(0, 255, 0, 99) : color.rgb(255, 0, 0, 99), transp=90)



// Strategy settings
useTPSL = input(true, "Use TP/SL for closing long positions?")
useDownbreakOutbreak = input(false, "Use Downbreak and Outbreak for closing positions?")
useM7FClosing = input(false, "Use M7F Signal for closing positions?")


length1 = input.int(280, minval=1)
src = input(close, title="Source")
mult = input.float(2.7, minval=0.001, maxval=50, title="StdDev")


basis = ta.vwma(src, length1)
dev = mult * ta.stdev(src, length1)
upper = basis + dev
lower = basis - dev


offset = input.int(0, "Offset", minval = -500, maxval = 500)


length2 = input.int(55, minval=1)
src2 = input(close, title="Source")
hullma = ta.wma(2 * ta.wma(src2, length2 / 2) - ta.wma(src2, length2), math.floor(math.sqrt(length2)))


hullmacrosslower = ta.crossover(hullma, lower)
hullmacrossupper = ta.crossunder(hullma, upper)


breakout = ta.crossover(ohlc4, upper)
breakdown = ta.crossunder(ohlc4, upper)
outbreak = ta.crossover(ohlc4, lower)
downbreak = ta.crossunder(ohlc4, lower)


// Calculate position size and leverage
margin_pct = 1
leverage = 1
position_size = strategy.equity * margin_pct
qty = position_size / close / leverage


// Define take profit and stop loss levels
take_profit = 0.14
stop_loss = 0.06


// Opening a long position
if breakout
    strategy.entry("Long", strategy.long, qty, limit=close*(1+take_profit), stop=close*(1-stop_loss))


// Opening a short position
if downbreak
    strategy.entry("Short", strategy.short, qty, limit=close*(1-take_profit), stop=close*(1+stop_loss))


// Closing positions based on chosen method
if useTPSL
    // Using TP/SL for closing long positions
    if strategy.position_size > 0 and breakdown
        strategy.close("Long", comment="Breakdown")
else if useDownbreakOutbreak
    // Using Downbreak and Outbreak for closing positions
    if strategy.position_size > 0 and (breakdown or downbreak)
        strategy.close("Long", comment="Breakdown")
    if strategy.position_size < 0 and (outbreak or downbreak)
        strategy.close("Short", comment="Outbreak")
else if useM7FClosing
    // Using M7F Signal for closing positions
    if strategy.position_size > 0 and (signalLine < close)
        strategy.close("Long", comment="M7F Signal")
    if strategy.position_size < 0 and (signalLine > close)
        strategy.close("Short", comment="M7F Signal")


// Plotting entry signals
plotshape(hullmacrosslower, title="High Bear Volatility", style=shape.arrowup, text="^^^^^", color=color.rgb(75, 202, 79), location=location.belowbar)
plotshape(hullmacrossupper, title="High Bull Volatility", style=shape.arrowdown, text="-----", color=color.rgb(215, 72, 72), location=location.abovebar)
plotshape(breakout ? 1 : na, title="Breakout", style=shape.arrowup, text="", color=color.rgb(75, 202, 79), location=location.belowbar, size=size.tiny)
plotshape(breakdown ? 1 : na, title="Breakdown", style=shape.arrowdown, text="", color=color.rgb(201, 71, 71), location=location.abovebar, size=size.tiny)
plotshape(outbreak ? 1 : na, title="Outbreak", style=shape.arrowup, text="", color=color.rgb(0, 110, 255), location=location.belowbar, size=size.tiny)
plotshape(downbreak ? 1 : na, title="Downbreak", style=shape.arrowdown, text="", color=color.rgb(255, 111, 0), location=location.abovebar, size=size.tiny)


সম্পর্কিত

আরো