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


সৃষ্টির তারিখ: 2023-09-21 20:38:29 অবশেষে সংশোধন করুন: 2023-09-21 20:38:29
অনুলিপি: 1 ক্লিকের সংখ্যা: 677
1
ফোকাস
1617
অনুসারী

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির কেন্দ্রীয় সূচক হল দামের ঐতিহাসিক ওঠানামা।

  1. অতীতের সর্বোচ্চ এবং সর্বনিম্ন মূল্যের মধ্যে পার্থক্য হিসাব করে, যা HL হিসাবে লেখা হয়

  2. গত N-রুট Bar এর সর্বোচ্চ এবং সর্বনিম্ন মূল্যের গড় গড় গণনা করুন

  3. ভোল্টেজ হার = HL / avg (H, L)

যেখানে N হল “Volatility Length” প্যারামিটার।

এর অর্থ হল যে, আপনি যদি আপনার প্রবৃদ্ধির হারটি গণনা করেন, তাহলে আপনি নিম্নের দিকে চলে যাবেনঃ

ট্র্যাক আপ = বর্তমান বন্ধ + বর্তমান বন্ধ * অস্থিরতা হার

নিচের ট্র্যাক = বর্তমান ক্লোজ - বর্তমান ক্লোজ * অস্থিরতা

WMA সমতল রেখা দিয়ে আপ এবং ডাউন ট্র্যাকটি মসৃণ করা হয়, প্যারামিটারটি হল “Average Length”।

যখন দাম উর্ধ্বমুখী হয়, তখন বেশি করুন; যখন দাম নিম্নমুখী হয়, তখন কম করুন।

“Exit Type” প্যারামিটার অনুযায়ী সমতল সংকেত দেওয়া হয়েছেঃ

  1. যখন Exit Type হল Volatility MA, তখন দাম WMA গড় সমতল অবস্থানে ফিরে যায়;

  2. Exit Type যখন Range Crossover হয়, তখন দাম আবারও উপরের এবং নীচের ট্র্যাকের সমতলতা ভাঙবে।

কৌশলগত সুবিধা

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

কৌশলগত ঝুঁকি

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

ঝুঁকি কমানোর জন্য নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করা যেতে পারেঃ

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

অপ্টিমাইজেশান দিক

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

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