زگ زگ پر مبنی رجحان کی پیروی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-30 14:51:08
ٹیگز:

img

جائزہ

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

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

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

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

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

خاص طور پر ، جب ZigZag ایک نئی اونچائی کی طرف جاتا ہے تو حکمت عملی لمبی ہوتی ہے ، اور جب ZigZag ایک نئی کم ہوتی ہے تو مختصر ہوجاتی ہے۔ باہر نکلنے کی شرط یہ ہے کہ جب ZigZag دوبارہ موڑ دیتا ہے۔ اس سے رجحان کی نشاندہی کے لئے ZigZag پر مبنی آٹو ٹریڈنگ حاصل ہوتی ہے۔

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

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

خطرے کا تجزیہ

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

خطرات کو کم کیا جا سکتا ہے:

  • رجحان کی تبدیلی کے خطرات کا پتہ لگانے کے لئے دیگر اشارے کا امتزاج۔
  • ہولڈنگ پیریڈ کو کم کرنا، بروقت سٹاپ نقصان۔
  • واحد نقصان کے سائز کو محدود کرنے کے لئے خطرے کے انتظام کو شامل کرنا.
  • مضبوطی کو بہتر بنانے کے لیے مشین لرننگ ماڈل شامل کرنا۔

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

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

  1. اسٹاپ نقصان شامل کریں تاکہ واحد نقصان کے خطرے کو کنٹرول کیا جاسکے، مثال کے طور پر ٹریلنگ اسٹاپ یا اسٹاپ حد کے احکامات۔

  2. رجحان کی تبدیلی کا پتہ لگانے کے طریقہ کار شامل کریں ، جیسے ایم اے سی ڈی ، چلتی اوسط۔ جب تبدیلی کا پتہ چلتا ہے تو پوزیشنیں بند کریں۔

  3. دوبارہ داخلہ ماڈیول شامل کریں، جب رجحان جاری ہے تو اہرام کی پوزیشن.

  4. رجحان کا پتہ لگانے میں مدد کے لئے LSTM جیسے مشین لرننگ ماڈل شامل کریں۔

  5. ڈراؤونگ یا رابطے کے نظریات کی بنیاد پر دارالحکومت کے انتظام کو بہتر بنائیں۔

  6. بیک ٹیسٹنگ اور حوالہ جات کی مہارت کی طرف سے ZigZag مدت کی طرح پیرامیٹرز کو مکمل طور پر بہتر بنائیں.

خلاصہ

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


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

//Noro
//2018

//@version=2
strategy(title = "Noro's ZZ Strategy v1.0", shorttitle = "ZZ 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(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title='Timeframe for ZigZag')
showzz = input(false, defval = false, title = "Show ZigZag")
showbg = input(false, defval = false, title = "Show Background")
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
zigzag() =>
    _isUp = close >= open
    _isDown = close <= open
    _direction = _isUp[1] and _isDown ? -1 : _isDown[1] and _isUp ? 1 : nz(_direction[1])
    _zigzag = _isUp[1] and _isDown and _direction[1] != -1 ? highest(2) : _isDown[1] and _isUp and _direction[1] != 1 ? lowest(2) : na
useAltTF = true
zz = useAltTF ? (change(time(tf)) != 0 ? request.security(syminfo.tickerid, tf, zigzag()) : na) : zigzag()
zzcolor = showzz ? black : na
plot(zz, title = 'ZigZag', color = zzcolor, linewidth = 2)

//Levels
dot = zz > 0 ? zz : dot[1]
uplevel = dot > dot[1] ? dot : uplevel[1]
dnlevel = dot < dot[1] ? dot : dnlevel[1]
colorup = close[1] < uplevel[1] and uplevel == uplevel[1] ? lime : na
colordn = close[1] > dnlevel[1] and dnlevel == dnlevel[1] ? red : na
plot(uplevel, color = colorup, linewidth = 3)
plot(dnlevel, color = colordn, linewidth = 3)

//Background
size = strategy.position_size
bgcol = showbg == false ? na : size != size[1] ? blue : na
bgcolor(bgcol, transp = 50)

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

if uplevel > 0 and dnlevel > 0
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel + syminfo.mintick)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel - syminfo.mintick)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

مزید