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