یہ حکمت عملی ZZ اشارے پر مبنی قیمت چینل پر تجارت کرتی ہے ، اور اس کی اشارے کا استعمال کرتے ہوئے کہ قیمت اوپر کی طرف سے چینل کی اوپری حد کو توڑتی ہے یا نیچے کی طرف سے چینل کی نچلی حد کو توڑتی ہے۔ یہ حکمت عملی قیمت چینل سے باہر کے رجحانات کو پکڑنے کی کوشش کرتی ہے۔
خاص طور پر ، اس حکمت عملی نے زیڈ زیڈ اشارے کے ذریعہ قیمت کے چینل کی اوپری اور نچلی حد کا حساب لگایا ہے۔ جب قیمت نیچے سے اوپری حد کو توڑتی ہے تو ، زیادہ داخلہ لیا جاتا ہے۔ جب قیمت نیچے سے نیچے کی حد کو توڑتی ہے تو ، کم کرنے کے لئے داخلہ لیا جاتا ہے۔
چینل کے فاصلے کو وسیع کرنے، سٹاپ نقصان کی حکمت عملی کو بہتر بنانے اور رجحان کی طاقت کا اندازہ لگانے کے ذریعے مندرجہ بالا خطرات کو کم کیا جاسکتا ہے۔
اس حکمت عملی کی بنیاد پر قیمت چینل فیصلہ رجحان کے پھوٹ پھوٹ پر ٹریڈنگ. فائدہ یہ ہے کہ ٹریڈنگ سگنل سادہ ہے, سٹاپ نقصان واضح, کام کرنے کے لئے آسان; نقصان یہ ہے کہ بار بار غائب اور مکمل طور پر استعمال نہیں کیا رجحان دونوں پہلوؤں. پیرامیٹرز کی اصلاح, حکمت عملی کا مجموعہ وغیرہ کی طرف سے فائدہ برقرار رکھنے جبکہ مندرجہ بالا نقصانات پر قابو پانے کے کر سکتے ہیں. اس حکمت عملی کی مدد سے تاجر قیمت چینل کی درخواست کی مہارت حاصل کر سکتے ہیں.
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Noro's ZZ-4 Strategy", shorttitle = "Noro's ZZ-4 Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(7, minval = 1, title = "Length")
showll = input(true, defval = true, title = "Show Levels")
showbg = input(false, defval = false, title = "Show Background")
showpc = input(false, defval = false, title = "Show Price Channel")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Price channel
h = highest(ohlc4, len)
l = lowest(ohlc4, len)
pccol = showpc ? color.blue : na
plot(h, color = pccol, transp = 0)
plot(l, color = pccol, transp = 0)
//Levels
ml = 0
ml := l > l[1] ? 1 : l < l[1] ? -1 : ml[1]
ll = 0.0
ll := ml == 1 and ml[1] == -1 ? l[1] : ll[1]
mh = 0
mh := h > h[1] ? 1 : h < h[1] ? -1 : mh[1]
hl = 0.0
hl := mh == -1 and mh[1] == 1 ? h[1] : hl[1]
//Lines
colorh = showll and hl == hl[1] ? color.lime : na
colorl = showll and ll == ll[1] ? color.red : na
plot(hl, color = colorh, linewidth = 2, transp = 0, title = "Long")
plot(ll, color = colorl, linewidth = 2, transp = 0, title = "Short")
//Background
size = strategy.position_size
trend = 0
trend := size > 0 ? 1 : size < 0 ? -1 : high >= hl ? 1 : low <= ll ? -1 : trend[1]
bgcol = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(bgcol, transp = 80)
//Trading
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if ll > 0 and hl > 0
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = hl, when=(truetime))
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = ll, when=(truetime))
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()
strategy.cancel("Long")
strategy.cancel("Short")