زیگ زگ بریک آؤٹ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-20 16:37:28
ٹیگز:

img

جائزہ

یہ حکمت عملی معاونت اور مزاحمت کی لائنیں کھینچنے کے لئے زیگ زگ اشارے کا استعمال کرتی ہے اور جب قیمت معاونت یا مزاحمت کی لائنوں کو توڑتی ہے تو طویل یا مختصر پوزیشنیں لیتی ہے۔

حکمت عملی منطق

اس حکمت عملی میں پہلے زیگ زگ اشارے کا استعمال کچھ پیرامیٹرز کے تحت زیگ زگ لائنیں کھینچنے کے لئے کیا جاتا ہے۔ جب زیگ زگ اشارے نیچے جاتا ہے تو سبز سپورٹ لائنیں کھینچی جاتی ہیں۔ جب زیگ زگ ٹاپس باہر آتا ہے تو سرخ مزاحمت کی لائنیں کھینچی جاتی ہیں۔ جب قیمت سبز لائن سے اوپر ہوتی ہے تو لمبی پوزیشنیں لی جاتی ہیں۔ جب قیمت سرخ لائن سے نیچے ہوتی ہے تو مختصر پوزیشنیں لی جاتی ہیں۔

خاص طور پر، بنیادی منطق یہ ہے:

  1. ای ایم اے کا استعمال تین گنا اشاریاتی چلتی اوسط کے ساتھ بند ہونے کی قیمت کو ہموار کرنے کے لئے کریں ، ہموار منحنی خطوط _hls حاصل کریں۔

  2. فیصلہ کریں کہ کیا ہموار منحنی خطوط بڑھ رہے ہیں۔ اگر بڑھ رہے ہیں اور پچھلی بار بڑھ رہی نہیں ہے تو ، اسے نیچے سمجھا جاتا ہے۔ اس بار کی سب سے کم قیمت لیں۔ اگر گر رہی ہے اور پچھلی بار بڑھ رہی ہے تو ، اسے اوپر سمجھا جاتا ہے۔ اس بار کی سب سے زیادہ قیمت لیں۔ بصورت دیگر NaN

  3. زگ زگ لائن زگ زگ حاصل کرنے کے لئے اس عمل کو دہرائیں۔

  4. جب زگ زگ بڑھتا ہے، موجودہ چوٹی نقطہ ریکارڈ کریں. گرنے پر، موجودہ نچلے نقطہ ریکارڈ کریں.

  5. جب ڈاٹ بڑھتا ہے تو سبز سپورٹ لائن اوپر کی سطح پر ڈرائنگ کریں۔ جب ڈاٹ گرتا ہے تو سرخ مزاحمت لائن ڈی این لیول پر ڈرائنگ کریں۔

  6. جب قیمت سبز لائن سے اوپر ٹوٹ جاتی ہے تو طویل پوزیشن لیں. جب قیمت سرخ لائن سے نیچے ٹوٹ جاتی ہے تو مختصر پوزیشن لیں.

فوائد کا تجزیہ

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

  1. زیگ زگ اشارے کا استعمال کرتے ہوئے اہم سپورٹ / مزاحمت کی سطحوں کی نشاندہی کریں۔ یہ سطحیں اکثر اہم ہوتی ہیں۔

  2. زیگ زگ مارکیٹ کے شور کو فلٹر کرتا ہے، واضح تجارتی سگنل پیدا کرتا ہے۔

  3. بریک آؤٹ کے ذریعے پوزیشنز میں داخل ہوں، جو بروقت رجحان کی تبدیلیوں کو پکڑ سکتے ہیں۔

  4. سپورٹ / مزاحمت کی لائنیں کھینچنے کا آسان اور موثر طریقہ۔

  5. واضح منطق اور بڑے پیرامیٹر اصلاح کی جگہ.

  6. مصنوعات اور ٹائم فریم کے انتخاب میں لچک۔ مضبوط موافقت۔

خطرے کا تجزیہ

