
یہ حکمت عملی ایک ٹریڈنگ سسٹم ہے جو کثیر ٹائم فریم تجزیہ پر مبنی ہے ، جس میں بولنگر بینڈ ، ہل مووینگ ایوریج اور ویٹڈ مووینگ ایوریج کے ساتھ ٹریڈنگ سگنل تیار کیے جاتے ہیں۔ حکمت عملی بنیادی طور پر 1 گھنٹہ کے وقت کے فریم پر چلتی ہے ، جبکہ 5 منٹ ، 1 گھنٹہ اور 3 گھنٹہ کے تین وقت کی مدت کے مارکیٹ کے اعداد و شمار کو مربوط کرتی ہے ، جس میں متعدد تکنیکی اشارے کے امتزاج کے ذریعہ تجارت کے مواقع کی تصدیق کی جاتی ہے۔ حکمت عملی میں متحرک اسٹاپ اور نقصان کا طریقہ کار استعمال کیا جاتا ہے ، اور اکاؤنٹ کے حقوق اور مفادات کے مطابق خود بخود پوزیشن کا سائز ایڈجسٹ کیا جاتا ہے ، تاکہ خطرے پر موثر کنٹرول حاصل کیا جاسکے۔
اس حکمت عملی کا بنیادی منطق متعدد تکنیکی اشارے کی کراس تصدیق پر مبنی ہے۔ قیمتوں کے مختلف اقسام کے مساوی خطوط کے ساتھ تعلقات کی ایک ہی وقت میں متعدد ٹائم فریموں پر نگرانی کی جاتی ہے ، بشمول 5 منٹ کی مدت کے لئے ویٹڈ وائلڈ موونگ ایوریج (VWMA) ، 1 گھنٹے کی مدت کے لئے ویٹڈ وائلڈ موونگ ایوریج اور 3 گھنٹے کی مدت کے لئے ہل موونگ ایوریج (HMA) ۔ جب قیمت تمام ٹائم فریموں کے اشارے کے اوپر ہوتی ہے تو ، سسٹم کثیر سگنل دیتا ہے۔ اس کے برعکس ، جب قیمت تمام اشارے کے نیچے ہوتی ہے تو ، سسٹم کوریج سگنل دیتا ہے۔ اس حکمت عملی میں انحراف کی حساب کتاب بھی متعارف کروائی گئی ہے ، جس میں متحرک داخلہ اور باہر نکلنے کے مقامات کو ترتیب دینے کے لئے استعمال کیا جاتا ہے ، جس سے تجارت کی لچک میں اضافہ ہوتا ہے۔
اس حکمت عملی میں متعدد ٹائم سائیکل تجزیہ اور متعدد تکنیکی اشارے کا امتزاج کیا گیا ہے ، جس سے ایک نسبتا complete مکمل تجارتی نظام تشکیل دیا گیا ہے۔ حکمت عملی کے فوائد سگنل کی وشوسنییتا اور خطرے کے انتظام کی افادیت پر مبنی ہیں ، لیکن اس کے ساتھ ساتھ سگنل کی تاخیر اور پیرامیٹرز کی اصلاح جیسے مسائل بھی ہیں۔ مسلسل اصلاح اور بہتری کے ذریعہ ، حکمت عملی مختلف مارکیٹ کے حالات میں مستحکم کارکردگی کو برقرار رکھنے کی امید رکھتی ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("1H- 280, 2.7", overlay=true)
// Fetch the indicator values from different timeframes
vwma5 = request.security(syminfo.tickerid, "5", ta.wma(close, 233), lookahead = barmerge.lookahead_off)
vwma_hourly = request.security(syminfo.tickerid, "60", ta.wma(close, 89), lookahead = barmerge.lookahead_off)
hullma155_3h = request.security(syminfo.tickerid, "180", ta.hma(close, 155), lookahead = barmerge.lookahead_off)
// Calculate the deviation value
deviation = close * 0.032
// Initialize the signal variables
var float signalLine = na
var color lineColor = na
// Long Entry Conditions
longCondition_5min = close > vwma5
longCondition_hourly = close > vwma_hourly
longCondition_3h = close > hullma155_3h
// Short Entry Conditions
shortCondition_5min = close < vwma5
shortCondition_hourly = close < vwma_hourly
shortCondition_3h = close < hullma155_3h
// Long Entry
if longCondition_5min and longCondition_hourly and longCondition_3h
signalLine := close + deviation
lineColor := color.rgb(0, 255, 0, 1)
// Short Entry
if shortCondition_5min and shortCondition_hourly and shortCondition_3h
signalLine := close - deviation
lineColor := color.rgb(255, 0, 0, 1)
// Plotting the connecting line
plot(signalLine, title="Signal Line", color=lineColor, linewidth=1, style=plot.style_line)
// Colorize the signal line
bgcolor(signalLine > close ? color.rgb(0, 255, 0, 99) : color.rgb(255, 0, 0, 99), transp=90)
// Strategy settings
useTPSL = input(true, "Use TP/SL for closing long positions?")
useDownbreakOutbreak = input(false, "Use Downbreak and Outbreak for closing positions?")
useM7FClosing = input(false, "Use M7F Signal for closing positions?")
length1 = input.int(280, minval=1)
src = input(close, title="Source")
mult = input.float(2.7, minval=0.001, maxval=50, title="StdDev")
basis = ta.vwma(src, length1)
dev = mult * ta.stdev(src, length1)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
length2 = input.int(55, minval=1)
src2 = input(close, title="Source")
hullma = ta.wma(2 * ta.wma(src2, length2 / 2) - ta.wma(src2, length2), math.floor(math.sqrt(length2)))
hullmacrosslower = ta.crossover(hullma, lower)
hullmacrossupper = ta.crossunder(hullma, upper)
breakout = ta.crossover(ohlc4, upper)
breakdown = ta.crossunder(ohlc4, upper)
outbreak = ta.crossover(ohlc4, lower)
downbreak = ta.crossunder(ohlc4, lower)
// Calculate position size and leverage
margin_pct = 1
leverage = 1
position_size = strategy.equity * margin_pct
qty = position_size / close / leverage
// Define take profit and stop loss levels
take_profit = 0.14
stop_loss = 0.06
// Opening a long position
if breakout
strategy.entry("Long", strategy.long, qty, limit=close*(1+take_profit), stop=close*(1-stop_loss))
// Opening a short position
if downbreak
strategy.entry("Short", strategy.short, qty, limit=close*(1-take_profit), stop=close*(1+stop_loss))
// Closing positions based on chosen method
if useTPSL
// Using TP/SL for closing long positions
if strategy.position_size > 0 and breakdown
strategy.close("Long", comment="Breakdown")
else if useDownbreakOutbreak
// Using Downbreak and Outbreak for closing positions
if strategy.position_size > 0 and (breakdown or downbreak)
strategy.close("Long", comment="Breakdown")
if strategy.position_size < 0 and (outbreak or downbreak)
strategy.close("Short", comment="Outbreak")
else if useM7FClosing
// Using M7F Signal for closing positions
if strategy.position_size > 0 and (signalLine < close)
strategy.close("Long", comment="M7F Signal")
if strategy.position_size < 0 and (signalLine > close)
strategy.close("Short", comment="M7F Signal")
// Plotting entry signals
plotshape(hullmacrosslower, title="High Bear Volatility", style=shape.arrowup, text="^^^^^", color=color.rgb(75, 202, 79), location=location.belowbar)
plotshape(hullmacrossupper, title="High Bull Volatility", style=shape.arrowdown, text="-----", color=color.rgb(215, 72, 72), location=location.abovebar)
plotshape(breakout ? 1 : na, title="Breakout", style=shape.arrowup, text="", color=color.rgb(75, 202, 79), location=location.belowbar, size=size.tiny)
plotshape(breakdown ? 1 : na, title="Breakdown", style=shape.arrowdown, text="", color=color.rgb(201, 71, 71), location=location.abovebar, size=size.tiny)
plotshape(outbreak ? 1 : na, title="Outbreak", style=shape.arrowup, text="", color=color.rgb(0, 110, 255), location=location.belowbar, size=size.tiny)
plotshape(downbreak ? 1 : na, title="Downbreak", style=shape.arrowdown, text="", color=color.rgb(255, 111, 0), location=location.abovebar, size=size.tiny)