یکطرفہ رجحان جھٹکا پیش رفت کی حکمت عملی


تخلیق کی تاریخ: 2024-01-18 14:59:30 آخر میں ترمیم کریں: 2024-01-18 14:59:30
کاپی: 1 کلکس کی تعداد: 614
1
پر توجہ دیں
1617
پیروکار

یکطرفہ رجحان جھٹکا پیش رفت کی حکمت عملی

جائزہ

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

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

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

جب رجحان کا فیصلہ کرتے ہیں تو ، حکمت عملی چیک کرتی ہے کہ آیا حالیہ K لائنوں میں سے سبھی راستے کے اوپر بند ہیں (متعدد سر سگنل) یا راستے کے نیچے (خالی سر سگنل) ۔ جب رجحان کا فیصلہ کیا جاتا ہے تو ، حکمت عملی قیمت کے جھٹکے کا انتظار کرتی ہے ، راستے کے اوپری ریل یا نچلے ریل کے قریب ایک بریک فارم سگنل بناتا ہے ، اور ریورس انٹری کے راستے میں داخل ہوتا ہے۔

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

طاقت کا تجزیہ

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

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

خطرے کا تجزیہ

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

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

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

اصلاح کی سمت

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.5", shorttitle = "Scalper str 1.5", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needbe = input(true, defval = true, title = "Bands Entry")
needct = input(false, defval = false, title = "Counter-trend entry")
bodylen = input(10, defval = 10, minval = 0, maxval = 50, title = "Body length")
trb = input(1, defval = 1, minval = 1, maxval = 5, title = "Trend bars")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
chd = close > hd
cld = close < ld
uptrend = trb == 1 and chd ? 1 : trb == 2 and chd and chd[1] ? 1 : trb == 3 and chd and chd[1] and chd[2] ? 1 : trb == 4 and chd and chd[1] and chd[2] and chd[3] ? 1 : trb == 5 and chd and chd[1] and chd[2] and chd[3] and chd[4] ? 1 : 0
dntrend = trb == 1 and cld ? 1 : trb == 2 and cld and cld[1] ? 1 : trb == 3 and cld and cld[1] and cld[2] ? 1 : trb == 4 and cld and cld[1] and cld[2] and cld[3] ? 1 : trb == 5 and cld and cld[1] and cld[2] and cld[3] and cld[4] ? 1 : 0
trend = dntrend == 1 and high < center ? -1 : uptrend == 1 and low > center ? 1 : trend[1]

//trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = ema(body, 30) / 10 * bodylen

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and bar == -1)) ? 1 : 0
dn7 = trend == 1 and ((bar == 1 and bar[1] == 1) or (close > hd and needbe == true)) and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and ((bar == -1 and bar[1] == -1) or (close < ld2 and needbe == true)) and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and bar == 1)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)