اس حکمت عملی کے خطرات:

  1. غلط زگ زگ پیرامیٹرز تجارت کے مواقع سے محروم ہوسکتے ہیں۔

  2. قیمتیں توڑنے کے بعد سپورٹ / مزاحمت کا دوبارہ تجربہ کرسکتی ہیں۔ خطرات پر قابو پانے کے لئے اسٹاپ نقصان کا استعمال کریں۔

  3. بریک آؤٹ سگنل گمراہ کن ہو سکتے ہیں۔ رجحانات اور نمونوں کے ساتھ توثیق کی ضرورت ہے۔

  4. طویل عرصے تک ضمنی طور پر بہت زیادہ غیر موثر تجارت پیدا ہوسکتی ہے.

  5. ٹرانزیکشن لاگت پر غور کریں۔ زیادہ کثرت سے تجارت سے گریز کریں۔

حل:

  1. بہترین مجموعہ تلاش کرنے کے لئے زیگ زگ پیرامیٹرز کو بہتر بنائیں.

  2. نقصانات کو محدود کرنے کے لئے بریک آؤٹ کے بعد بروقت سٹاپ نقصان مقرر کریں.

  3. درستگی کو بہتر بنانے کے لئے رجحان اشارے جیسے فلٹرز شامل کریں.

  4. سائیڈ ویز کی نشاندہی کریں اور ان ادوار کے دوران تجارت سے گریز کریں۔

  5. غیر موثر تجارت کو کم کرنے کے لئے توڑنے کی حد کو آرام دہ بنائیں.

اصلاح کی ہدایات

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

  1. بہترین تلاش کرنے کے لئے بیک ٹیسٹنگ کی طرف سے Zigzag پیرامیٹرز کو بہتر بنائیں.

  2. بریک آؤٹ کے بعد سپورٹ / مزاحمت کی دوبارہ جانچ پڑتال کے امکان پر غور کریں۔ دوبارہ ٹیسٹ کے منظرناموں کے لئے باہر نکلنے کی منطق شامل کریں۔

  3. کم امکان کے سگنل کو اسکرین کرنے کے لئے ایم اے جیسے فلٹرز شامل کریں۔

  4. بریک آؤٹ سگنل کی تصدیق کے لیے حجم اشارے شامل کریں۔

  5. غلط سگنل اور منافع کو فلٹر کرنے کے لئے Lachenbruch کی دوہری طریقہ کار (طویل اور مختصر) کو لاگو کریں.

  6. پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لیے مشین لرننگ کا استعمال کریں۔

  7. خطرات کو محدود کرنے کے لئے سٹاپ نقصان کی حکمت عملی متعارف کروائیں۔

نتیجہ

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


/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
// strategy(title = "Noro's ZZ-2 Strategy", shorttitle = "Noro's ZZ-2 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, %")
length = input(4, title = "ZigZag length")
Extreme = input(4, title = "ZigZag extreme")
src = input(close, title = "Source")
showzz = input(false, defval = false, title = "Show ZigZag")
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")

//ZigZag
f_zz(_length, _detection)=>
    _hls = ema(ema(ema(src, _length), round(_length*0.66)), round(_length*0.33))
    _isRising = _hls >= _hls[1]
    _zigzag = _isRising and not _isRising[1] ? lowest(_detection) :  not _isRising and _isRising[1] ? highest(_detection) : na
zigzag = f_zz(length, Extreme)
zzcol = showzz ? black : na
plot(zigzag, color = zzcol, linewidth = 2)

//Levels
dot = 0.0
dot := zigzag > 0 ? zigzag : dot[1]
uplevel = 0.0
uplevel := dot > dot[1] ? zigzag : uplevel[1]
dnlevel = 0.0
dnlevel := dot < dot[1] ? zigzag : dnlevel[1]
upcol = na
upcol := dot > dot[1] ? na : lime
plot(uplevel, color = upcol, linewidth = 2)
dncol = na
dncol := dot < dot[1] ? na : red
plot(dnlevel, color = dncol, linewidth = 2)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if dot > 0
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel)


مزید