আয়তন পরিবর্তনের হারের উপর ভিত্তি করে দীর্ঘ-সংক্ষিপ্ত পর্যায়ক্রমিক চক্র অসিলেটর কৌশল


সৃষ্টির তারিখ: 2023-10-30 11:45:42 অবশেষে সংশোধন করুন: 2023-10-30 11:45:42
অনুলিপি: 1 ক্লিকের সংখ্যা: 686
1
ফোকাস
1617
অনুসারী

আয়তন পরিবর্তনের হারের উপর ভিত্তি করে দীর্ঘ-সংক্ষিপ্ত পর্যায়ক্রমিক চক্র অসিলেটর কৌশল

ওভারভিউ

লেনদেনের পরিমাণ পরিবর্তনের হার গণনা করে এই কৌশলটি বহুমুখী চক্রের রূপান্তর নির্ধারণের জন্য ব্যবহৃত হয়। এটি পরিমাণের গতিশীলতার সূচক এবং দামের ব্রিনব্যান্ডকে সংযুক্ত করে, লেনদেনের পরিমাণের পরিবর্তনের দামের উপর নেতৃত্বের প্রভাব নির্ধারণ করে এবং প্রবণতার বিপরীত বিন্দুগুলি ক্যাপচার করে।

কৌশল নীতি

  1. লেনদেনের গতিশীলতার উপর ভিত্তি করে একটি সূচক পাওয়া যায়।

  2. nresult এর জন্য ব্রিনের বেন্ড গণনা করা হয়, যার ফলে bbr ≠ bbr ≠ bbr ≠ bbr

  3. বুইলিন বন্ডের সমাপ্তি মূল্য গণনা করে, bbr1 পাওয়া যায় যা মূল্যের মানদণ্ডের পার্থক্যকে উপস্থাপন করে।

  4. হিসাব করা হয় হিস্ট, অর্থাৎ ক্রয়-বিক্রয়ের পরিমাণের মানের পার্থক্য বিয়োগ মূল্যের মানের পার্থক্য, যা চূড়ান্ত সূচক হিসেবে ব্যবহৃত হয়।

  5. হিস্টের উপরে 0 শূন্য মাথা প্রবেশের পয়েন্ট এবং নীচে 0 বহু মাথা প্রবেশের পয়েন্ট।

এই কৌশলটি লেনদেনের পরিমাণের পরিবর্তনের হার গণনা করে দামের লেনদেনের পরিমাণের পরিবর্তনের নেতৃত্বের প্রভাবকে বাড়িয়ে তোলে। লেনদেনের পরিমাণ যখন বিপরীত হয় এবং দামটি এখনও বিপরীত হয় না, হিস্টটি লেনদেনের সংকেত দেয়। এটি মূল্যের প্রবণতার বিপরীত দিকটি নির্ধারণ করতে পারে।

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

  1. এই কৌশলটি হল পরিমাণের পরিবর্তনের উপর ভিত্তি করে পরিমাণের পরিবর্তনের উপর ভিত্তি করে কৌশল, যা মূল্যের প্রবণতা প্রতিফলিত করার জন্য একটি বিপরীত বিন্দু।

  2. লেনদেনের পরিমাণের পরিবর্তনের হার গণনা করে, লেনদেনের পরিমাণের পরিবর্তনের দামের নেতৃত্বের প্রভাবকে বাড়িয়ে তোলে, লেনদেনের কার্যকারিতা আরও ভাল।

  3. ব্রিন ব্যান্ড, যা ট্র্যাফিকের গতিশীলতার সূচক এবং মূল্যের সূচককে একত্রিত করে, ট্রেডিং সংকেতকে আরও নির্ভরযোগ্য করে তোলে।

  4. হিস্ট ডেটা ত্রিমাত্রিক সূচকীয় মসৃণ প্রক্রিয়াকরণ দ্বারা সংকেতকে আরও নির্ভুল ও মসৃণ করে তোলে।

  5. একটি ওভার-বই ওভার-সেল লাইন স্থাপন করা, এবং লং-ফ্রি স্টপ লস লিমিট লিস্টের সাথে যুক্ত করা, কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে।

  6. অনেকগুলি কাস্টমাইজযোগ্য প্যারামিটার রয়েছে, যেমন ব্রিন ব্যান্ডের দৈর্ঘ্য, স্ট্যান্ডার্ড ডিফারেনশিয়াল গুণক, হিস্ট ডেটা মসৃণকরণ প্যারামিটার ইত্যাদি, কৌশলগত অপ্টিমাইজেশনের জন্য।

কৌশলগত ঝুঁকি

  1. এই তথ্যগুলো বাজারের লেনদেনের সত্যতা প্রতিফলিত করতে পারে না।

  2. দামের বিপরীততা স্থায়ী হতে পারে না, তবে দামের বিপরীততা বজায় রাখতে পারে।

  3. ভুল প্যারামিটার সেট করলে ট্রেডিং ফ্রিকোয়েন্সি বা সিগন্যাল অকার্যকর হতে পারে।

  4. এই ধরনের ভুল সংকেত এড়াতে সতর্ক থাকুন।

  5. ট্রেন্ড শক্তিশালী হলে বিপরীত সিগন্যালের ফলে ভুল ট্রেডিং হয়।

