ٹرانزیشن زون کی حکمت عملی


تخلیق کی تاریخ: 2023-12-29 17:03:27 آخر میں ترمیم کریں: 2023-12-29 17:03:27
کاپی: 1 کلکس کی تعداد: 846
1
پر توجہ دیں
1621
پیروکار

ٹرانزیشن زون کی حکمت عملی

جائزہ

ٹرانزٹ بینڈ حکمت عملی ایک مختصر لائن ٹریڈنگ حکمت عملی ہے جو قیمت کے اتار چڑھاؤ کے بینڈ پر مبنی ہے۔ یہ مارکیٹ کے رجحانات کا اندازہ لگانے کے لئے قیمتوں کے اتار چڑھاؤ کے بینڈ کا استعمال کرتا ہے جو ایک خاص وقت کے وقفے کے دوران تشکیل پاتا ہے ، اور جب یہ بینڈ ٹوٹ جاتا ہے تو زیادہ / خالی ہوتا ہے۔

حکمت عملی کا اصول

یہ حکمت عملی قیمتوں کے اتار چڑھاؤ کے لئے ایک حد تشکیل دیتی ہے جس میں N روٹ K لائن کی اعلی ترین اور کم ترین قیمتوں کا حساب لگایا جاتا ہے۔ جب تازہ ترین K لائن اس حد میں داخل ہوتی ہے تو ، اس کا فیصلہ کیا جاتا ہے کہ رجحان میں تبدیلی واقع ہوئی ہے ، جس سے تجارتی سگنل پیدا ہوتا ہے۔

خاص طور پر ، حکمت عملی مسلسل آخری N روٹ K لائن ((N ایڈجسٹ پیرامیٹرز) کی اعلی ترین اور کم ترین قیمتوں کا سراغ لگاتی ہے ، جس میں:

  • کم از کم قیمت = ماضی N جڑ K لائن میں کم از کم نقطہ
  • سب سے زیادہ قیمت = ماضی میں N جڑ K لائن میں سب سے زیادہ پوائنٹس

اس طرح قیمتوں میں اتار چڑھاو کی ایک حد تشکیل دی جاتی ہے۔

جب تازہ ترین K لائن کی بندش کی قیمت حد سے زیادہ قیمت سے زیادہ ہو تو ، اس کا اشارہ ہے کہ حد سے تجاوز ، ایک کثیر سگنل پیدا کرتا ہے۔ جب تازہ ترین K لائن کی بندش کی قیمت حد سے کم قیمت سے کم ہو تو ، اس کا اشارہ ہے کہ حد سے تجاوز ، ایک خالی سگنل پیدا کرتا ہے۔

اس کے علاوہ ، اس حکمت عملی میں رنگین فلٹر اور ہستی فلٹر شامل ہیں۔ رنگین فلٹر K لائن کے رنگ کے مطابق سگنل کو فلٹر کرتا ہے۔ ہستی فلٹر K لائن ہستی کے سائز کے مطابق سگنل کو فلٹر کرتا ہے۔ اس سے کچھ جعلی سگنل کو فلٹر کیا جاسکتا ہے۔

اسٹریٹجک فوائد

اس حکمت عملی کے فوائد یہ ہیں:

  1. قیمتوں کے فرق کو پکڑیں ، رجحانات کو تبدیل کریں ، اور زیادہ سے زیادہ جگہ دیں
  2. رنگین اور جسمانی فلٹرنگ ، جعلی سگنل کو فلٹر کریں
  3. حکمت عملی کی منطق سادہ اور واضح ہے ، پیرامیٹرز کو سمجھنے اور ایڈجسٹ کرنے میں آسان ہے
  4. زیادہ سے زیادہ پیرامیٹرز کو ایڈجسٹ کرنے کے لئے حکمت عملی کو بہتر بنانے کے لئے

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات بھی ہیں:

  1. غیر مناسب پیرامیٹرز کی ترتیب کے نتیجے میں زیادہ بار بار تجارت ہوسکتی ہے ، جس سے اعلی تجارت کی فیسیں پیدا ہوسکتی ہیں
  2. غلط بینڈوڈتھ کی ترتیب ، جو بہت زیادہ بینڈوڈتھ توڑنے والے غلط سگنل کا سبب بن سکتی ہے
  3. قیمتوں میں تیزی سے اتار چڑھاؤ کے دوران ، قیمتوں کے فرق کی پیش گوئی کم موثر ہے
  4. قیمتوں میں اضافے کے خلا سے نمٹنے میں ناکامی

ان خطرات کو کم کرنے کے لئے، آپ کو بینڈوڈتھ پیرامیٹرز کو ایڈجسٹ کرنے اور سگنل فلٹرنگ کے حالات کو بہتر بنانے کے ذریعے کام کرنا چاہئے.

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:

  1. متحرک ایڈجسٹمنٹ قیمت کی حد کی حد کے بجائے فکسڈ N-K لائن
  2. اسٹاپ نقصان کی منطق شامل کریں ، نقصان کا خطرہ کم کریں
  3. فلٹر پیرامیٹرز کو بہتر بنانے اور سگنل کے معیار کو بہتر بنانا
  4. قیمت کے فرق کو سنبھالنے کے لئے منطق شامل کریں
  5. ایک سے زیادہ ٹائم سائیکل فیصلہ سگنل کے ساتھ مل کر، پھنسنے سے بچنے کے

خلاصہ کریں۔

منتقلی کی حد کی حکمت عملی مجموعی طور پر ایک نسبتا simple آسان اور عملی مختصر لائن ٹریڈنگ حکمت عملی ہے۔ یہ قیمت کی حد کے ذریعہ رجحان کی تبدیلی کے نقطہ نظر کو سمجھتا ہے ، جس سے مارکیٹ کے مواقع کو جلدی سے پکڑ لیا جاسکتا ہے۔ اس کے ساتھ ساتھ کچھ خطرات بھی ہیں جن پر دھیان دینے کی ضرورت ہے۔ پیرامیٹرز کو ایڈجسٹ اور بہتر بنانے کے ذریعے ، اس حکمت عملی کو مزید بہتر بنایا جاسکتا ہے ، جس سے منافع بخش اثر کو بہتر بنایا جاسکتا ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Transient Zones Strategy v1.0", shorttitle = "TZ str 1.0", 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, %")

