
یہ حکمت عملی بنیادی طور پر اعلی ترین ، کم ترین قیمتوں اور اشاریہ حرکت پذیر اوسطوں ((EMA) کا استعمال کرتی ہے تاکہ رجحان کی واپسی کی تصدیق کی جاسکے ، جس سے تجارتی سگنل پیدا ہوسکے۔ حکمت عملی پہلے مخصوص واپسی کی مدت میں اعلی ترین اور کم ترین قیمتوں کا حساب لگاتی ہے ، پھر یہ فیصلہ کرتی ہے کہ آیا موجودہ اختتامی قیمت اعلی ترین قیمت کے موازنہ کی کم ترین قیمت سے کم ہے ((بیڈ ریورسٹر کی تصدیق) یا کم ترین قیمت کے موازنہ کی اعلی ترین قیمت سے زیادہ ہے ((بیڈ ریورسٹر کی تصدیق) ۔ اگر ریورسٹر کی تصدیق کا اشارہ ہوتا ہے تو ، حکمت عملی اسی طرح کی پوزیشن کھولنے کا اشارہ پیدا کرتی ہے۔ اس حکمت عملی کا بنیادی فائدہ رجحان کی واپسی کو پکڑنے کے قابل ہونے کا موقع ہے ، جبکہ اس کا بنیادی خطرہ یہ ہے کہ ریورسٹر کی تصدیق کے اشارے کے بعد ، قیمت میں ایک طرفہ رجحان کی بجائے بار بار ہلچل پڑسکتی ہے۔
ایک سے زیادہ ٹائم فریم ریورس تصدیق کی تجارتی حکمت عملی اعلی ترین ، کم ترین قیمتوں اور ای ایم اے کے ذریعے رجحان کی واپسی کے ممکنہ مواقع کی نشاندہی کرتی ہے اور اسی طرح کی پوزیشن کھولنے کا اشارہ کرتی ہے۔ اس حکمت عملی کی خوبی یہ ہے کہ وہ رجحان کی واپسی کو پکڑ سکے ، لیکن اس میں بار بار تجارت اور خطرے پر قابو پانے کی کمی کا مسئلہ بھی موجود ہے۔ اسٹریٹجی کی کارکردگی اور استحکام کو مزید بہتر بنانے کے لئے اسٹاپ نقصان کی روک تھام کو متعارف کرانے ، دوسرے اشارے ، پیرامیٹرز کی اصلاح اور پوزیشن مینجمنٹ جیسے طریقوں کے ساتھ مل کر حکمت عملی کی کارکردگی اور استحکام کو مزید بہتر بنایا جاسکتا ہے۔ عملی استعمال میں ، حکمت عملی کے پیرامیٹرز اور خطرے سے متعلق اقدامات کو مخصوص تجارتی اقسام اور مارکیٹ کے ماحول کے مطابق ایڈجسٹ کرنے کی ضرورت ہے۔
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Reversal Confimation Strategy", overlay=true)
// Indicator inputs
lookback = input.int(50, 'Lookback Period', minval=1, step=1)
downColor = input(color.red, 'Shape Color Down')
upColor = input(color.green, 'Shape Color Up')
// Indicator calculations
find_highest = ta.highest(high, lookback)
find_lowest = ta.lowest(low, lookback)
ema = ta.ema(close, lookback)
var dnRv = 0.0
var dnRv_trigger = false
var upRv = 0.0
var upRv_trigger = false
if high == find_highest
dnRv_trigger := false
if low == find_lowest
upRv_trigger := false
for i = 0 to lookback - 1
if high[i] == find_highest
dnRv := low[i]
for i = 0 to lookback - 1
if low[i] == find_lowest
upRv := high[i]
dnRv_signal = close < dnRv and dnRv_trigger == false
upRv_signal = close > upRv and upRv_trigger == false
if dnRv_signal
dnRv_trigger := true
if upRv_signal
upRv_trigger := true
// Entry and exit conditions
if dnRv_signal
strategy.entry("Sell", strategy.short)
if upRv_signal
strategy.entry("Buy", strategy.long)
// Plotting
plotshape(dnRv_signal ? 1 : 0, style=shape.triangledown, location=location.abovebar, color=downColor, size=size.small)
plotshape(upRv_signal ? 1 : 0, style=shape.triangleup, location=location.belowbar, color=upColor, size=size.small)