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

مصنف:چاؤ ژانگ، تاریخ: 2023-09-21 20:38:29
ٹیگز:

جائزہ

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

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

بنیادی اشارے قیمت کی تاریخی اتار چڑھاؤ ہے۔ مخصوص حساب یہ ہے:

  1. پچھلے N باروں میں سب سے زیادہ اور سب سے کم قیمتوں کے درمیان فرق کا حساب لگائیں، جسے HL کہا جاتا ہے

  2. N سلاخوں پر سب سے زیادہ اور سب سے کم قیمتوں کا اوسط حساب لگائیں، avg ((H، L)

  3. اتار چڑھاؤ = HL / AVG ((H، L)

جہاں N Volatility Length پیرامیٹر ہے۔

اتار چڑھاؤ حاصل کرنے کے بعد، بینڈ کا حساب لگایا جاتا ہے:

اوپری بینڈ = موجودہ بند + موجودہ بند * اتار چڑھاؤ

کم بینڈ = موجودہ بندش - موجودہ بندش * اتار چڑھاؤ

اس کے بعد بینڈ کو WMA کے ذریعہ ہموار کیا جاتا ہے جس میں مدت اوسط لمبائی کے طور پر مقرر کی جاتی ہے۔

جب قیمت اوپری بینڈ سے اوپر ٹوٹ جاتی ہے تو ، طویل ہوجائیں۔ جب قیمت نچلی بینڈ سے نیچے ٹوٹ جاتی ہے تو ، مختصر ہوجائیں۔

باہر نکلنے والے سگنل باہر نکلنے کی قسم کے ذریعہ بیان کیے گئے ہیں:

  1. اگر باہر نکلنے کی قسم Volatility MA ہے تو، باہر نکلیں جب قیمت WMA سے نیچے واپس آتی ہے.

  2. اگر ایگزٹ ٹائپ رینج کراس اوور ہے تو، جب قیمت بینڈ سے نیچے واپس گزرتی ہے تو باہر نکلیں.

فوائد

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

خطرات

  • بریکآؤٹس قیمت کے الٹ کے ساتھ whipsaw کر سکتے ہیں
  • رجحان کے الٹ جانے پر بڑے نقصانات کا خطرہ
  • ڈبلیو ایم اے کبھی کبھی رجحان موڑ کا پتہ لگانے میں تاخیر کرتا ہے
  • پیرامیٹر کی اصلاح آسان نہیں ہے، بہت آزمائش اور غلطی کی ضرورت ہے
  • بڑے کھپت، اچھی خطرے کے انتظام کی ضرورت ہے

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

  • زیادہ قابل اعتماد بینڈ کے لئے پیرامیٹرز کو بہتر بنانا
  • وِپساؤ سے بچنے کے لیے دیگر اشارے شامل کرنا
  • چھوٹے سائز اور بہتر رسک مینجمنٹ
  • دوبارہ داخلے پر غور

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

اسٹریٹیجی کو بہتر بنایا جاسکتا ہے:

  1. پیرامیٹر ٹیوننگ

زیادہ سے زیادہ مجموعہ تلاش کرنے کے لئے مختلف لمبائی اقدار کی جانچ کریں.

  1. دیگر اشارے کا اضافہ

مثال کے طور پر، جب قیمت اوپری بینڈ سے اوپر ہوتی ہے، تو چیک کریں کہ آیا ایم اے سی ڈی بھی سنہری صلیبوں پر ہے.

  1. بہتر سٹاپ نقصان

سادہ رینج وقفے رک جاتا ہے کے بجائے پیچھے رک جاتا ہے کرنے کے لئے اصلاح.

  1. دوبارہ اندراج

سٹاپ کے بعد دوبارہ رجحانات کو پکڑنے کے لئے دوبارہ داخلہ کے قوانین مقرر کریں.

  1. پوزیشن سائزنگ

مارکیٹ کی اتار چڑھاؤ کی بنیاد پر سائز کو متحرک طور پر ایڈجسٹ کریں۔

خلاصہ

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


/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
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/
// © wbburgin

//@version=5
strategy("Volatility Range Breakout Strategy [wbburgin]", shorttitle = "VRB Strategy [wbburgin]", overlay=true,
 pyramiding=20,max_bars_back=2000,initial_capital=10000)

wma(float priceType,int length,float weight) =>
    norm = 0.0
    sum = 0.0
    for i = 0 to length - 1
        norm := norm + weight
        sum := sum + priceType[i] * weight
    sum / norm

// This definition of volatility uses the high-low range divided by the average of that range.
volatility(source,length) =>
    h = ta.highest(source,length)
    l = ta.lowest(source,length)
    vx = 2 * (h - l) / (h + l)
    vx

vm1 = input.int(100,"Average Length")
volLen = input.int(100,"Volatility Length")
vsrc = input.source(close,"Volatility Source")
cross_type = input.source(close,"Exit Source")
exit_type = input.string("Volatility MA",options=["Volatility MA","Range Crossover"],title="Exit Type")

volatility = volatility(vsrc,volLen)

highband1 = close + (close * volatility)
lowband1 = close - (close * volatility)
hb1 = wma(highband1,vm1,volatility)
lb1 = wma(lowband1,vm1,volatility)
hlavg = math.avg(hb1,lb1)

upcross = ta.crossover(high,hb1)    //Crossing over the high band of historical volatility signifies a bullish breakout
dncross = ta.crossunder(low,lb1)    //Crossing under the low band of historical volatility signifies a bearish breakout

vlong = upcross
vshort = dncross
vlong_exit = switch
    exit_type == "Volatility MA" => ta.crossunder(cross_type,hlavg)
    exit_type == "Range Crossover" => ta.crossunder(cross_type,hb1)
vshort_exit = switch
    exit_type == "Volatility MA" => ta.crossover(cross_type,hlavg)
    exit_type == "Range Crossover" => ta.crossover(cross_type,lb1)

if vlong
    strategy.entry("Long",strategy.long)
if vlong_exit
    strategy.close("Long")
if vshort
    strategy.entry("Short",strategy.short)
if vshort_exit
    strategy.close("Short")

plot(hlavg,color=color.white,title="Weighted Volatility Moving Average")
t = plot(hb1,color=color.new(color.red,50),title="Volatility Reversal Band - Top")
b = plot(lb1,color=color.new(color.green,50),title="Volatility Reversal Band - Bottom")

alertcondition(vlong,"Volatility Long Entry Signal")
alertcondition(vlong_exit,"Volatility Long Exit Signal")
alertcondition(vshort,"Volatility Short Entry Signal")
alertcondition(vshort_exit,"Volatility Short Exit Signal")

fill(t,b,color=color.new(color.aqua,90))

مزید