এইচএলএইচবি ট্রেন্ড-ক্যাচার কৌশল

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

সারসংক্ষেপ

কৌশলটি EMA ক্রসওভার এবং RSI ব্যবহার করে ট্রেডিং সংকেত হিসাবে স্বল্পমেয়াদী ফরেক্স প্রবণতা ধরার লক্ষ্য রাখে, ট্রেডগুলিতে প্রবেশের জন্য ADX ফিল্টার এবং লাভে লক করার জন্য স্টপ লস অনুসরণ করে। কৌশলটি সমস্ত মুদ্রা জোড়ায় প্রয়োগ করা যেতে পারে, তবে মূলত প্রধান জোড়ার 1 ঘন্টা চার্টে ব্যবহৃত হয়।

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

ট্রেডিং সিগন্যাল তৈরির জন্য কৌশলটি নিম্নলিখিত সূচক এবং শর্তগুলির উপর ভিত্তি করেঃ

  • ৫ পেরিওড ফাস্ট ইএমএঃ নীল রেখা
  • ১০ পেরিওড ধীর EMA: লাল রেখা
  • ১০ পেরিওড আরএসআই প্রয়োগ করা হয় মধ্যম মূল্যের উপর (এইচ+এল) /২
  • ১৪ পেরিওড এডিএক্স

প্রবেশ সংকেত:

  • দীর্ঘঃ যখন দ্রুত EMA নীচে থেকে ধীর EMA এর উপরে অতিক্রম করে এবং RSI নীচে থেকে 50 এর উপরে অতিক্রম করে
  • সংক্ষিপ্তঃ যখন দ্রুত EMA উপরে থেকে ধীর EMA এর নীচে অতিক্রম করে এবং RSI উপরে থেকে 50 এর নীচে অতিক্রম করে
  • কেবলমাত্র যখন ADX > 25 হয় তখনই সংকেত গ্রহণ করুন

সরে যাওয়ার সিগন্যালঃ

  • ট্রেলিং স্টপ লস ব্যবহার করুন, 150 পিপস ট্রেল দূরত্ব এবং 400 পিপস লাভ নিন
  • নতুন সংকেত পাওয়া গেলে ট্রেড বন্ধ করুন
  • সপ্তাহের শেষের আগে সব ট্রেড বন্ধ করুন

এই কৌশলটি ইএমএ ক্রসওভার, আরএসআই ওভারবয়ড / ওভারসোল্ড এবং এডিএক্স ট্রেন্ড শক্তিকে একত্রিত করে দৃ entry় এন্ট্রি নিয়ম তৈরি করে। এটি গঠনের পরে প্রবণতা চালায় এবং মুনাফা সর্বাধিকীকরণ এবং ঝুঁকি নিয়ন্ত্রণের জন্য ট্রেলিং স্টপ ব্যবহার করে। সামগ্রিকভাবে এটি স্বল্পমেয়াদী প্রবণতা কার্যকরভাবে ধরার লক্ষ্য রাখে।

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

এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:

  1. প্রবণতা দিকের জন্য ইএমএ ক্রসওভার। উপরের ক্রস আপট্রেন্ডের পরামর্শ দেয় যখন নীচের ক্রস ডাউনট্রেন্ড। প্রবণতা পরিবর্তন সনাক্ত করতে পারে।

  2. আরএসআই যোগ করা কিছু মিথ্যা ব্রেকআউট সংকেত ফিল্টার করে। ওভারসোল্ড/ওভারকুপেড জোনগুলি স্বল্পমেয়াদী পলব্যাক নির্দেশ করে এবং ব্যাপ্তি বাজারে অপ্রয়োজনীয় প্রবেশ এড়ায়।

  3. ADX শুধুমাত্র ট্রেডিং সংকেত বিবেচনা যখন ADX > 25, একটি শক্তিশালী প্রবণতা গ্যারান্টি।

  4. স্টপ লস এবং লভ্যাংশ গ্রহণ করুন, ঝুঁকি নিয়ন্ত্রণের সাথে সাথে মুনাফা চলতে দিন। ১৫০ পিপস ট্রেল দূরত্ব এবং ৪০০ পিপস মুনাফা লক্ষ্যমাত্রা ধারাবাহিকভাবে প্রবণতা চালায়।

  5. সপ্তাহের শেষের আগে সব পজিশন বন্ধ করলে সপ্তাহান্তে ঝুঁকি এড়ানো যায় এবং ব্যবসায়ের নিয়মকানুন প্রয়োগ করা হয়।

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

এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ

  1. EMA ক্রসওভার সিস্টেমগুলি মিথ্যা ব্রেকআউট সংকেতগুলির জন্য প্রবণ, যা ক্ষতির দিকে পরিচালিত করে। EMA দৈর্ঘ্যগুলি সূক্ষ্মভাবে সামঞ্জস্য করুন বা অন্যান্য ফিল্টার যুক্ত করুন।

  2. আরএসআই শুধুমাত্র ওভারকুপ/ওভারসোল্ড মাত্রা চিহ্নিত করে, প্রবণতা বিপরীত নয়। প্রবণতা মিস বা বিপরীত হতে পারে। অন্যান্য সূচক সঙ্গে একত্রিত।

  3. এডিএক্স শুধু ট্রেন্ডের অস্তিত্বকে বিচার করে, এন্ট্রি টাইমিং বন্ধ হতে পারে। অন্য নিয়ম যোগ করুন অথবা এডিএক্সের থ্রেশহোল্ড কম করুন।

  4. নির্দিষ্ট স্টপ লস এবং লাভের মাত্রা বাজারের পরিবর্তনের সাথে মানিয়ে নিতে পারে না। বিভিন্ন পরামিতি বা ম্যানুয়াল হস্তক্ষেপ পরীক্ষা করুন।

  5. বাধ্যতামূলক সাপ্তাহিক বন্ধ ভাল প্রবণতা সুযোগ মিস করতে পারে।

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

কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ

  1. সর্বোত্তম দৈর্ঘ্য খুঁজে পেতে বিভিন্ন ইএমএ সমন্বয় পরীক্ষা করুন। যোগ করা প্রবণতা শক্তি জন্য ঢাল বিবেচনা করুন।

  2. বিভিন্ন আরএসআই প্যারামিটার চেষ্টা করুন অথবা আরও ভাল ওভারকুপেড/ওভারসোল্ড বিচারের জন্য কেডিজে এর সাথে একত্রিত করুন।

  3. আরও উপযুক্ত ফিল্টারিং এবং উচ্চতর এন্ট্রি মানের জন্য ADX পরামিতি অপ্টিমাইজ করুন।

  4. স্থির স্টপ এবং এটিআর-ভিত্তিক গতিশীল ট্রেলিংয়ের পরীক্ষার সমন্বয়।

  5. প্রবণতা নিশ্চিত হওয়ার পর ইনট্রা ডে ব্রেকআউট পলব্যাক এন্ট্রি যোগ করুন, যেমন কম সময়সীমা।

  6. বাজারের অস্থিরতার উপর ভিত্তি করে গতিশীল সমন্বয়ের জন্য অস্থিরতার ভিত্তিতে পজিশন সাইজিং চালু করা।

  7. অভিযোজনযোগ্যতার জন্য পরামিতিগুলি স্বয়ংক্রিয়ভাবে অনুকূল করার জন্য মেশিন লার্নিং কৌশলগুলি অনুসন্ধান করুন।

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

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


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

