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