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