ক্রস-সাইকেল ট্রেন্ড ট্র্যাকিং পরিমাণগত কৌশল


সৃষ্টির তারিখ: 2023-12-15 15:59:37 অবশেষে সংশোধন করুন: 2023-12-15 15:59:37
অনুলিপি: 0 ক্লিকের সংখ্যা: 600
1
ফোকাস
1621
অনুসারী

ক্রস-সাইকেল ট্রেন্ড ট্র্যাকিং পরিমাণগত কৌশল

ওভারভিউ

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

কৌশল নীতি

এই নীতির মূল বিচারিক নিয়মগুলো হলঃ

  1. পিএসএআর সূচক ব্যবহার করে, দামগুলি একটি উত্থানের প্রবণতা রয়েছে কিনা তা নির্ধারণ করুন, পিএসএআর-এর নীচে মূল্যগুলিকে উত্থানের প্রবণতার শেষ হিসাবে বিবেচনা করা হয় এবং পতনের দিকে পরিণত হয়;

  2. RSI সূচকটি মধ্যম লাইন 50 এর চেয়ে বেশি প্রয়োজন, যাতে ওভারসোল্ড অঞ্চলগুলির দ্বারা গঠিত মিথ্যা ব্রেকআউটগুলি ফিল্টার করা যায়;

  3. ADX তার EMA গড়ের চেয়ে বেশি দাবি করে, যা প্রবণতা বিশ্লেষণের ফলাফলের একটি ধারাবাহিক সংকেত নির্দেশ করে;

  4. সিএমএফ-এর জন্য শূন্যের চেয়ে বেশি প্রয়োজন, অর্থের প্রবাহ হিসাবে বিবেচিত;

উপরে বর্ণিত চারটি শর্ত পূরণ হলে একটি ক্রয় সংকেত উত্পন্ন হয়; যখন পিএসএআর-এর উপর ক্রস, আরএসআই 50 এর নীচে, এডিএক্স তার নিজস্ব ইএমএ গড়ের নীচে এবং সিএমএফ 0 এর চেয়ে কম হয় তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

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

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

এই কৌশলটির প্রধান সুবিধাগুলো হলঃ

  1. একাধিক সূচক সেট ট্রেডিং নিয়মের সমন্বয়ে, কার্যকরভাবে জাল ভাঙ্গন প্রতিরোধ এবং ট্রেডিং সিগন্যালের গুণমান নিশ্চিত করা;

  2. নতুন প্রবণতাগুলির গতিপথ দ্রুত সনাক্ত করা এবং তা অনুসরণ করা যাতে প্রবণতা প্রক্রিয়া থেকে লাভবান হতে পারে;

  3. সেটআপ প্রক্রিয়াটি ফিল্টারিংয়ের শর্তগুলিকে ট্র্যাক করে, যা ঝুঁকিগুলিকে কার্যকরভাবে নিয়ন্ত্রণ করে এবং ট্র্যাকিংয়ের কার্যকারিতা নিশ্চিত করে;

  4. প্রবণতা শক্তির সূচকগুলির সাথে মিলিতভাবে, এটি পুনরুদ্ধারের সমস্যায় পড়তে পারে।

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

এই কৌশলটি নিম্নলিখিত ঝুঁকির সাথে জড়িতঃ

  1. একটি একক কৌশল ঝুঁকি জমা করতে পারে এবং সামগ্রিক ঝুঁকি নিয়ন্ত্রণের জন্য পজিশনের যথাযথ সমন্বয় প্রয়োজন;

  2. ট্র্যাকিংয়ের সময় ফিল্টার শর্তের পরিবর্তনের উপর নজর রাখা প্রয়োজন, শর্ত বাতিলের পরে ক্ষতি কাটা এড়াতে;

  3. এই কৌশলটি মূলত মাঝারি ও দীর্ঘমেয়াদী, এবং স্বল্পমেয়াদী বিষয়বস্তুতে স্টপ লস ঝুঁকি রয়েছে যা ওঠানামা দ্বারা প্রভাবিত হয়।

ঝুঁকি ব্যবস্থাপনা ব্যবস্থাগুলির মধ্যে রয়েছেঃ অবস্থান পরিচালনার নিয়মগুলি অনুকূলিতকরণ, ঝুঁকি সতর্কতা লাইন স্থাপন, স্টপ লস লাইন দূরত্বের যথাযথ শিথিলকরণ ইত্যাদি।

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

এই নীতিটি নিম্নলিখিত অপ্টিমাইজেশনের জন্য উপযুক্তঃ

  1. প্যারামিটার সেটিং অনুকূলিতকরণ, বর্তমানে প্যারামিটার সেটিং স্বতন্ত্র, মেশিন লার্নিং পদ্ধতিতে স্বয়ংক্রিয় অনুকূলিতকরণ প্রবর্তন করা যেতে পারে;

  2. পজিশন ম্যানেজমেন্ট মডিউল যুক্ত করা হয়েছে, যা ঝুঁকির অবস্থার উপর ভিত্তি করে পজিশন পরিবর্তন করতে পারে;

  3. ট্র্যাকিং স্টপ, টাইম স্টপ, ব্রেকিং স্টপ ইত্যাদির মতো স্টপ মেশিনের অপ্টিমাইজেশান যুক্ত করুন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-11-14 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("psar+ adx + cmf + rsi Strategy", overlay=true,initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0.1 )

start = input(1.02)
increment = input(1.02)
maximum = input(1.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)

//rsi strat
length = input( 50 )
middle_RSI=input(49)
price = close
vrsi = rsi(price, length)

//cmf
lengthCMF = input(20, minval=1)
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthCMF) / sum(volume, lengthCMF)

//ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
ema_length=input(10)
ema_sig= ema(sig,ema_length)


long = not uptrend  and vrsi > middle_RSI and sig > ema_sig   and mf>0 
short= uptrend   and vrsi < middle_RSI and sig<ema_sig and mf<0

strategy.entry("long",1,when=long)
strategy.close('long',when=short)