
یہ حکمت عملی ایک رجحان ٹریڈنگ سسٹم ہے جو اوسط حقیقی طول و عرض (ATR) اشارے پر مبنی ہے ، مارکیٹ کے رجحانات کی نشاندہی کرنے کے لئے متحرک طور پر قیمت کے اتار چڑھاؤ کی حد کا حساب لگاتا ہے ، اور خود سے موافقت پذیر اسٹاپ اسٹاپ نقصان کے طریقہ کار کے ساتھ مل کر خطرے کا انتظام کرتا ہے۔ حکمت عملی ایک کثیر دورانیہ تجزیہ طریقہ کار کو اپناتی ہے ، جس میں اے ٹی آر کے ضرب سے متحرک طور پر ٹریڈنگ سگنل کی محرک شرائط کو ایڈجسٹ کیا جاتا ہے ، تاکہ مارکیٹ میں اتار چڑھاؤ کی عین مطابق پیروی کی جاسکے۔
حکمت عملی کا مرکز اے ٹی آر اشارے پر مبنی متحرک حساب کتاب ہے ، جس میں مقررہ دورانیہ پیرامیٹرز (ڈیفالٹ 10 فیز) کے ذریعہ مارکیٹ کی اصل طول و عرض کا حساب لگایا جاتا ہے۔ اے ٹی آر ضرب (ڈیفالٹ 3.0) کا استعمال کرتے ہوئے اوپر اور نیچے کی مدار کی لائن بنانا ، جب قیمتوں میں مدار کی لائن کو توڑ دیا جاتا ہے تو ٹریڈنگ سگنل کو متحرک کرنا۔
یہ ایک اچھی طرح سے ڈیزائن کیا گیا رجحان ٹریکنگ حکمت عملی ہے ، جو اے ٹی آر اشارے کے ذریعہ مارکیٹ میں اتار چڑھاؤ کی درست پیروی کرتی ہے ، اور اسٹریپ اسٹاپ نقصان کے طریقہ کار کے ساتھ مل کر خطرے کا انتظام کرتی ہے۔ حکمت عملی کی طاقت اس کی لچکدار اور خطرے سے متعلق ہے ، لیکن حکمت عملی کی کارکردگی پر مارکیٹ کے ماحول کے اثرات پر بھی توجہ دینے کی ضرورت ہے۔ تجویز کردہ اصلاحی سمت کے ذریعہ ، حکمت عملی کی استحکام اور منافع بخش صلاحیت کو مزید بڑھانے کی امید ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Custom Buy BID Strategy", overlay=true, shorttitle="Buy BID by MR.STOCKVN")
// Cài đặt chỉ báo
Periods = input.int(title="ATR Period", defval=10)
src = input.source(hl2, title="Source")
Multiplier = input.float(title="ATR Multiplier", step=0.1, defval=3.0)
changeATR = input.bool(title="Change ATR Calculation Method?", defval=true)
showsignals = input.bool(title="Show Buy Signals?", defval=false)
highlighting = input.bool(title="Highlighter On/Off?", defval=true)
barcoloring = input.bool(title="Bar Coloring On/Off?", defval=true)
// Tính toán ATR
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
// Tính toán mức giá mua bán dựa trên ATR
up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
// Vẽ xu hướng
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_line, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
// Hiển thị tín hiệu mua
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
// Cài đặt màu cho thanh nến
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
// Điều kiện thời gian giao dịch
FromMonth = input.int(defval=9, title="From Month", minval=1, maxval=12)
FromDay = input.int(defval=1, title="From Day", minval=1, maxval=31)
FromYear = input.int(defval=2018, title="From Year", minval=999)
ToMonth = input.int(defval=1, title="To Month", minval=1, maxval=12)
ToDay = input.int(defval=1, title="To Day", minval=1, maxval=31)
ToYear = input.int(defval=9999, title="To Year", minval=999)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
// Cửa sổ thời gian giao dịch
window() => (time >= start and time <= finish)
// Điều kiện vào lệnh Buy
longCondition = buySignal
if (longCondition)
strategy.entry("BUY", strategy.long, when=window())
// Điều kiện chốt lời và cắt lỗ có thể điều chỉnh
takeProfitPercent = input.float(5, title="Take Profit (%)") / 100
stopLossPercent = input.float(2, title="Stop Loss (%)") / 100
// Tính toán giá trị chốt lời và cắt lỗ dựa trên giá vào lệnh
if (strategy.position_size > 0)
strategy.exit("Take Profit", "BUY", limit=strategy.position_avg_price * (1 + takeProfitPercent), stop=strategy.position_avg_price * (1 - stopLossPercent))
// Màu nến theo xu hướng
buy1 = ta.barssince(buySignal)
color1 = buy1[1] < na ? color.green : na
barcolor(barcoloring ? color1 : na)