
یہ حکمت عملی زگ زگ اشارے کا استعمال کرتے ہوئے معاونت اور مزاحمت کی لائنوں کا نقشہ بناتی ہے ، اور جب قیمت معاونت یا مزاحمت کی لائنوں کو توڑ دیتی ہے تو اس کے مطابق زیادہ یا کم کرنے کا عمل ہوتا ہے۔
یہ حکمت عملی سب سے پہلے زیگ زیگ اشارے کا استعمال کرتی ہے تاکہ کسی خاص پیرامیٹرز کے تحت زیڈ شکل کی لکیر کھینچی جائے۔ اس کے بعد زیگ زیگ اشارے کے نیچے جب سبز سپورٹ لائن کھینچی جائے تو سرخ مزاحمت لائن کھینچی جائے۔ جب قیمت سبز لائن کو پار کرتی ہے تو زیادہ کریں اور جب سرخ لائن کو پار کرتے ہیں تو خالی کریں۔
اس حکمت عملی کا بنیادی منطق یہ ہے کہ:
ایما کا استعمال کرتے ہوئے قریبی قیمت پر تین بار اشاریہ منتقل اوسط حاصل کرنے کے لئے ہموار منحنی خطوط۔
اس بات کا تعین کرنے کے لئے کہ آیا ہموار منحنی خطوط بڑھ رہے ہیں ، اگر یہ بڑھتا ہے اور پچھلی K لائن نہیں بڑھتی ہے تو ، اس K لائن کی کم سے کم قیمت کو نیچے کے طور پر نوٹ کریں۔ اگر یہ گرتا ہے اور پچھلی K لائن بڑھتی ہے تو ، اس K لائن کی اعلی ترین قیمت کو اوپر کے طور پر نوٹ کریں۔ بصورت دیگر ، NaN
اس عمل کو بار بار دہرائیں اور آپ کو ZigZag لائن zigzag ملے گی۔
جب زگ زگ بڑھتا ہے تو ، اس کو موجودہ ٹاپ پوائنٹ ڈاٹ کے طور پر نوٹ کریں۔ جب نیچے جاتا ہے تو ، اس کو موجودہ نیچے پوائنٹ ڈاٹ کے طور پر نوٹ کریں۔
جب ڈاٹ بڑھتا ہے تو ، سپورٹ لائن کو سبز رنگ میں ڈرائنگ کریں uplevel؛ جب ڈاٹ گرتا ہے تو ، مزاحمت لائن کو سرخ رنگ میں ڈرائنگ کریں dnlevel
جب قیمت سبز لائن سے اوپر ہو تو زیادہ کام کریں ، اور جب سرخ لائن سے نیچے ہو تو خالی کریں۔
اس حکمت عملی کے درج ذیل فوائد ہیں:
زگ زگ اشارے کا استعمال کرتے ہوئے اہم حمایت اور مزاحمت کی جگہوں کی نشاندہی کریں ، جو اکثر اہم ہوتے ہیں۔
ZigZag مارکیٹ کے کچھ شور کو مٹا دیتا ہے اور ٹریڈنگ سگنل کو صاف کرتا ہے۔
ٹرینڈ کی تبدیلیوں کو وقت پر پکڑنے کے لئے انٹری کو توڑنے کے طریقوں کا استعمال کریں۔
مزاحمت کی لائنوں کی حمایت کرنے کے لئے ایک سادہ اور مؤثر طریقے سے تیار کیا گیا ہے.
حکمت عملی کی منطق واضح اور سمجھنے کے لئے آسان ہے ، پیرامیٹرز کو بہتر بنانے کے لئے بہت زیادہ جگہ ہے۔
ٹریڈنگ کی قسم اور وقت کی مدت کے لچکدار انتخاب ، لچکدار۔
اس حکمت عملی کے کچھ خطرات بھی ہیں:
ZigZag اشارے کے پیرامیٹرز کی غلط ترتیب سے تجارتی مواقع ضائع ہوسکتے ہیں۔
معاون مزاحمت کی سطح کو توڑنے کے بعد دوبارہ جانچ پڑتال ہوسکتی ہے ، خطرے کو کنٹرول کرنے کے لئے نقصان کو روکنا چاہئے۔
بریک سگنل میں غلطی ہوسکتی ہے اور اس کی تصدیق رجحانات اور شکلوں کے ساتھ کی جانی چاہئے۔
مارکیٹ میں طویل عرصے تک افقی اتار چڑھاؤ ہوسکتا ہے ، اس وقت حکمت عملی بہت زیادہ غیر موثر تجارت پیدا کرسکتی ہے۔
ٹرانزیکشن لاگت کے اثرات پر غور کرنے کی ضرورت ہے اور زیادہ بار بار ٹرانزیکشن سے بچنے کی ضرورت ہے۔
اس کا جواب یہ ہے:
ZigZag پیرامیٹرز کو بہتر بنائیں اور بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔
توڑنے کے بعد بروقت اسٹاپ نقصان کا تعین کریں ، اور انفرادی نقصان پر قابو پالیں۔
رجحان اشارے اور دیگر فلٹرنگ سگنل کے ساتھ مل کر ، درستگی میں اضافہ کریں۔
اس مدت کے دوران تجارت نہ کرنے کے لئے مارکیٹ کی صفائی کی شناخت کے لئے شرائط شامل کی جائیں۔
ٹوٹ پھوٹ کی حد کو مناسب طریقے سے کم کریں اور غیر موثر تجارت کو کم کریں۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
ZigZag پیرامیٹرز کو بہتر بنائیں ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔ بہترین پیرامیٹرز کو دوبارہ جانچنے کے ذریعے تلاش کیا جاسکتا ہے۔
داخلہ کو توڑنے کے بعد معاون مزاحمت کی پوزیشن کو دوبارہ جانچنے کے امکان پر غور کریں ، دوبارہ جانچنے کے لئے باہر نکلنے کا منطق ترتیب دیں۔
ٹرینڈ اشارے جیسے ایم اے کے ساتھ مل کر ٹریڈنگ سگنل کو فلٹر کریں جو کم امکانات میں ظاہر ہوتے ہیں۔
ٹوٹنے والے سگنل کی تصدیق کرنے اور غلط سگنل سے بچنے کے لئے توانائی کے اشارے وغیرہ میں اضافہ کریں۔
Lachenbruch میں ذکر کردہ دوہری حکمت عملی کو ترتیب دیں ((ایک ہی وقت میں زیادہ کام کرنا) ، غلط سگنل کو فلٹر کرنے اور منافع کمانے کے لئے۔
مشین لرننگ جیسے الگورتھم کو متحرک طور پر بہتر بنانے کے پیرامیٹرز پر غور کریں۔
اسٹاپ نقصان کی حکمت عملی متعارف کروائیں اور خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان کا نقطہ مقرر کریں۔
یہ حکمت عملی مجموعی طور پر ایک سادہ اور عملی جھٹکا توڑنے کی حکمت عملی ہے۔ یہ زیگ زیگ اشارے کا استعمال کرتے ہوئے معاونت اور مزاحمت کی لائنوں کا نقشہ بناتا ہے ، اور جب قیمت ان لائنوں کو توڑتی ہے تو اس پر عمل درآمد ہوتا ہے۔ حکمت عملی میں مضبوط موافقت ہے ، لیکن اس میں کچھ خطرہ بھی ہے۔ اس حکمت عملی کو پیرامیٹرز کی اصلاح ، سگنل فلٹرنگ ، اور خطرہ کنٹرول جیسے طریقوں سے بہتر بنایا جاسکتا ہے۔ اس طرح کی توڑنے والی حکمت عملی فعال تاجروں کے لئے موزوں ہے جو مارکیٹ کی رفتار پر قابو رکھتے ہیں۔
/*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)