
یہ حکمت عملی ایک رجحان الٹ ٹریڈنگ سسٹم ہے جس میں متحرک اشارے ((MACD، RSI) اور ٹرانزیکشن حجم فلٹر شامل ہیں۔ رینج فلٹر متعارف کرانے کے ذریعے قیمت میں اتار چڑھاؤ کی نگرانی ، مارکیٹ کے اوپر اور نیچے کی عین مطابق گرفت کو یقینی بنانا۔ حکمت عملی میں روایتی تکنیکی اشارے کی بنیاد پر ٹرانزیکشن حجم کی تصدیق کا طریقہ کار شامل کیا گیا ہے ، جس سے تجارتی سگنل کی وشوسنییتا میں مؤثر اضافہ ہوتا ہے۔
اس حکمت عملی میں ٹریڈنگ کے لیے ایک سے زیادہ اشارے کی تصدیق کا طریقہ استعمال کیا گیا ہے۔
کثیر شرائط کے لئے ہم آہنگی کے محرکات مندرجہ ذیل ہیں:
رسک کنٹرول کی تجاویز:
اس حکمت عملی نے متعدد تکنیکی اشارے کے ہم آہنگی کے ساتھ کام کیا ہے ، جس سے ایک نسبتا complete مکمل رجحان الٹ ٹریڈنگ سسٹم تشکیل دیا گیا ہے۔ اس حکمت عملی کے بنیادی فوائد اس کے سخت سگنل فلٹرنگ میکانزم اور لچکدار پیرامیٹر ایڈجسٹمنٹ اسپیس میں ہیں۔ مسلسل اصلاح اور بہتری کے ذریعہ ، اس حکمت عملی کو مختلف مارکیٹ کے حالات میں مستحکم کارکردگی برقرار رکھنے کی امید ہے۔ عملی استعمال میں ، سرمایہ کاروں کو مشورہ دیا جاتا ہے کہ وہ حکمت عملی کے پیرامیٹرز کو اپنی خطرے کی ترجیحات اور مارکیٹ کے تجربے کے مطابق ہدف کے مطابق ایڈجسٹ کریں۔
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("MACD & RSI with Range and Volume Filter", overlay=true)
// Inputs for MACD
fastLength = input.int(12, title="MACD Fast Length")
slowLength = input.int(26, title="MACD Slow Length")
signalLength = input.int(9, title="MACD Signal Length")
// Inputs for RSI
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(80, title="RSI Overbought Level")
rsiOversold = input.int(40, title="RSI Oversold Level")
// Inputs for Range Filter
rangePeriod = input.int(100, minval=1, title="Range Filter Period")
rangeMultiplier = input.float(3.0, minval=0.1, title="Range Filter Multiplier")
// Inputs for Volume Filter
volumeMA_Period = input.int(20, minval=1, title="Volume MA Period")
// MACD Calculation
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
// RSI Calculation
rsi = ta.rsi(close, rsiLength)
// Smooth Average Range
smoothRange(src, period, multiplier) =>
avgRange = ta.ema(math.abs(src - src[1]), period)
ta.ema(avgRange, period * 2 - 1) * multiplier
smoothedRange = smoothRange(close, rangePeriod, rangeMultiplier)
rangeFilter = ta.ema(close, rangePeriod)
upperBand = rangeFilter + smoothedRange
lowerBand = rangeFilter - smoothedRange
// Range Filter Conditions
priceAboveRange = close > upperBand
priceBelowRange = close < lowerBand
// Volume Filter
volumeMA = ta.sma(volume, volumeMA_Period)
highVolume = volume > volumeMA
// Buy and Sell Conditions with Range and Volume Filter
buyCondition = ta.crossover(macdLine, signalLine) and rsi < rsiOversold and priceBelowRange and highVolume
sellCondition = ta.crossunder(macdLine, signalLine) and rsi > rsiOverbought and priceAboveRange and highVolume
// Strategy Execution
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Alerts for Buy and Sell Signals
alertcondition(buyCondition, title="Buy Signal", message="Buy Signal Triggered")
alertcondition(sellCondition, title="Sell Signal", message="Sell Signal Triggered")
// Plot Buy and Sell Signals
plotshape(buyCondition, title="Buy Signal", text="Buy", style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0))
plotshape(sellCondition, title="Sell Signal", text="Sell", style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0))
// Plot Range Filter Bands
plot(upperBand, color=color.new(color.blue, 50), title="Upper Range Band")
plot(lowerBand, color=color.new(color.orange, 50), title="Lower Range Band")