usecol = input(true, defval = true, title = "Use Color-Filter")
usebod = input(true, defval = true, title = "Use Body-Filter")

h_left = input(title = "H left", defval = 10)
h_right = -1
sample_period = input(title = "Sample bars for % TZ",  defval = 5000)
show_ptz = input(title = "Show PTZ", type = bool, defval = true)
show_channel = input(title = "Show channel", type = bool, defval = true)

fromyear = input(2018, defval = 2018, 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")

//By Jurij w/ TZ percent occurrence by SPYderCrusher

//barCount = nz(barCount[1]) + 1
//check history and realtime PTZ
h_left_low = lowest(h_left)
h_left_high = highest(h_left)
newlow = low <= h_left_low
newhigh = high >= h_left_high
plotshape(newlow and show_ptz, style=shape.triangledown, location=location.belowbar, color=red)
plotshape(newhigh and show_ptz, style=shape.triangleup, location=location.abovebar, color=green)
channel_high = plot(show_channel ? h_left_low : 0, color=silver)
channel_low = plot (show_channel ? h_left_high : 0, color=silver)

//check true TZ back in history
central_bar_low = low[h_right + 1]
central_bar_high = high[h_right + 1]
full_zone_low = lowest(h_left + h_right + 1)
full_zone_high = highest(h_left + h_right + 1)
central_bar_is_highest = central_bar_high >= full_zone_high
central_bar_is_lowest = central_bar_low <= full_zone_low
plotarrow(central_bar_is_highest ? -1 : 0, offset=-h_right-1)
plotarrow(central_bar_is_lowest ? 1 : 0, offset=-h_right-1)

//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 3 or usebod == false

//Signals
up1 = central_bar_is_lowest and body and (bar == -1 or usecol == false)
dn1 = central_bar_is_highest and body and (bar == 1 or usecol == false)
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()