Volatility Breakout Reversal ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-19 15:12:44
ٹیگز:

img

جائزہ

Volatility Breakout Reversal Trading Strategy ایک ریورس ٹریڈنگ حکمت عملی ہے جو قیمتوں کے چینلز کو ایڈجسٹ حرکت پذیر اسٹاپ منافع اور اسٹاپ نقصان کے پوائنٹس کے ساتھ ٹریک کرتی ہے۔ جب قیمتیں اتار چڑھاؤ کی بنیاد پر شمار کردہ چینلز سے باہر نکلتی ہیں تو یہ لمبی یا مختصر پوزیشنیں قائم کرتی ہے۔

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

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

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

فوائد

  1. مارکیٹ کی تبدیلیوں کو ٹریک کرنے والے موافقت پذیر چینلز کا حساب لگانے کے لئے اتار چڑھاؤ کا استعمال کرتا ہے
  2. ریورس ٹریڈنگ ٹرینڈ ریورس مارکیٹس
  3. منافع میں اسٹاپ منافع اور اسٹاپ نقصان کے تالے منتقل کرنا اور خطرہ کو کنٹرول کرنا

خطرات

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

حل:

  1. مناسب چینل چوڑائی کے لئے ATR مدت اور ARC فیکٹر کو بہتر بنائیں
  2. داخلہ سگنل کے لئے رجحان فلٹر شامل کریں
  3. ATR مدت کو کم تجارتی تعدد تک بڑھانا

بہتر مواقع

  1. اے ٹی آر مدت اور اے آر سی فیکٹر کو بہتر بنائیں
  2. داخلہ کی شرائط جیسے MACD شامل کریں
  3. سٹاپ نقصان کی حکمت عملی شامل کریں

نتیجہ

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


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//@author=LucF

// Volatility System [LucF]
// v1.0, 2019.04.14

// The Volatility System was created by Welles Wilder.
// It first appeared in his seminal masterpiece "New Concepts in Technical Trading Systems" (1978).
// He describes it on pp.23-26, in the chapter discussing the first presentation ever of the "Volatility Index",
// which later became known as ATR.
// Performance of the strategy usually increases with the time frame.
// Tuning of ATR length and, especially, the ARC factor, is key.

// This code runs as a strategy, which cannot generate alerts.
// If you want to use the alerts it must be converted to an indicator.
// To do so:
//      1. Swap the following 2 lines by commenting the first and uncommenting the second.
//      2. Comment out the last 4 lines containing the strategy() calls.
//      3. Save.
strategy(title="Volatility System by Wilder [LucF]", shorttitle="Volatility System [Strat]", overlay=true, precision=8, pyramiding=0, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)
// study("Volatility System by Wilder [LucF]", shorttitle="Volatility System", precision=8, overlay=true)

// -------------- Colors
MyGreenRaw = color(#00FF00,0),      MyGreenMedium = color(#00FF00,50),  MyGreenDark = color(#00FF00,75),    MyGreenDarkDark = color(#00FF00,92)
MyRedRaw = color(#FF0000,0),        MyRedMedium = color(#FF0000,30),    MyRedDark = color(#FF0000,75),      MyRedDarkDark = color(#FF0000,90)

// -------------- Inputs
LongsOnly = input(false,"Longs only")
ShortsOnly = input(false,"Shorts only")
AtrLength = input(9, "ATR length", minval=2)
ArcFactor = input(1.8, "ARC factor", minval=0, type=float,step=0.1)
ShowSAR = input(false, "Show all SARs (Stop & Reverse)")
HideSAR = input(false, "Hide all SARs")
ShowTriggers = input(false, "Show Entry/Exit triggers")
ShowTradedBackground = input(false, "Show Traded Background")

FromYear  = input(defval = 2000,    title = "From Year", minval = 1900)
FromMonth = input(defval = 1,      title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1,       title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999,    title = "To Year", minval = 1900)
ToMonth   = input(defval = 1,       title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1,       title = "To Day", minval = 1, maxval = 31)

// -------------- Date range filtering
FromDate = timestamp(FromYear, FromMonth, FromDay, 00, 00)
ToDate = timestamp(ToYear, ToMonth, ToDay, 23, 59)
TradeDateIsAllowed() => true

// -------------- Calculate Stop & Reverse (SAR) points using Average Range Constant (ARC)
Arc   = atr(AtrLength)*ArcFactor
SarLo = highest(close, AtrLength)-Arc
SarHi = lowest(close, AtrLength)+Arc

// -------------- Entries/Exits
InLong = false
InShort = false
EnterLong = TradeDateIsAllowed() and not InLong[1] and crossover(close, SarHi[1])
EnterShort = TradeDateIsAllowed() and not InShort[1] and crossunder(close, SarLo[1])
InLong := (InLong[1] and not EnterShort[1]) or (EnterLong[1] and not ShortsOnly)
InShort := (InShort[1] and not EnterLong[1]) or (EnterShort[1] and not LongsOnly)

// -------------- Plots
// SAR points
plot( not HideSAR and ((InShort or EnterLong) or ShowSAR)? SarHi:na, color=MyRedMedium, style=circles, linewidth=2, title="SAR High")
plot( not HideSAR and ((InLong or EnterShort) or ShowSAR)? SarLo:na, color=MyGreenMedium, style=circles, linewidth=2, title="SAR Low")
// Entry/Exit markers
plotshape( ShowTriggers and not ShortsOnly and EnterLong, style=shape.triangleup, location=location.belowbar, color=MyGreenRaw, size=size.small, text="")
plotshape( ShowTriggers and not LongsOnly and EnterShort, style=shape.triangledown, location=location.abovebar, color=MyRedRaw, size=size.small, text="")
// Exits when printing only longs or shorts
plotshape( ShowTriggers and ShortsOnly and InShort[1] and EnterLong, style=shape.triangleup, location=location.belowbar, color=MyRedMedium, transp=70, size=size.small, text="")
plotshape( ShowTriggers and LongsOnly and InLong[1] and EnterShort, style=shape.triangledown, location=location.abovebar, color=MyGreenMedium, transp=70, size=size.small, text="")
// Background
bgcolor( color=ShowTradedBackground? InLong and not ShortsOnly?MyGreenDarkDark: InShort and not LongsOnly? MyRedDarkDark:na:na)

// ---------- Alerts
alertcondition( EnterLong or EnterShort, title="1. Reverse", message="Reverse")
alertcondition( EnterLong, title="2. Long", message="Long")
alertcondition( EnterShort, title="3. Short", message="Short")

// ---------- Strategy reversals
strategy.entry("Long", strategy.long, when=EnterLong and not ShortsOnly)
strategy.entry("Short", strategy.short, when=EnterShort  and not LongsOnly)
strategy.close("Short", when=EnterLong and ShortsOnly)
strategy.close("Long", when=EnterShort and LongsOnly)


مزید