
یہ حکمت عملی VWAP (معدنی وزن والی اوسط قیمت) اشارے اور قیمت کے مابین کراس رشتہ پر مبنی تجارت کرتی ہے۔ جب قیمت VWAP کو اوپر کی طرف سے عبور کرتی ہے تو زیادہ پوزیشنیں کھولی جاتی ہیں ، اور جب قیمت VWAP کو نیچے کی طرف سے عبور کرتی ہے تو خالی پوزیشنیں کھولی جاتی ہیں۔ اس کے ساتھ ساتھ ، ATR (اوسط حقیقی اتار چڑھاؤ کی حد) اشارے کا استعمال کرتے ہوئے متحرک اسٹاپ نقصان اور اسٹاپ کی سطح کا حساب کتاب کریں ، تاکہ خطرے کو کنٹرول کیا جاسکے اور منافع کو مقفل کیا جاسکے۔
اس حکمت عملی کا بنیادی مرکز وی ڈبلیو اے پی ہے ، جس میں قیمتوں کے ساتھ کراسنگ کے ذریعہ تجارتی سگنل تیار کیے جاتے ہیں ، اور اے ٹی آر کے ساتھ مل کر متحرک اسٹاپ نقصان کو روکنے کے لئے ، رجحانات پر قابو پانے کے ساتھ ساتھ واپسی کے خطرے پر قابو پانے کے لئے ، مجموعی نظریہ آسان ہے۔ لیکن حکمت عملی میں مزید اصلاحات کی گنجائش موجود ہے ، جس میں معاون اشارے متعارف کرانے ، اسٹاپ نقصان کو روکنے کے منطق کو بہتر بنانے ، فنڈ مینجمنٹ کو شامل کرنے وغیرہ کے ذریعہ ، حکمت عملی کی استحکام اور منافع بخش صلاحیت کو بہتر بنانے کے لئے مارکیٹ کے بدلتے ہوئے ماحول میں بہتر طور پر ڈھال سکتی ہے۔
/*backtest
start: 2023-03-26 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Hannah Strategy Stop Loss and Take Profit", overlay=true)
// Inputs
cumulativePeriod = input(40, "VWAP Period")
atrPeriod = input(14, "ATR Period")
multiplier = input(1.5, "ATR Multiplier for Stop Loss")
targetMultiplier = input(3, "ATR Multiplier for Take Profit")
// Calculations for VWAP
typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume = sum(typicalPriceVolume, cumulativePeriod)
cumulativeVolume = sum(volume, cumulativePeriod)
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume
// Plot VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")
// Entry Conditions based on price crossing over/under VWAP
longCondition = crossover(close, vwapValue)
shortCondition = crossunder(close, vwapValue)
// ATR Calculation for setting dynamic stop loss and take profit
atr = atr(atrPeriod)
// Execute Trades with Dynamic Stop Loss and Take Profit based on ATR
if (longCondition)
strategy.entry("Long", strategy.long)
// Setting stop loss and take profit for long positions
strategy.exit("Long Exit", "Long", stop=close - atr * multiplier, limit=close + atr * targetMultiplier)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Setting stop loss and take profit for short positions
strategy.exit("Short Exit", "Short", stop=close + atr * multiplier, limit=close - atr * targetMultiplier)