
এই কৌশলটি একটি ট্রেডিং সিগন্যাল ডিজাইন করে যা বাজারের ক্রয়-বিক্রয় শক্তির উপর ভিত্তি করে তৈরি করা হয়।
ভলিউম ও লংমেটরি ইন্ডিকেটর (VB) হল লেনদেনের পরিমাণের পরিবর্তনের দামের উপর প্রভাবকে প্রতিফলিত করে। এর গঠনমূলক চিন্তাধারা হলঃ
একটি সাধারণ মূল্যের দৈনিক অস্থিরতা হারের গণনা মূল্য পরিবর্তনের শক্তিকে উপস্থাপন করে।
সূচক মান 0 অক্ষের উপর ওঠানামা করে, ডাইফোসিয়াল ফোর্সের পরিমাপের ভিত্তি হল সূচক মানের ধনাত্মক এবং নেতিবাচক।
এই কৌশলটি VB সূচকটি তৈরি করে এবং একটি সংকেত লাইন সেট করে। VB সূচকটি যখন সংকেত লাইনটি অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন VB সূচকটি সংকেত লাইনটি অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
কোডের প্রধান ধাপগুলো হলঃ
একটি সাধারণ মূল্যের দৈনিক ওঠানামার হার গণনা করুন inter মূল্য পরিবর্তনের শক্তি হিসাবে।
কোয়েফ হল ওলট-পালট করার শক্তির সীমাবদ্ধতা। এই সীমাবদ্ধতার বাইরে ওলট-পালট করার শক্তি কোয়েফ হিসেবে গণ্য হবে।
vcp কমানোর পর শক্তি গণনা করুন।
vcp এর সাথে সমন্বয় করে vfi ≠ এর পরিমাণগত মান অর্জন করুন।
সিগন্যাল লাইনের দৈর্ঘ্য সেট করুন signalLength, সিগন্যাল লাইনের vfima পেতে
VB সূচক vfi এবং সংকেত লাইন vfima তুলনা করে, একটি লেনদেন সংকেত উৎপন্ন করে।
এই কৌশলটির সুবিধাগুলো হলঃ
দামের উপর নির্ভর না করে, পরিমাণ এবং মূল্যের মধ্যে সম্পর্ক বজায় রেখে বাজারের ক্রয়-বিক্রয় ক্ষমতা নির্ধারণ করুন।
অস্বাভাবিক ওঠানামা প্রভাব এড়ানোর জন্য গণনা করা শক্তির পরিসীমা নিয়ন্ত্রণের জন্য একটি প্যারামিটার সেট করা যেতে পারে।
ভিবি সূচক নিজেই সংকেত লাইনের সাথে তুলনা করে যুক্তিসঙ্গত প্রবেশের সময় নির্ধারণ করা যায়।
সূচক গণনা পদ্ধতি সহজ, স্পষ্ট এবং সহজেই ব্যবহার করা যায়।
কাস্টমাইজড সূচক প্যারামিটার এবং সিগন্যাল লাইন প্যারামিটার, কৌশল কার্যকারিতা অপ্টিমাইজ করুন
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
VB সূচকগুলি মূল্যের অস্বাভাবিক অস্থিরতার জন্য সংবেদনশীল, যার জন্য উপযুক্তভাবে একটি বিচ্ছিন্নকরণ প্যারামিটার সেট করা প্রয়োজন।
শেয়ারের মূল্য সূচক সংকেত থেকে বিচ্ছিন্ন হওয়ার সম্ভাবনা বেশি, তাই অন্ধ অনুসরণ এড়ানো উচিত।
সঠিকভাবে সূচক প্যারামিটার এবং সিগন্যাল লাইন প্যারামিটার অপ্টিমাইজ করা প্রয়োজন, যাতে ভুয়া সংকেত তৈরি না হয়।
যেসব জাতের দামের বৈশিষ্ট্য আছে, তাদের জন্য উপযুক্ত, কিন্তু যেসব জাতের সঞ্চয় ক্ষমতা কম, তাদের জন্য উপযুক্ত নয়।
মার্কেটের বিপরীতমুখী হওয়ার সম্ভাব্য ইঙ্গিত হিসেবে সূচকগুলোকে সতর্ক থাকতে হবে।
প্যারামিটার পরিসীমা, অন্যান্য সূচকগুলির সাথে মিলিত ফিল্টারিং এবং যথাযথভাবে স্টপ লস শিথিল করে ঝুঁকি নিয়ন্ত্রণ করা যায়।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ
ক্যালকুলেশন প্যারামিটারগুলিকে অনুকূলিতকরণ করে শক্তিকে পরিমাপ করুন, সংবেদনশীলতা এবং স্থিতিশীলতার মধ্যে ভারসাম্য বজায় রাখুন।
সিগন্যাল লাইন প্যারামিটার অপ্টিমাইজ করুন, বিলম্ব এবং গোলমাল ভারসাম্য।
ভলিউম স্প্রেড অ্যানালিসিসের মতো সূচক যুক্ত করুন।
ট্রেন্ডিং এবং প্রতিরোধের সূচকগুলিকে সমর্থন করুন এবং বিপরীত দিকের ট্রেডিং এড়িয়ে চলুন।
বাজারের অস্থিরতার উপর নির্ভর করে স্টপ পয়েন্টগুলিকে সামঞ্জস্য করার জন্য একটি গতিশীল স্টপ পয়েন্ট ব্যবস্থা সেট করুন।
মেশিন লার্নিং পদ্ধতি ব্যবহার করে সর্বোত্তম প্যারামিটার সমন্বয় প্রশিক্ষণ।
বিভিন্ন প্রজাতি এবং বিভিন্ন সময়কালের উপর পুনর্বিবেচনা করে কৌশলটির স্থায়িত্বের মূল্যায়ন করুন।
উপার্জন বক্ররেখার উপর বিভিন্ন সূচক প্যারামিটারগুলির প্রভাব তুলনা করুন এবং সর্বোত্তম প্যারামিটারগুলি সন্ধান করুন।
এই কৌশলটি ক্রয়-বিক্রয় শক্তির উপর বিচার করার জন্য একটি পরিমাপযোগ্য মূল্য-দৈর্ঘ্য পরিমাপের উপর ভিত্তি করে তৈরি করা হয়েছে। এর সুবিধাগুলির মধ্যে রয়েছে সূচক নকশার সরলতা, প্যারামিটারগুলি সামঞ্জস্যযোগ্য, তবে একটি নির্দিষ্ট মিথ্যা সংকেত ঝুঁকিও রয়েছে। প্যারামিটার অপ্টিমাইজেশন, প্রতিকূল বাজার এড়ানো ইত্যাদি পদক্ষেপের মাধ্যমে কৌশলটির স্থিতিশীলতা বাড়ানো যেতে পারে। পরবর্তী সময়ে এই কৌশলটি একাধিক দৃষ্টিকোণ থেকে অপ্টিমাইজ করা এবং যাচাই করা যেতে পারে, যা কার্যকর কার্যকারিতা বাড়িয়ে তুলবে।
/*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)