দ্বিগুণ প্রবণতা সংকেত সমন্বয়কারী পরিমাণগত বিপরীত সূচক কৌশল

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

img

সারসংক্ষেপ

কৌশলটির নাম Quantitative Reversal Index Strategy Integrating Dual Trend Signals। এটি দুটি ভিন্ন কৌশল থেকে সংকেত একত্রিত করে - স্টোকাস্টিক সূচক উপর ভিত্তি করে একটি স্বল্পমেয়াদী বিপরীত সংকেত এবং ভলিউম উপর ভিত্তি করে একটি দীর্ঘমেয়াদী প্রবণতা সংকেত, একটি স্থিতিশীল এন্ট্রি সংকেত মধ্যে তাদের একত্রিত।

নীতিমালা

কৌশলটি দুটি অংশ নিয়ে গঠিত। প্রথম অংশটি স্বল্পমেয়াদী বিপরীত সংকেত উত্পন্ন করতে 9-দিনের স্টক ব্যবহার করে। বিশেষত, এটি দীর্ঘ হয় যখন বন্ধটি পূর্ববর্তী বন্ধের চেয়ে বেশি হয় এবং স্টক 9-দিনের দ্রুত লাইন 50 এর নীচে থাকে যখন ধীর লাইনটি 50 এর উপরে থাকে; এটি সংক্ষিপ্ত হয় যখন বন্ধটি পূর্ববর্তী বন্ধের চেয়ে কম হয় এবং স্টক 9-দিনের দ্রুত লাইন 50 এর উপরে থাকে যখন ধীর লাইনটি 50 এর নীচে থাকে। এইভাবে, স্টক এর সোনার ক্রস এবং মৃত্যুর ক্রস স্বল্পমেয়াদী বিপরীত সংকেত গঠন করে।

দ্বিতীয় অংশটি দীর্ঘমেয়াদী প্রবণতা সংকেত গঠনের জন্য নেতিবাচক ভলিউম সূচক (এনভিআই) ব্যবহার করে। এনভিআই গণনার সূত্রটি হ'ল যদি দিনের ভলিউম পূর্ববর্তী দিনের চেয়ে কম হয় তবে দিনের বন্ধের দামের পরিবর্তনের হার জমা হয়; যদি দিনের ভলিউম পূর্ববর্তী দিনের চেয়ে বেশি বা সমান হয় তবে পূর্ববর্তী দিনের মান অপরিবর্তিত থাকে। দীর্ঘমেয়াদী প্রবণতা সংকেতগুলি এনভিআই সূচকের চলমান গড়ের মাধ্যমে গঠিত হয়।

অবশেষে, কৌশলটি দুটি ধরণের সংকেতকে একত্রিত করে। কেবলমাত্র যখন স্বল্পমেয়াদী বিপরীত সংকেত এবং দীর্ঘমেয়াদী প্রবণতা সংকেত একই দিকে থাকে তখন একটি প্রবেশ সংকেত গঠিত হবে। এটি মিথ্যা সংকেতগুলি ফিল্টার করতে এবং স্থিতিশীলতা বাড়াতে সহায়তা করে।

সুবিধা বিশ্লেষণ

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

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

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

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

এছাড়া, এনভিআই সূচকটি ব্যবসায়ের পরিমাণের অস্বাভাবিক বৃদ্ধিতেও সংবেদনশীল, যা দীর্ঘমেয়াদী প্রবণতার ভুল মূল্যায়নের দিকে পরিচালিত করতে পারে।

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

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

এই কৌশলটি অপ্টিমাইজ করার জন্য প্রধান দিকগুলির মধ্যে রয়েছেঃ

  1. রিভার্সাল ক্যাপচারের সক্ষমতা উন্নত করতে স্টোক সূচকের পরামিতিগুলি অপ্টিমাইজ করুন।

  2. দীর্ঘমেয়াদী প্রবণতা সনাক্তকরণের ক্ষমতা বাড়াতে এনভিআই সূচকের চক্রের দৈর্ঘ্য অনুকূল করা।

  3. অস্বাভাবিক ট্রেডিং ভলিউম থেকে মিথ্যা সংকেত দূর করার জন্য ট্রেডিং ভলিউম ফিল্টার যুক্ত করুন।

  4. প্রতি ট্রেড ক্ষতি নিয়ন্ত্রণে স্টপ লস কৌশল যোগ করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-12-18 00:00:00
end: 2023-12-21 05:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/03/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The theory behind the indexes is as follows: On days of increasing 
// volume, you can expect prices to increase, and on days of decreasing 
// volume, you can expect prices to decrease. This goes with the idea of 
// the market being in-gear and out-of-gear. Both PVI and NVI work in similar 
// fashions: Both are a running cumulative of values, which means you either 
// keep adding or subtracting price rate of change each day to the previous day`s 
// sum. In the case of PVI, if today`s volume is less than yesterday`s, don`t add 
// anything; if today`s volume is greater, then add today`s price rate of change. 
// For NVI, add today`s price rate of change only if today`s volume is less than 
// yesterday`s.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


NVI(EMA_Len) =>
    pos = 0.0
    nRes = 0.0
    xROC = roc(close, EMA_Len)
    nRes := iff(volume < volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0))
    nResEMA = ema(nRes, EMA_Len)
    pos := iff(nRes > nResEMA, 1,
    	     iff(nRes < nResEMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Negative Volume Index", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Negative Volume Index ----")
EMA_Len = input(50, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNVI = NVI(EMA_Len)
pos = iff(posReversal123 == 1 and posNVI == 1 , 1,
	   iff(posReversal123 == -1 and posNVI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

আরো