অপ্টিমাইজেশান প্যারামিটার, অন্যান্য সূচকগুলির সাথে মিলিয়ে ফিল্টার করা যায়, স্টপ লস স্টপ সেট করা যায় যাতে ঝুঁকি নিয়ন্ত্রণযোগ্য থাকে।

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

  1. ব্রিনের বেন্ড প্যারামিটারগুলিকে অপ্টিমাইজ করা হয়েছে যাতে সংকেত আরও স্থিতিশীল হয়।

  2. ট্রেন্ডিং ইন্ডিকেটরগুলির সাথে মিলিত হয়ে ট্রেন্ডিং সিগন্যালগুলিকে ফিল্টার করুন এবং বিপরীতমুখী ট্রেডিং এড়িয়ে চলুন।

  3. অন্যান্য সূচক যেমন MACD যোগ করুন যাতে ভুয়া সংকেত প্রতিরোধ করা যায়।

  4. এআই প্রযুক্তি ব্যবহার করে প্যারামিটারগুলির জন্য স্ব-অনুকূলিতকরণ অপ্টিমাইজ করুন।

  5. স্টপ লস স্টপ ব্রেক গতিশীল সমন্বয় মডিউল যোগ করা, তহবিল ব্যবস্থাপনা অপ্টিমাইজ করা।

  6. মেশিন লার্নিং এর সাথে মিলিতভাবে, সিগন্যালের গুণগত মান উন্নত করার জন্য মূল্য নির্ধারণ করা হয়েছে।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © tathal and special thanks to oakwhiz for his porting of my custom volume indicator

//@version=5
strategy('Volume Difference Delta Cycle Oscillator', 'VDDC Osc', default_qty_type=strategy.percent_of_equity, default_qty_value=100, max_bars_back=5000)

startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31)
startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12)
startYear = input.int(title='Start Year', defval=2010, minval=1800, maxval=2100)

endDate = input.int(title='End Date', defval=31, minval=1, maxval=31)
endMonth = input.int(title='End Month', defval=12, minval=1, maxval=12)
endYear = input.int(title='End Year', defval=2021, minval=1800, maxval=2100)

// Normalize Function
normalize(_src, _min, _max) =>
    // Normalizes series with unknown min/max using historical min/max.
    // _src      : series to rescale.
    // _min, _min: min/max values of rescaled series.
    var _historicMin = 10e10
    var _historicMax = -10e10
    _historicMin := math.min(nz(_src, _historicMin), _historicMin)
    _historicMax := math.max(nz(_src, _historicMax), _historicMax)
    _min + (_max - _min) * (_src - _historicMin) / math.max(_historicMax - _historicMin, 10e-10)


// STEP 2:
// Look if the close time of the current bar
// falls inside the date range
inDateRange = true

// Stop loss & Take Profit Section     
l_sl_inp = input(2.0, title='Long Stop Loss %') / 100
l_tp_inp = input(4.0, title='Long Take Profit %') / 100

l_stop_level = strategy.position_avg_price * (1 - l_sl_inp)
l_take_level = strategy.position_avg_price * (1 + l_tp_inp)

s_sl_inp = input(2.0, title='Short Stop Loss %') / 100
s_tp_inp = input(4.0, title='Short Take Profit %') / 100

s_stop_level = strategy.position_avg_price * (1 + s_sl_inp)
s_take_level = strategy.position_avg_price * (1 - s_tp_inp)

src = close

//  Volume Differnce Indicator Delta

float change_src = ta.change(src)
float i_obv = ta.cum(change_src > 0 ? volume : change_src < 0 ? -volume : 0 * volume)
float i_pvt = ta.pvt

float result = ta.change(i_obv - i_pvt)

float nresult = ta.ema(normalize(result, -1, 1), 20)


// Volume Differnce Indicator Delta %B
length = input.int(20, minval=1, title='Volume Bands Length')
mult = input.float(2.0, minval=0.001, maxval=50, title='Volume Bands StdDev')
basis = ta.ema(nresult, length)
dev = mult * ta.stdev(nresult, length)
upper = basis + dev
lower = basis - dev
bbr = (nresult - lower) / (upper - lower)

// Normal %B, Based on close

l1 = input.int(20, minval=1, title='Bollinger Bands Length')
src2 = close
mult1 = input.float(2.0, minval=0.001, maxval=50, title='Bollinger Bands StdDev')
basis1 = ta.sma(src2, l1)
dev1 = mult1 * ta.stdev(src2, l1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1
bbr1 = (src - lower1) / (upper1 - lower1)

/// Final Output Line

hist = ta.ema(ta.ema(ta.ema(bbr1 - bbr, input(2, title='Hist Smoothing Factor #1')), input(2, title='Hist Smoothing Factor #2')), input(2, title='Hist Smoothing Factor #3'))

/// Overbought / Oversold Line Creation
oversold = input(-.1)
overbought = input(.4)
hline(oversold, linewidth=2, color=color.new(#81c784, 62))
hline(overbought, linewidth=2, color=color.new(#c2185b, 38))

/// Long & Short Conditions

short = hist > overbought
long = hist < oversold

/// Colors & Plotting
histColor = hist >= 0 ? hist[1] < hist ? #26A69A : #B2DFDB : hist[1] < hist ? #FFCDD2 : #EF5350
plot(hist, title='Histogram', style=plot.style_columns, color=color.new(histColor, 0))

CrossBgColor = long ? color.new(#81c784, 62) : short ? color.new(#c2185b, 38) : na
bgcolor(color.new(CrossBgColor, 90))

/// Strategy Methodology

if inDateRange
    strategy.entry('long', strategy.long, when=long, stop=l_stop_level, limit=l_take_level)

if inDateRange and strategy.position_size > 0
    strategy.close_all(when=short)

if inDateRange
    strategy.entry('short', strategy.short, when=short, stop=s_stop_level, limit=s_take_level)

if inDateRange and strategy.position_size < 0
    strategy.close_all(when=long)