اس حکمت عملی کا مقصد مختصر مدت کے فاریکس رجحانات کو پکڑنا ہے ، ای ایم اے کراس اور آر ایس آئی کو بطور تجارتی سگنل استعمال کرنا ہے ، اور اے ڈی ایکس فلٹر کے ساتھ مل کر ، منافع کو مقفل کرنے کے لئے رجحان سے باخبر رہنے والے اسٹاپ نقصان کا استعمال کرتے ہوئے داخل ہوتا ہے۔ یہ حکمت عملی تمام کرنسی کے جوڑوں پر لاگو ہوتی ہے ، لیکن بنیادی طور پر 1 گھنٹے کے چارٹ پر لاگو ہوتی ہے۔
یہ حکمت عملی مندرجہ ذیل اشارے اور شرائط پر مبنی ٹریڈنگ سگنل بناتی ہے:
ٹریڈنگ میں داخل ہونے کا اشارہ:
باہر نکلنے کا اشارہ:
اس حکمت عملی میں اوسط لائن کراسنگ ، آر ایس آئی اوور خرید اوور فروخت ، اور اے ڈی ایکس رجحان سازی کے اشارے کا استعمال کیا گیا ہے ، جس سے ایک سخت اندراج کا طریقہ کار تشکیل دیا گیا ہے ، جس میں رجحان پیدا ہونے کے بعد منافع کو مقفل کرنے کے لئے اسٹاپ نقصانات کی پیروی کی جاسکتی ہے ، تاکہ قلیل مدتی رجحانات کو مؤثر طریقے سے پکڑ سکے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
ای ایم اے تیز اور سست لائنوں کے کراسنگ کو بنیاد کے طور پر استعمال کرتے ہوئے رجحان کا تعین کریں ، تیز لائن اوپر کی طرف سے سست لائنوں کے کراسنگ میں تیزی کا رجحان ظاہر ہوتا ہے ، اور نیچے کی طرف سے کراسنگ میں کمی ہوتی ہے ، جس سے رجحان میں تبدیلی کی نشاندہی کی جاسکتی ہے۔
آر ایس آئی اشارے میں شامل ہونے سے کچھ جھوٹے بریک سگنل کو فلٹر کیا جاسکتا ہے۔ آر ایس آئی اوور بیئر اوور سیل زون کو قلیل مدتی ایڈجسٹمنٹ سگنل کے طور پر دیکھتا ہے ، جس سے زلزلے کی منڈیوں میں غیر ضروری طور پر داخل ہونے سے بچا جاسکتا ہے۔
ADX اشارے کو حقیقی رجحان کی موجودگی کا فیصلہ کرنے کے لئے استعمال کیا جاتا ہے ، جو کچھ شور کو مؤثر طریقے سے فلٹر کرتا ہے۔ تجارتی سگنل کو صرف اس وقت غور کیا جاتا ہے جب ADX کی قیمت 25 سے زیادہ ہو ، اس طرح واضح رجحان کی موجودگی کو یقینی بنایا جاتا ہے۔
منافع کو زیادہ سے زیادہ کرنے کے لئے متحرک اسٹاپ اور اسٹاپ کا طریقہ اپنائیں ، اسٹاپ گارنٹی کا خطرہ قابو میں رکھیں ، اسٹاپ فاصلہ 150 پوائنٹس ، اسٹاپ فاصلہ 400 پوائنٹس پر عمل کریں ، اور رجحانات کو مستقل طور پر ٹریک کریں۔
ہر جمعہ کو مارکیٹ بند ہونے سے پہلے تمام پوزیشنوں کو صاف کریں ، ہفتے کے آخر میں مختلف خطرات سے بچیں ، اور آپریشن کی باقاعدگی کو برقرار رکھیں۔
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
ای ایم اے اوسط لائن کراسنگ حکمت عملی جھوٹے بریک سگنل پیدا کرنے کے لئے آسان ہے ، ورچوئلائزیشن نقصان دہ ہوسکتی ہے۔ آپ اوسط لائن پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کرسکتے ہیں ، یا دوسرے اشارے میں شامل فلٹر کرسکتے ہیں۔
آر ایس آئی صرف اوورلوڈ اوورلوڈ کی حیثیت کا فیصلہ کرسکتا ہے ، رجحان کی واپسی کی تصدیق نہیں کرسکتا ہے۔ بصری طور پر رجحان سے محروم ہوسکتا ہے یا واپسی میں داخل ہوسکتا ہے۔ آپ کو دوسرے اشارے کے ساتھ استعمال کرنے یا پیرامیٹرز کو ایڈجسٹ کرنے پر غور کرنا چاہئے۔
ADX صرف اس بات کا تعین کرتا ہے کہ آیا رجحان موجود ہے یا نہیں۔ داخلہ کا وقت غیر درست ہوسکتا ہے ، اور اس کے علاوہ دیگر فیصلوں کو شامل کرنے یا ADX فلٹرنگ کی شرائط کو کم کرنے پر غور کیا جاسکتا ہے۔
اسٹاپ نقصان کی روک تھام کی ترتیبات مارکیٹ میں ہونے والی تبدیلیوں کے مطابق ہونے کے لئے بہت زیادہ فکسڈ ہوسکتی ہیں ، جس میں مختلف پیرامیٹرز کی جانچ کی جاسکتی ہے یا بروقت دستی مداخلت کی ایڈجسٹمنٹ کی جاسکتی ہے۔
ہفتہ وار لازمی طور پر پلے آؤٹ کرنے سے ٹرینڈ چلانے کے اچھے مواقع ضائع ہوسکتے ہیں ، جس میں روزانہ بند ہونے یا بعد میں مشروط پلے آؤٹ میں ترمیم کرنے پر غور کیا جاسکتا ہے۔
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
مختلف اوسط لکیری پیرامیٹرز کے مجموعے کی جانچ کریں ، بہترین اوسط لکیری لمبائی تلاش کریں۔ اوسط لکیری کی جھکاؤ کا تعین کرنے کے لئے اس کا تعین کیا جاسکتا ہے۔
مختلف آر ایس آئی پیرامیٹرز کو آزمائیں یا کے ڈی جے اشارے کے ساتھ جوڑیں ، اور زیادہ خریدنے اور زیادہ فروخت کرنے کے فیصلے کو مزید بہتر بنائیں۔
ADX پیرامیٹرز کو بہتر بنائیں ، ADX فلٹرنگ کے زیادہ مناسب حالات تلاش کریں ، اور داخلے کے معیار کو بہتر بنائیں
اے ٹی آر متحرک ٹریکنگ سٹاپ کے ساتھ موبائل سٹاپ سٹاپ کے فکسڈ پوائنٹس کے مجموعہ کا استعمال۔
دن کے اندر اندر توڑنے کی حکمت عملی متعارف کروائیں ، رجحان کی تصدیق کے بعد داخل ہوں ، 5 منٹ یا 15 منٹ کے چارٹ پر غور کریں۔
مارکیٹ کے اتار چڑھاو کے مطابق پوزیشنوں کو متحرک طور پر ایڈجسٹ کرنے کے لئے پوزیشن مینجمنٹ ماڈیول شامل کریں
مشین لرننگ ٹیکنالوجی کو آزمائیں تاکہ پیرامیٹرز کو خود بخود بہتر بنایا جاسکے ، تاکہ حکمت عملی کو اپنانے کے قابل بنایا جاسکے
یہ حکمت عملی مجموعی طور پر ایک بہت ہی آسان براہ راست رجحان کی پیروی کی حکمت عملی ہے ، جس میں رجحان کی سمت کا تعین کرنے کے لئے اوسطا لائن کراس کا استعمال کیا جاتا ہے ، آر ایس آئی فلٹر جھوٹی توڑ ، اے ڈی ایکس کا فیصلہ رجحان موجود ہے ، اسٹاپ اور اسٹاپ نقصان کو مستقل طور پر رجحان کی پیروی کرنے کے لئے ، قلیل مدتی منافع پر قبضہ کریں۔ حکمت عملی کی اصلاح کی سمت بنیادی طور پر بہتر اشارے کا مجموعہ ڈھونڈنے ، رجحان کا فیصلہ کرنے کی لچک کو حاصل کرنے ، اور متحرک پوزیشن مینجمنٹ کو متعارف کرانے میں ہے۔ کوڈ کے منطقی تجزیہ کے ذریعہ ، اس حکمت عملی میں کچھ قابل عمل ہے ، لیکن اس کو عملی طور پر لاگو کرنے کے لئے مزید جانچ اور اصلاح کی ضرورت ہے۔
/*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)