اسٹریٹجی کے بعد چمکتا ہوا بولٹ رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-02-02 17:30:09
ٹیگز:

img

جائزہ

اس حکمت عملی کا نام Dazzling Bolts ہے۔ یہ تین حرکت پذیر اوسطوں پر مبنی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ قیمت کے رجحان کا تعین کرنے کے لئے تیز ، درمیانے اور سست لائنوں کے کراس اوورز کا استعمال کرتی ہے اور اے ٹی آر اقدار کی بنیاد پر اہداف اور رک جاتا ہے۔

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

حکمت عملی مندرجہ ذیل تین چلتے ہوئے اوسط استعمال کرتی ہے:

  1. قلیل مدتی رجحان کا اندازہ کرنے کے لئے 13 پیریڈ وزٹ شدہ چلتی اوسط
  2. درمیانی مدت کے رجحان کے لئے 55 پیریڈ کے ایکسپونینشل چلتی اوسط
  3. طویل مدتی رجحان کے لیے 110 پیریڈ کا سادہ چلتا ہوا اوسط

جب تیز لائن میڈیم لائن سے اوپر اور میڈیم لائن سست لائن سے اوپر کراس کرتی ہے تو ، یہ ایک اپ ٹرینڈ کا اشارہ کرتی ہے۔ جب تیز لائن میڈیم لائن سے نیچے کراس کرتی ہے اور میڈیم لائن سست لائن سے نیچے کراس کرتی ہے تو ، یہ ایک ڈاؤن ٹرینڈ کا اشارہ کرتی ہے۔

کچھ شور کی تجارت کو فلٹر کرنے کے لئے، کئی معاون شرائط مقرر کی جاتی ہیں:

  1. گزشتہ 5 موم بتیوں کی کم قیمتیں سبھی درمیانی لائن سے اوپر تھیں
  2. آخری 2 موم بتیوں کی کم قیمت درمیانی لائن سے نیچے گر گئی
  3. آخری موم بتی کی بندش کی قیمت درمیانی لائن سے اوپر تھی

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

اہداف اور رکاوٹوں کو اے ٹی آر اقدار کے کچھ ضربوں کی بنیاد پر رکھا جاتا ہے۔

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

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

  1. تین حرکت پذیر اوسطوں کا مجموعہ استعمال کرنے سے ایک ہی اشارے سے غلط فیصلے کے امکان سے بچتا ہے۔
  2. متعدد معاون حالات شور کو فلٹر کرکے سگنل کے معیار کو بہتر بنانے میں مدد کرتے ہیں۔
  3. متحرک اے ٹی آر سٹاپ نقصان ایک ہی تجارت کے نقصان کو کنٹرول کرنے میں مدد ملتی ہے.

خطرے کا تجزیہ

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

  1. چلتی اوسط مجموعہ غلط سگنل دے سکتا ہے، کافی بیک ٹسٹ کی ضرورت ہوتی ہے.
  2. غلط ATR ضارب کی ترتیبات کی وجہ سے روکنے کے لئے بہت لچکدار یا تنگ ہو سکتا ہے.
  3. غیر متوقع واقعات سے قیمتوں میں اتار چڑھاؤ کو مؤثر طریقے سے فلٹر کرنے میں ناکام۔

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

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

اس حکمت عملی کے لئے ممکنہ اصلاحات:

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

خلاصہ

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


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © greenmask9

//@version=4
strategy("Dazzling Bolts", overlay=true)
//max_bars_back=3000

// 13 SMMA
len = input(10, minval=1, title="SMMA Period")
src = input(close, title="Source")
smma = 0.0
smma := na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len

// 55 EMA
emalength = input(55, title="EMA Period")
ema = ema(close, emalength)

// 100 SMA
smalength = input(110, title="SMA Period")
sma = sma(close, smalength)

emaforce = input(title="Force trend with medium EMA", type=input.bool, defval=true)
offsetemavalue = input(defval = 6)

bullbounce = smma>ema and ema>sma and low[5]>ema and low[2]<ema and close[1]>ema and (ema[offsetemavalue]>sma or (not emaforce))
bearbounce = smma<ema and ema<sma and high[5]<ema and high[2]>ema and close[1]<ema and (ema[offsetemavalue]<sma or (not emaforce))
plotshape(bullbounce,  title= "Purple", location=location.belowbar, color=#ff33cc, transp=0, style=shape.triangleup, size=size.tiny, text="Bolts")
plotshape(bearbounce,  title= "Purple", location=location.abovebar, color=#ff33cc, transp=0, style=shape.triangledown, size=size.tiny, text="Bolts")
strategy.initial_capital = 50000
ordersize=floor(strategy.initial_capital/close)
longs = input(title="Test longs", type=input.bool, defval=true)
shorts = input(title="Test shorts", type=input.bool, defval=true)
atrlength = input(title="ATR length", defval=12)
atrm = input(title="ATR muliplier",type=input.float, defval=2)
atr = atr(atrlength)

target = close + atr*atrm
antitarget = close - (atr*atrm)

//limits and stop do not move, no need to count bars from since

bullbuy = bullbounce and longs and strategy.opentrades==0
bb = barssince(bullbuy)
bearsell = bearbounce and shorts and strategy.opentrades==0
bs = barssince(bearsell)

if (bullbuy)
    strategy.entry("Boltsup", strategy.long, ordersize)
    strategy.exit ("Bolts.close", from_entry="Boltsup", limit=target, stop=antitarget)
if (crossover(smma, sma))
    strategy.close("Boltsup", qty_percent = 100, comment = "Bolts.crossover")

if (bearsell)
    strategy.entry("Boltsdown", strategy.short, ordersize)
    strategy.exit("Bolts.close", from_entry="Boltsdown", limit=antitarget, stop=target)
if (crossunder(smma, sma))
    strategy.close("Boltsdown", qty_percent = 100, comment = "Bolts.crossover")

// if (bb<5)
//     bulltarget = line.new(bar_index[bb], target[bb], bar_index[0], target[bb], color=color.blue, width=2)
//     bullclose = line.new(bar_index[bb], close[bb], bar_index[0], close[bb], color=color.blue, width=2)
//     bullstop = line.new(bar_index[bb], antitarget[bb], bar_index[0], antitarget[bb], color=color.blue, width=2)
// if (bs<5)
//     bulltarget = line.new(bar_index[bs], antitarget[bs], bar_index[0], antitarget[bs], color=color.purple, width=2)
//     bullclose = line.new(bar_index[bs], close[bs], bar_index[0], close[bs], color=color.purple, width=2)
//     bullstop = line.new(bar_index[bs], target[bs], bar_index[0], target[bs], color=color.purple, width=2)


مزید