ভলিউম অসিলেটরের উপর ভিত্তি করে ট্রেডিং কৌশল অনুসরণ করে


সৃষ্টির তারিখ: 2024-01-29 15:04:18 অবশেষে সংশোধন করুন: 2024-01-29 15:04:18
অনুলিপি: 0 ক্লিকের সংখ্যা: 760
1
ফোকাস
1617
অনুসারী

ভলিউম অসিলেটরের উপর ভিত্তি করে ট্রেডিং কৌশল অনুসরণ করে

ওভারভিউ

এই কৌশলটি একটি ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেড

কৌশল নীতি

  1. গণনা করা হয় গড় লাইন vol_sum, দৈর্ঘ্য vol_length, গড় লাইন smoothed vol_smooth দৈর্ঘ্য।
  2. যখন vol_sum এর উচ্চতা থ্রেশহোল্ড অতিক্রম করে তখন এটি একটি ক্রয় সংকেত দেয় এবং যখন এটি থ্রেশহোল্ড অতিক্রম করে তখন এটি একটি বিক্রয় সংকেত দেয়।
  3. ভুল ফিল্টার করার জন্য, কেবলমাত্র যখন পূর্বের দিকের মূল K লাইনের সমাপ্তির দামের সাথে তুলনা করা হয়, যখন দামের প্রবণতা বৃদ্ধি পায়, তখনই ক্রয় করা হয়। যখন দামের প্রবণতা হ্রাস পায়, তখনই বিক্রয় করা হয়।
  4. দুটি থ্রেশহোল্ড সেট করুনঃ threshold এবং threshold2। threshold ব্যবহার করে ট্রেডিং সিগন্যাল তৈরি করা হয়, threshold2 ব্যবহার করে ক্ষতি বন্ধ করা হয়।
  5. স্ট্যাটাস মেশিনের মাধ্যমে অর্ডার পরিচালনার জন্য খালি ভান্ডার লজিক।

সামর্থ্য বিশ্লেষণ

  1. ট্রেডিং ভলিউম সূচক ব্যবহার করে, আপনি বাজারের ক্রয়-বিক্রয় শক্তির পরিবর্তনগুলি ক্যাপচার করতে পারেন, যার ফলে সিগন্যালের নির্ভুলতা বৃদ্ধি পায়।
  2. মূল্য প্রবণতা নির্ণয়ের সাথে মিলিত, মূল্যের ঝাঁকুনির সময় ভুল সংকেত এড়ানো যায়।
  3. দুইটি প্রান্তিক মান ব্যবহার করে পজিশন খোলার এবং বন্ধ করার জন্য, ঝুঁকিকে আরও ভালভাবে নিয়ন্ত্রণ করা যায়।

ঝুঁকি বিশ্লেষণ

  1. কিন্তু, এই ক্ষেত্রে, আপনি আপনার পণ্যের মানের উপর নির্ভর করতে পারেন, এবং আপনি আপনার পণ্যের মানের উপর নির্ভর করতে পারেন।
  2. ভুল প্যারামিটার সেট করলে ট্রেডিং ফ্রিকোয়েন্সি বা সিগন্যাল বিলম্বিত হতে পারে।
  3. এই পরিস্থিতিতে, স্টপ লস পয়েন্টটি অতিক্রম করা যেতে পারে।

প্যারামিটারগুলিকে সামঞ্জস্য করে, সূচকগুলি গণনা করার পদ্ধতিটি অনুকূল করে এবং অন্যান্য সূচকগুলির সাথে মিলিত হয়ে এই ঝুঁকিগুলি নিয়ন্ত্রণ করা যেতে পারে।

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

  1. সূচক প্যারামিটারগুলিকে স্ব-অনুকূলিতকরণের জন্য বিবেচনা করা যেতে পারে, বাজার পরিস্থিতি অনুসারে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করা যায়।
  2. অন্যান্য সূচক যেমন, মূল্য কম্পন সূচক, এর সাথে সংযুক্ত করা যেতে পারে, যাতে সঠিকতা বাড়ানোর জন্য সংকেতগুলি আরও যাচাই করা যায়।
  3. মেশিন লার্নিং মডেলগুলিকে সংকেত সিদ্ধান্তে প্রয়োগ করার জন্য গবেষণা করা যেতে পারে, মডেলের সিদ্ধান্তের মাধ্যমে নির্ভুলতা বাড়ানো যায়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy('Volume Advanced', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Start Month"), input(17, "Start Day"), 0, 0)
end    = timestamp(input(9999, "End Year"),   input(1, "End Month"),   input(1, "End Day"),   0, 0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)

source = close 
vol_length  = input(34, title = "Volume - Length")
vol_smooth  = input(200,title = "Volume - Smoothing")
volriselen  = input(21,  title = "Volume - Risinglength")
volfalllen  = input(13, title = "Volume - Fallinglength")
threshold   = input(1,"threshold")
threshold2  = input(1.2,step=0.1, title="Threshold 2")
direction = input(13,"amount of bars")


volsum  = sum(volume, vol_length) / (sum(volume, vol_smooth) / (vol_smooth / vol_length))


LongEntry  = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close > close[direction]
ShortEntry = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close < close[direction]
LongExit1  = falling (volsum,volfalllen)
ShortExit1 = falling (volsum,volfalllen)
LongExit2= (crossover(volsum, threshold2) and close < close[direction])


_state = 0
_prev = nz(_state[1])
_state := _prev

if _prev == 0
    if LongEntry
        _state := 1
        _state
    if ShortEntry
        _state := 2
        _state
if _prev == 1
    if ShortEntry or LongExit1
        _state := 0
        _state
if _prev == 2
    if LongEntry or ShortExit1
        _state := 0
        _state

_bLongEntry = _state == 1 
_bLongClose = _state == 0 

long_condition = _bLongEntry and close > close[direction]
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  _bLongClose or LongExit2
strategy.close('BUY', when=short_condition)

plot(volsum,      color = color.green,    title="Vol_Sum")
plot(threshold, color = color.fuchsia, transp=50, title="Threshold")
plot(threshold2, color=color.white, transp = 50, title="Threshold 2")