অস্থিরতা পরিসীমা ব্রেকআউট ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-০৯-২১ ২০ঃ৩৮ঃ২৯
ট্যাগঃ

সারসংক্ষেপ

এই কৌশলটি মূল্যের historicalতিহাসিক অস্থিরতার পরিসরের উপর ভিত্তি করে ট্রেডিং সংকেত তৈরি করে। এটি একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন দামের মধ্যে পার্থক্য গণনা করে এবং চলমান গড় ব্যবহার করে একটি অস্থিরতা পরিসীমা গঠন করে। যখন দামটি পরিসরের উপরের বা নীচের ব্যান্ডগুলি ভেঙে যায় তখন ট্রেডিং সংকেতগুলি ট্রিগার হয়। এটি প্রবণতা অনুসরণকারী ব্রেকআউট কৌশলগুলির অন্তর্গত।

কৌশলগত যুক্তি

মূল সূচক হল মূল্যের ঐতিহাসিক অস্থিরতা। নির্দিষ্ট হিসাব হলঃ

  1. গত N বারের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্যের মধ্যে পার্থক্য গণনা করুন, যা HL বলা হয়

  2. N বার, avg ((H, L) এর উপরে সর্বোচ্চ এবং সর্বনিম্ন মূল্যের গড় গণনা করুন

  3. অস্থিরতা = HL/avg ((H, L)

যেখানে N হল Volatility Length পরামিতি।

ভোল্টেবিলিটি পাওয়ার পর, ব্যান্ডগুলি নিম্নরূপ গণনা করা হয়ঃ

উপরের ব্যাণ্ড = বর্তমান বন্ধ + বর্তমান বন্ধ * অস্থিরতা

Lower Band = বর্তমান বন্ধ - বর্তমান বন্ধ * Volatility

তারপরে WMA দ্বারা ব্যান্ডগুলি গড় দৈর্ঘ্য হিসাবে সেট করা সময়ের সাথে মসৃণ করা হয়।

যখন দাম উপরের ব্যান্ডের উপরে ভেঙে যায়, তখন লম্বা হয়ে যায়। যখন দাম নীচের ব্যান্ডের নিচে ভেঙে যায়, তখন শর্ট হয়ে যায়।

প্রস্থান সংকেতগুলি Exit Type দ্বারা সংজ্ঞায়িত করা হয়ঃ

  1. যদি Exit Type হয় Volatility MA, যখন দাম WMA এর নিচে ফিরে আসে তখন Exit করুন।

  2. যদি প্রস্থান টাইপটি রেঞ্জ ক্রসওভার হয়, তবে যখন দাম ব্যান্ডের নীচে ফিরে আসে তখন প্রস্থান করুন।

সুবিধা

  • অস্থিরতা ট্রেন্ডিং মুভসকে ভালভাবে ধরছে
  • ডব্লিউএমএ ব্যান্ডকে আরো স্থিতিশীল এবং নির্ভরযোগ্য করে তোলে
  • ব্রেকআউট সিগন্যালগুলি সময়মত ট্রেন্ড পরিবর্তন করে
  • ডব্লিউএমএ/ব্যান্ডের উপর ভিত্তি করে আউটপুটগুলি দ্রুত ক্ষতি হ্রাস করে
  • বিভিন্ন বাজারের জন্য প্যারামিটার টিউনিংয়ের জন্য অনেক জায়গা

ঝুঁকি

  • ব্রেকআউটগুলি দামের বিপরীতমুখী হতে পারে
  • প্রবণতা বিপরীত হলে বড় ক্ষতির ঝুঁকি
  • ডব্লিউএমএ কখনও কখনও ট্রেন্ড টার্নিং সনাক্ত করতে বিলম্ব করে
  • প্যারামিটার অপ্টিমাইজেশান সহজ নয়, অনেক ট্রায়াল এবং ত্রুটি প্রয়োজন
  • বৃহত্তর ড্র-আউট, ভাল ঝুঁকি ব্যবস্থাপনা প্রয়োজন

নিম্নলিখিত উপায়ে ঝুঁকি কমাতে পারেঃ

  • আরও নির্ভরযোগ্য ব্যান্ডের জন্য প্যারামিটার অপ্টিমাইজ করা
  • অন্য সূচক যোগ করা হচ্ছে whipsaws এড়াতে
  • ছোট আকার এবং ঝুঁকি ব্যবস্থাপনা
  • পুনরায় প্রবেশের বিষয়টি বিবেচনা করা হচ্ছে

অপ্টিমাইজেশান নির্দেশাবলী

কৌশলটি নিম্নলিখিতগুলির মাধ্যমে উন্নত করা যেতে পারেঃ

  1. প্যারামিটার টিউনিং

সর্বোত্তম সমন্বয় খুঁজে পেতে বিভিন্ন দৈর্ঘ্যের মান পরীক্ষা করুন।

  1. অন্যান্য সূচক যোগ করা

উদাহরণস্বরূপ, যখন দাম উপরের ব্যান্ডের উপরে ভাঙ্গবে, তখন MACD-এরও গোল্ডেন ক্রস আছে কিনা তা পরীক্ষা করে দেখুন।

  1. স্টপ লস করা ভালো

সহজ রেঞ্জ ব্রেক স্টপের পরিবর্তে ট্রেলিং স্টপে অপ্টিমাইজ করা হচ্ছে।

  1. পুনরায় প্রবেশ

থামার পর আবার ট্রেন্ড ধরার জন্য পুনরায় প্রবেশের নিয়ম সেট করুন।

  1. অবস্থান আকার

বাজারের অস্থিরতার উপর ভিত্তি করে আকারগুলি গতিশীলভাবে সামঞ্জস্য করুন।

সংক্ষিপ্তসার

এই কৌশলটি প্রবণতা বাজারের জন্য ভাল কাজ করে, প্রবণতা শক্তি পরিমাপ করতে এবং ব্রেকআউট সংকেতগুলির জন্য নির্ভরযোগ্য ট্রেডিং ব্যাপ্তি গঠনের জন্য ডাব্লুএমএ ব্যবহার করে। তবে কিছু সমস্যা রয়েছে যেমন পিছিয়ে পড়া প্রবণতা সনাক্তকরণ, উন্নতিযোগ্য স্টপ ইত্যাদি। প্যারামিটার এবং নিয়মগুলি সামঞ্জস্য করার জন্য বাস্তব ডেটা ব্যবহার করে ব্যাপক ব্যাকটেস্টিং এবং অপ্টিমাইজেশনের প্রয়োজন, মিথ্যা সংকেতগুলি হ্রাস করে এবং এটিকে বিভিন্ন বাজারের অবস্থার মধ্যে শক্তিশালী করে তোলে। এছাড়াও কঠোর ঝুঁকি ব্যবস্থাপনা দীর্ঘমেয়াদী লাভজনকতার মূল চাবিকাঠি।


/*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))

আরো