یہ حکمت عملی قیمتوں کے تاریخی اتار چڑھاو کی حدود پر مبنی ٹریڈنگ سگنل کا تعین کرتی ہے۔ یہ ایک خاص دورانیے میں سب سے زیادہ قیمتوں اور کم ترین قیمتوں کے فرق کا حساب لگاتا ہے ، اور ایک متحرک اوسط کے ذریعہ اتار چڑھاؤ کی حدود تشکیل دیتا ہے۔ جب قیمت اس حد کے اوپر اور نیچے ٹریک کو توڑ دیتی ہے تو ، تجارتی سگنل پیدا ہوتا ہے۔ یہ قیمتوں کے خلاف ورزی پر مبنی رجحان کی پیروی کرنے والی حکمت عملی ہے۔
اس حکمت عملی کا بنیادی اشارے قیمتوں کی تاریخی اتار چڑھاؤ کی شرح ہے۔ اس کا حساب کتاب کرنے کا طریقہ یہ ہے:
پچھلے N جڑ بار کی اعلی ترین اور کم سے کم قیمتوں کے درمیان فرق کا حساب لگائیں ، اور اسے HL کے طور پر لکھیں
ماضی میں N جڑ بار کے اعلی ترین اور کم سے کم قیمتوں کا اوسط (avg ((H، L))
اتار چڑھاو کی شرح = HL / avg (H، L)
جہاں N “Volatility Length” پیرامیٹر ہے۔
اس کا مطلب یہ ہے کہ آپ کے پاس پہلے سے موجود اعداد و شمار موجود ہیں.
اپ ریل = موجودہ قریبی + موجودہ قریبی * اتار چڑھاؤ کی شرح
نیچے کی طرف = موجودہ قریب - موجودہ قریب * اتار چڑھاؤ کی شرح
اوپر اور نیچے ریل پھر WMA یکساں لائن کے ذریعے ہموار کیا جاتا ہے، پیرامیٹر “Average Length” ہے۔
جب قیمت ٹریک کو توڑتی ہے تو ، زیادہ کام کریں۔ جب قیمت ٹریک کو توڑتی ہے تو ، خالی کرو۔
“Exit Type” پیرامیٹرز کے مطابق فین ہاؤس سگنل دیا گیا ہے:
جب Exit Type Volatility MA ہے تو ، قیمت WMA کی اوسط سطح کو توڑنے کے لئے واپس آتی ہے۔
جب Exit Type رینج کراس اوور ہے تو ، قیمت اوپر اور نیچے کی سطح کو توڑ دیتی ہے۔
مندرجہ ذیل اقدامات سے خطرے کو کم کیا جاسکتا ہے:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
مختلف لمبائی پیرامیٹرز کی جانچ کرکے بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔
مثال کے طور پر ، جب قیمت ٹریک سے ٹکرا جاتی ہے تو ، اگر MACD بھی ایک ہی وقت میں سونے کا کانٹا ہوتا ہے تو ، اس میں داخل ہونے کے لئے زیادہ کام کرنا پڑتا ہے۔
لچکدار ٹریکنگ اسٹاپ کے لئے بہتر بنایا جاسکتا ہے ، نہ کہ سادہ وقفے وقفے سے توڑنے والا اسٹاپ۔
اس کے بعد ، اگر رجحان جاری رہتا ہے تو ، دوبارہ داخل ہونے کی شرائط طے کی جاسکتی ہیں ، اور اس رجحان کا دوبارہ سراغ لگایا جاسکتا ہے۔
مارکیٹ میں اتار چڑھاو کی شرح کے مطابق ، متحرک طور پر تجارت کی پوزیشن کو ایڈجسٹ کریں۔
یہ حکمت عملی مجموعی طور پر رجحان سازی کے لئے موزوں ہے ، رجحان کی سمت اور طاقت کا اندازہ لگانے کے لئے اتار چڑھاؤ کی شرح پر ٹریک اور نیچے کی طرف جاتا ہے ، اور ڈبلیو ایم اے اوسط کے ساتھ مل کر زیادہ قابل اعتماد ٹریڈنگ کا علاقہ بناتا ہے ، جس سے بریک خرید و فروخت کا نقطہ نظر پیدا ہوتا ہے۔ تاہم ، کچھ مسائل بھی ہیں ، جیسے رجحان کا اندازہ لگانے میں تاخیر ، اسٹاپ نقصان کا طریقہ بہتر بنایا جاسکتا ہے ، وغیرہ۔ ہمیں ریئل اسٹیٹ کے اعداد و شمار پر بہت زیادہ بیک اپ اور اصلاح کرنے ، عددی ترتیبات اور حکمت عملی کے قواعد کو ایڈجسٹ کرنے ، غلطی کی غلطی کا امکان کم کرنے کی ضرورت ہے ، تاکہ حکمت عملی مختلف مارکیٹوں میں بہتر کارکردگی کا مظاہرہ کرسکے۔
/*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))