ভলিউম ব্যালেন্সের উপর ভিত্তি করে ভিবি কৌশল

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

img

এই কৌশলটি বাজারে ক্রয় ও বিক্রয় ক্ষমতা নির্ধারণের জন্য ভলিউম ব্যালেন্স সূচকের উপর ভিত্তি করে ডিজাইন করা হয়েছে।

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

ভলিউম ব্যালেন্স (ভিবি) সূচকটি দামের উপর ভলিউম পরিবর্তনের চালিকা শক্তি প্রতিফলিত করে। এর নির্মাণ ধারণাটি হলঃ

  1. প্রচলিত মূল্যের অভ্যন্তরীণ অস্থিরতা হারকে মূল্যের গতি হিসাবে গণনা করুন।

  2. ভলিউম এবং মূল্য গতির পণ্য দ্বারা ক্রয় এবং বিক্রয় ক্ষমতাকে বিচার করুন।

  3. সূচকটি শূন্য-অক্ষের উপরে এবং নীচে ওঠানামা করে। ক্রয় এবং বিক্রয় ক্ষমতা পরিমাপের মানদণ্ড হল সূচক মানের ইতিবাচক এবং নেতিবাচক।

এই কৌশলটি ভিবি সূচক তৈরি করে এবং একটি সংকেত লাইন সেট করে। যখন ভিবি সূচক সংকেত লাইনের উপরে অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন ভিবি সূচক সংকেত লাইনের নীচে অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

কোডের প্রধান ধাপগুলো হল:

  1. মূল্যের গতি হিসাবে সাধারণ মূল্যের অভ্যন্তরীণ অস্থিরতার হার গণনা করুন।

  2. গতির জন্য কট অফ রেঞ্জ কোয়েফট সেট করুন। পরিসরের উপরে অতিরিক্ত গতি কোয়েফট হিসাবে নেওয়া হয়।

  3. বিচ্ছিন্নতার পরে পরিমাণগত গতির vcp গণনা করুন।

  4. পরিমাণগত সূচক vfi পেতে vcp যোগ করুন।

  5. সিগন্যাল লাইনের দৈর্ঘ্য সেট করুন এবং এটি vfima পেতে।

  6. ট্রেডিং সিগন্যাল তৈরি করতে VB ইন্ডিকেটর vfi এর সাথে সিগন্যাল লাইন vfima এর তুলনা করুন।

সুবিধা

এই কৌশলটির সুবিধাগুলো হল:

  1. ক্রয় ও বিক্রয় ক্ষমতা বিচার করার জন্য ভলিউম-মূল্য সম্পর্ক ব্যবহার করুন, দাম নিজেই দ্বারা প্রভাবিত না।

  2. অস্বাভাবিক কম্পনের প্রভাব এড়ানোর জন্য পরিমাপ করা গতির গণনার পরিসীমাটি পরামিতি দ্বারা নিয়ন্ত্রিত হতে পারে।

  3. VB সূচক নিজেই এবং সংকেত লাইন মধ্যে তুলনা একত্রিত যুক্তিসঙ্গত এন্ট্রি সময় নির্ধারণ করতে পারেন।

  4. সূচক গণনার পদ্ধতিটি সহজ এবং স্পষ্ট, লাইভ ট্রেডিংয়ে কাজ করা সহজ।

  5. কৌশল কর্মক্ষমতা অপ্টিমাইজ করার জন্য কাস্টমাইজযোগ্য সূচক পরামিতি এবং সংকেত লাইন পরামিতি।

ঝুঁকি

এই কৌশলের কিছু ঝুঁকিও রয়েছেঃ

  1. VB সূচকটি অস্বাভাবিক মূল্যের ওঠানামা প্রতি সংবেদনশীল। যথাযথ কট-অফ পরামিতি সেট করা প্রয়োজন।

  2. সূচক সংকেত থেকে মূল্যের বিচ্যুতির সম্ভাবনা বেশি। অন্ধভাবে অনুসরণ করা এড়ানো উচিত।

  3. মিথ্যা সংকেত প্রতিরোধ করার জন্য সূচক পরামিতি এবং সংকেত লাইন পরামিতি সঠিক অপ্টিমাইজেশান প্রয়োজন।

  4. স্পষ্ট ভলিউম-মূল্য বৈশিষ্ট্যযুক্ত পণ্যগুলির জন্য আরও উপযুক্ত। কম তরলতা পণ্যগুলির জন্য উপযুক্ত নয়।

  5. সূচকের বিপরীতে মনোযোগ দিন, যা বাজারের বিপরীতমুখী হতে পারে।

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

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

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

  1. সংবেদনশীলতা এবং স্থিতিশীলতা ভারসাম্য বজায় রাখার জন্য পরিমাণযুক্ত গতির জন্য গণনার পরামিতিগুলি অনুকূলিত করুন।

  2. বিলম্ব এবং গোলমাল ভারসাম্য বজায় রাখতে সিগন্যাল লাইন প্যারামিটার অপ্টিমাইজ করুন।

  3. যাচাইয়ের জন্য ভলিউম স্প্রেড বিশ্লেষণের মতো অন্যান্য সূচক যুক্ত করুন।

  4. অনুপযুক্ত লেনদেন এড়ানোর জন্য প্রবণতা এবং সমর্থন/প্রতিরোধের সূচক যোগ করুন।

  5. বাজারের অস্থিরতার উপর ভিত্তি করে গতিশীল স্টপ লস সেট করুন।

  6. মেশিন লার্নিং ব্যবহার করে সর্বোত্তম প্যারামিটার সংমিশ্রণ খুঁজে বের করুন।

  7. বিভিন্ন পণ্য এবং সময়সীমা জুড়ে স্থিতিশীলতা মূল্যায়নের জন্য ব্যাকটেস্ট।

  8. লাভের বক্ররেখার উপর প্রভাবের জন্য সূচক পরামিতিগুলির তুলনা করুন।

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

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


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("VB Strategy", overlay=true)

length = input(130, title="거래량 길이")
coef = input(0.2, title="계수")
vcoef = input(2.5, title="최대 계수")
signalLength=input(5)
smoothVFI=input(false, type=bool, title="부드럽게")
//볼밴
length2 = input(20, minval=1, title="볼밴 길이")

ma(x,y) => smoothVFI ? sma(x,y) : x

typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coef * vinter * close
vave = sma( volume, length )[1]
vmax = vave * vcoef
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )

vfi = ma(sum( vcp , length )/vave, 3)
vfima=ema( vfi, signalLength )
d=vfi-vfima

upper = vfima + stdev(vfi, length2)
lower = vfima - stdev(vfi, length2)

buysignal = cross(vfi, lower) and crossunder(vfi, lower) == 1 ? vfima : na

sellsignal = cross(vfi, upper) and crossover(vfi, upper) == 1 ? vfima : na

//times = timestamp("GMT+6", 2017, 12, 6, 00, 00)

//if (buysignal and times <= time)
if (buysignal)
    if(strategy.position_size < 0)
        strategy.close("SHORT")
        
    if(strategy.position_size > 0)
        strategy.order("LONG", true, 1, when = (low+high)/2)
        
    if(strategy.position_size == 0)
        strategy.entry("LONG", strategy.long, when = (low+high)/2)

//if (sellsignal and times <= time)
if (sellsignal)
    if(strategy.position_size > 0)
        strategy.close("LONG")
        
    if(strategy.position_size < 0)
        strategy.order("SHORT", false, 1, when = (low+high)/2)
        
    if(strategy.position_size == 0)
        strategy.entry("SHORT", strategy.short, when = (low+high)/2)


আরো