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