یہ حکمت عملی ایک جامع تجارتی نظام ہے جس میں رشتہ دار طاقت انڈیکس (آر ایس آئی) ، حرکت پذیر اوسط کنورجنس تغیر (ایم اے سی ڈی) ، بولنگر بینڈ (بی بی) ، اور حجم تجزیہ شامل ہے۔ کثیر جہتی تکنیکی اشارے کے ہم آہنگی کے ذریعے ، حکمت عملی مارکیٹ کے رجحانات ، اتار چڑھاؤ اور حجم کا جامع تجزیہ کرتی ہے تاکہ بہترین تجارتی مواقع کی نشاندہی کی جاسکے۔
حکمت عملی کا بنیادی منطق مندرجہ ذیل پہلوؤں پر مبنی ہے:
یہ ایک جامع تجارتی حکمت عملی ہے جو متعدد تکنیکی اشارے کو مربوط کرتی ہے ، جس میں آر ایس آئی ، ایم اے سی ڈی ، اور حجم سمیت کثیر جہتی تجزیہ کے ذریعے مارکیٹ کے مواقع حاصل ہوتے ہیں۔ یہ حکمت عملی جامع رسک کنٹرول میکانزم کے ساتھ ساتھ مضبوط موافقت اور توسیع پذیری کا مظاہرہ کرتی ہے۔ مسلسل اصلاح اور بہتری کے ذریعے ، اس حکمت عملی میں مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی برقرار رکھنے کی صلاحیت ہے۔
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Liraz sh Strategy - RSI MACD Strategy with Bullish Engulfing and Net Volume", overlay=true, currency=currency.NONE, initial_capital=100000, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3) // Input parameters rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "RSI Source", group="RSI Settings") maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings") maLengthInput = input.int(14, title="MA Length", group="MA Settings") bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings") fastLength = input.int(12, minval=1, title="MACD Fast Length") slowLength = input.int(26, minval=1, title="MACD Slow Length") signalLength = input.int(9, minval=1, title="MACD Signal Length") startDate = input(timestamp("2018-01-01"), title="Start Date") endDate = input(timestamp("2069-12-31"), title="End Date") // Custom Up and Down Volume Calculation var float upVolume = 0.0 var float downVolume = 0.0 if close > open upVolume += volume else if close < open downVolume += volume delta = upVolume - downVolume plot(upVolume, "Up Volume", style=plot.style_columns, color=color.new(color.green, 60)) plot(downVolume, "Down Volume", style=plot.style_columns, color=color.new(color.red, 60)) plotchar(delta, "Delta", "—", location.absolute, color=delta > 0 ? color.green : color.red) // MA function ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "Bollinger Bands" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // RSI calculation up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput) down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiMA = ma(rsi, maLengthInput, maTypeInput) isBB = maTypeInput == "Bollinger Bands" // MACD calculation fastMA = ta.ema(close, fastLength) slowMA = ta.ema(close, slowLength) macd = fastMA - slowMA signalLine = ta.sma(macd, signalLength) hist = macd - signalLine // Bullish Engulfing Pattern Detection bullishEngulfingSignal = open[1] > close[1] and close > open and close >= open[1] and close[1] >= open and (close - open) > (open[1] - close[1]) barcolor(bullishEngulfingSignal ? color.yellow : na) // Plotting RSI and MACD plot(rsi, "RSI", color=#7E57C2) plot(rsiMA, "RSI-based MA", color=color.yellow) hline(70, "RSI Upper Band", color=#787B86) hline(50, "RSI Middle Band", color=color.new(#787B86, 50)) hline(30, "RSI Lower Band", color=#787B86) bbUpperBand = plot(isBB ? rsiMA + ta.stdev(rsi, maLengthInput) * bbMultInput : na, title="Upper Bollinger Band", color=color.green) bbLowerBand = plot(isBB ? rsiMA - ta.stdev(rsi, maLengthInput) * bbMultInput : na, title="Lower Bollinger Band", color=color.green) plot(macd, title="MACD", color=color.blue) plot(signalLine, title="Signal Line", color=color.orange) plot(hist, title="Histogram", style=plot.style_histogram, color=color.gray) // Best time to buy condition bestBuyCondition = rsi < 30 and ta.crossover(macd, signalLine) and delta > 0 // Plotting the best buy signal line var line bestBuyLine = na if (bestBuyCondition ) bestBuyLine := line.new(bar_index[1], close[1], bar_index[0], close[0], color=color.white) // Strategy logic longCondition = (ta.crossover(macd, signalLine) or bullishEngulfingSignal) and rsi < 70 and delta > 0 if (longCondition ) strategy.entry("Long", strategy.long) // Reflexive exit condition: Exit if MACD crosses below its signal line or if RSI rises above 60 exitCondition = ta.crossunder(macd, signalLine) or (rsi > 60 and strategy.position_size > 0) if (exitCondition ) strategy.close("Long")