یہ حکمت عملی متعدد اشارے جیسے ای ایم اے ، ایم اے سی ڈی ، وی ڈبلیو اے پی ، اور آر ایس آئی کو یکجا کرتی ہے تاکہ اعلی امکانات والے تجارتی مواقع کو حاصل کیا جاسکے۔ یہ رجحان کی سمت ، ایم اے سی ڈی کے لئے رفتار ، وی ڈبلیو اے پی کے لئے حجم ، اور اوور بک اور اوور سیلڈ حالات کے لئے آر ایس آئی کا تعین کرنے کے لئے ای ایم اے کا استعمال کرتی ہے۔ یہ حکمت عملی منافع کی حفاظت کے لئے ٹریلنگ اسٹاپ نقصان کا استعمال کرتے ہوئے ان اشارے کے امتزاج کی بنیاد پر خرید و فروخت کے سگنل تیار کرتی ہے۔
اس حکمت عملی میں مارکیٹ کے حالات کا اندازہ کرنے اور منافع کو بچانے کے لئے ٹریلنگ اسٹاپ نقصان کا استعمال کرتے ہوئے تجارتی سگنل پیدا کرنے کے لئے متعدد اشارے شامل ہیں۔ حکمت عملی کے پیرامیٹرز کو صارف کی ترجیحات کے مطابق ایڈجسٹ کیا جاسکتا ہے ، جس سے حکمت عملی کی لچک میں اضافہ ہوتا ہے۔ تاہم ، اس حکمت عملی کو ہلکی مارکیٹوں میں ناقص کارکردگی کا مظاہرہ کرنا پڑ سکتا ہے اور رجحانات کے الٹ جانے کے دوران بڑے پیمانے پر کمی کا سامنا کرنا پڑتا ہے ، لہذا اسے مختلف مارکیٹوں اور آلات کے لئے بہتر بنانے اور بہتر بنانے کی ضرورت ہے۔ مستقبل میں اصلاحات میں حکمت عملی کے استحکام اور منافع بخش ہونے کے ل more مزید فلٹرنگ حالات ، متحرک اسٹاپ نقصان کے طریقوں ، پیرامیٹر کی اصلاح ، اور پوزیشن سائزنگ کو شامل کرنے پر غور کیا جاسکتا ہے۔
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Intraday Strategy", overlay=true) // Input parameters emaLength = input.int(50, title="EMA Length") macdShort = input.int(12, title="MACD Short Period") macdLong = input.int(26, title="MACD Long Period") macdSignal = input.int(9, title="MACD Signal Period") rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(70, title="RSI Overbought Level") rsiOversold = input.int(30, title="RSI Oversold Level") risk = input.float(1, title="Risk Percentage", minval=0.1, step=0.1) trailOffset = input.float(0.5, title="Trailing Stop Offset", minval=0.1, step=0.1) // Calculating indicators ema = ta.ema(close, emaLength) [macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal) rsi = ta.rsi(close, rsiLength) vwap = ta.vwap(close) // Entry conditions longCondition = ta.crossover(macdLine, signalLine) and close > ema and rsi < rsiOverbought and close > vwap shortCondition = ta.crossunder(macdLine, signalLine) and close < ema and rsi > rsiOversold and close < vwap // Exit conditions longExitCondition = ta.crossunder(macdLine, signalLine) or close < ema shortExitCondition = ta.crossover(macdLine, signalLine) or close > ema // Position sizing based on risk percentage capital = strategy.equity positionSize = (capital * (risk / 100)) / close // Executing trades if (longCondition) strategy.entry("Long", strategy.long, qty=1) if (shortCondition) strategy.entry("Short", strategy.short, qty=1) if (longExitCondition) strategy.close("Long") if (shortExitCondition) strategy.close("Short") // Trailing stop loss if (strategy.position_size > 0) strategy.exit("Trailing Stop Long", from_entry="Long", trail_price=close, trail_offset=trailOffset) if (strategy.position_size < 0) strategy.exit("Trailing Stop Short", from_entry="Short", trail_price=close, trail_offset=trailOffset) // Plotting indicators plot(ema, title="EMA", color=color.blue) hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, title="RSI", color=color.purple) plot(vwap, title="VWAP", color=color.orange)