//@version=3
strategy("Hucklekiwi Pip - HLHB Trend-Catcher System", shorttitle="HLHB TCS", overlay=true,
  default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// -----------------------------------------------------------------------------
// HLHB Trend-Catcher System as described on BabyPips.com
//
// Strategy Author: Hucklekiwi Pip 
// Coded By: Backtest Rookies
// -----------------------------------------------------------------------------
//
// Refs:
//   - Original System: https://www.babypips.com/trading/forex-hlhb-system-explained
//   - Updated System: https://www.babypips.com/trading/forex-hlhb-system-20190311
//
//
// Description (From Hucklekiwi Pip)
// 
//   The HLHB System simply aims to catch short-term forex trends.
//   It is patterned after the Amazing Crossover System that Robopip once backtested.
//   In fact, it was one of his highest-scoring mechanical systems in 2014! 
//   The system can be applied to any pair, but since I’m into major pairs, 
//   I’m applying it to the 1-hour charts of EUR/USD and GBP/USD.
// -----------------------------------------------------------------------------
// STRATEGY REQUIREMENTS
// -----------------------------------------------------------------------------
//
// Setup
// -----
//  - EUR/USD 1-hour chart
//  - GBP/USD 1-hour chart
//  - 5 EMA: blue line
//  - 10 EMA: red line
//  - RSI (10) applied to the median price (HL/2)
//  - ADX (14)
//
// Entry
// -----
//  - BUY when the 5 EMA crosses above the 10 EMA from underneath and the RSI 
//    crosses above the 50.0 mark from the bottom.
//  - SELL when the 5 EMA crosses below the 10 EMA from the top and the RSI 
//    crosses below the 50.0 mark from the top.
//  - Make sure that the RSI did cross 50.0 from the top or bottom and not just 
//    ranging tightly around the level.
//  - ADX > 25 for Buy and Sells
//
// Exit
// ----
//  - Use a 50-pip trailing stop and a 200-pip profit target. This increases the 
//    chances of the system riding longer trends.
//  - Close the trade when a new signal materializes.
//  - Close all trades by the end of the week.
// 
// -----------------------------------------------------------------------------

// Strategy Varaibles
// -------------------
ema_fast_len = input(5, title='Fast EMA Length')
ema_slow_len = input(10 , title='Slow EMA Length')
rsi_len = input(10, title='Slow EMA Length')
session_end_hour = input(16, minval=0, maxval=23, title='Weekly Session End (Hour)')
session_end_minute = input(0, minval=0, maxval=59, title='Weekly Session End (Minute)')
// Targets taken from the update post which states 150 & 400 instead of 50 and 200.
profit_target = input(400, title='Profit Target (Pips/Points)')
trailing_stop_dist = input(150, title='Trailing Stop Distance (Pips/Points)')
adx_filt = input(true, title='User ADX Filter')
adx_min = input(25, minval=0, title='Minimum ADX Level')
adx_len = input(14, title="ADX Smoothing")
di_len = input(14, title="DI Length")

// Setup the Indicators
ema_fast = ema(close, ema_fast_len)
ema_slow = ema(close, ema_slow_len)
rsi_ind = rsi(close, rsi_len)

// ADX
adx_dirmov(len) =>
	up = change(high)
	down = -change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]

adx_adx(dilen, adxlen) =>
	[plus, minus] = adx_dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]

[adx_sig, adx_plus, adx_minus] = adx_adx(di_len, adx_len)


// Strategy Logic
ema_long_cross = crossover(ema_fast, ema_slow)
ema_short_cross = crossunder(ema_fast, ema_slow)
rsi_long_cross = crossover(rsi_ind, 50)
rsi_short_cross = crossunder(rsi_ind, 50)
adx_check = adx_filt ? adx_sig >= adx_min : true

longCondition = ema_long_cross and rsi_long_cross and adx_check
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ema_short_cross and rsi_short_cross and adx_check
if (shortCondition)
    strategy.entry("Short", strategy.short)

strategy.exit("SL/TP", "Long", profit=profit_target,  loss=trailing_stop_dist, trail_points=trailing_stop_dist)  
strategy.exit("SL/TP", "Short", profit=profit_target, loss=trailing_stop_dist, trail_points=trailing_stop_dist)  

// Friday = 6
// If we miss the hour for some reason (due to strange timeframe), then close immediately
// Else if we are on the closing hour, then check to see if we are on or passed the close minute
close_time = dayofweek == 6 ? 
  hour[0] > session_end_hour ? true :
  hour[0] == session_end_hour ?
      minute[0] >= session_end_minute :
  false : false

strategy.close_all(when=close_time)

// Plotting
plot(ema_fast, color=blue, title="Fast EMA")
plot(ema_slow, color=red, title="Slow EMA")

plotshape(rsi_long_cross, style=shape.triangleup, size=size.tiny, location=location.belowbar, color=green, title='RSI Long Cross Marker')
plotshape(rsi_short_cross, style=shape.triangledown, size=size.tiny, location=location.abovebar, color=red, title='RSI Short Cross Marker')

// ADX Filter Highlight
bgcolor(adx_filt and adx_check ? orange : na, transp=90)

আরো