ট্রেডিং সিগন্যাল নির্ধারণের জন্য এই কৌশলটি মূল্যের ঐতিহাসিক ওঠানামার উপর ভিত্তি করে। এটি একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ মূল্য এবং সর্বনিম্ন মূল্যের পার্থক্য গণনা করে এবং একটি চলমান গড়ের মাধ্যমে ওঠানামার অঞ্চল তৈরি করে। যখন দামগুলি এই অঞ্চলের উত্থান-পতন অতিক্রম করে তখন ট্রেডিং সিগন্যাল তৈরি করে। এটি মূল্যের ব্রেকডাউন-ভিত্তিক ট্রেন্ড ট্র্যাকিং কৌশল।
এই কৌশলটির কেন্দ্রীয় সূচক হল দামের ঐতিহাসিক ওঠানামা।
অতীতের সর্বোচ্চ এবং সর্বনিম্ন মূল্যের মধ্যে পার্থক্য হিসাব করে, যা HL হিসাবে লেখা হয়
গত N-রুট Bar এর সর্বোচ্চ এবং সর্বনিম্ন মূল্যের গড় গড় গণনা করুন
ভোল্টেজ হার = HL / avg (H, L)
যেখানে N হল “Volatility Length” প্যারামিটার।
এর অর্থ হল যে, আপনি যদি আপনার প্রবৃদ্ধির হারটি গণনা করেন, তাহলে আপনি নিম্নের দিকে চলে যাবেনঃ
ট্র্যাক আপ = বর্তমান বন্ধ + বর্তমান বন্ধ * অস্থিরতা হার
নিচের ট্র্যাক = বর্তমান ক্লোজ - বর্তমান ক্লোজ * অস্থিরতা
WMA সমতল রেখা দিয়ে আপ এবং ডাউন ট্র্যাকটি মসৃণ করা হয়, প্যারামিটারটি হল “Average Length”।
যখন দাম উর্ধ্বমুখী হয়, তখন বেশি করুন; যখন দাম নিম্নমুখী হয়, তখন কম করুন।
“Exit Type” প্যারামিটার অনুযায়ী সমতল সংকেত দেওয়া হয়েছেঃ
যখন Exit Type হল Volatility MA, তখন দাম WMA গড় সমতল অবস্থানে ফিরে যায়;
Exit Type যখন Range Crossover হয়, তখন দাম আবারও উপরের এবং নীচের ট্র্যাকের সমতলতা ভাঙবে।
ঝুঁকি কমানোর জন্য নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করা যেতে পারেঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
বিভিন্ন দৈর্ঘ্য পরামিতি পরীক্ষা করে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করুন।
উদাহরণস্বরূপ, যদি 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))