
দামের অস্থিরতা সহায়ক বিচার তিন ফ্যাক্টর মডেল একটি সংক্ষিপ্ত ট্রেডিং কৌশল যা একাধিক ফ্যাক্টর বিচারকে একত্রিত করে। এই কৌশলটি সমন্বিতভাবে লেনদেনের পরিমাণ, আরএসআই সূচক, এমএসিডি সূচক এবং সিগন্যাল লাইন সূচকের একাধিক ফ্যাক্টর বিচার বিবেচনা করে এবং দামের অস্থিরতার আচরণ সম্পর্কে বিচার করে যাতে সংক্ষিপ্ত ব্যবসায়ের সুযোগ পাওয়া যায়।
এই কৌশলটির মূল যুক্তি হলঃ
দ্রুত চলমান গড়, ধীর চলমান গড়, MACD কার্ভ, সিগন্যাল লাইন ইত্যাদির মতো প্রযুক্তিগত সূচকগুলি গণনা করা;
ক্রয়-বিক্রয় অনুপাত, আরএসআই, এমএসিডি, সিগন্যাল লাইন ইন্ডিকেটরের জন্য মাল্টি-ফ্যাক্টর শর্ত;
একটি সমন্বিত বহু-ফ্যাক্টর মূল্যায়ন, যা নিশ্চিত করে যে বর্তমান দামের ঝাঁকুনির সময়, ক্রয়-বিক্রয়ের সুযোগ রয়েছে;
LONG বা SHORT পজিশনে প্রবেশ করুন এবং স্টপ লস সেট করুন;
যখন দাম স্টপ-অফ বা স্টপ-লস অবস্থায় পৌঁছায় তখন প্লেইন পজিশন।
এই কৌশলটি ক্রয়-বিক্রয় অনুপাত, আরএসআই সূচক, এমএসিডি সূচক, সিগন্যাল লাইন সূচক ইত্যাদির মতো মাল্টিফ্যাক্টর বিচার ব্যবহার করে, দামের অস্থিরতার আচরণ বিচার করে, সংক্ষিপ্ত ব্যবসায়ের সুযোগ ধরার জন্য। মাল্টিফ্যাক্টর সমন্বিত বিচারটি একক ফ্যাক্টরের কারণে ভুল সংকেত এড়াতে পারে, সংকেতের নির্ভুলতা বাড়ায়।
এই কৌশলটির সুবিধাগুলো হলঃ
এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ
উপরের ঝুঁকির জন্য, নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ
মাল্টি ফ্যাক্টর ওজনের অনুকূলিতকরণ, গতিশীল সমন্বয় উপলব্ধ। বিভিন্ন পরিস্থিতির উপর নির্ভর করে মাল্টি ফ্যাক্টর রায়ের ওজনের সমন্বয় করা যেতে পারে, অভিযোজনযোগ্যতা উন্নত করা যায়;
মেশিন লার্নিং অ্যালগরিদমের সাথে মিলিত, মাল্টি ফ্যাক্টর স্বনির্ধারণ অপ্টিমাইজেশন; নিউরাল নেটওয়ার্ক, জেনেটিক অ্যালগরিদম এবং অন্যান্য অ্যালগরিদমের ব্যবহারের মাধ্যমে মাল্টি ফ্যাক্টর মডেল প্রশিক্ষণ, প্যারামিটার স্বয়ংক্রিয় অপ্টিমাইজেশন;
অপ্টিমাইজ করা স্টপ স্ট্র্যাটেজি। আপনি বিভিন্ন ট্র্যাকিং স্টপ, মোবাইল স্টপ সমন্বয় পরীক্ষা করতে পারেন এবং সর্বোত্তম স্টপ সমাধান খুঁজে পেতে পারেন।
উচ্চ প্রযুক্তির সূচকগুলির সাথে মিলিত। আরও সূচক যেমন ওঠানামা হার ওঠানামা, গতিশীলতা ঝাঁকুনি এবং আরও অনেক কিছু পরীক্ষা করা যেতে পারে।
দামের ঝাঁকুনির সহায়ক সিদ্ধান্তের জন্য তিন-ফ্যাক্টর মডেল ক্যাচ কৌশলটি দামের ঝাঁকুনির সময়কালের বহু-ফ্যাক্টর বৈশিষ্ট্যগুলিকে যথাযথভাবে ব্যবহার করে এবং উচ্চ কার্যকর সংক্ষিপ্ত ট্রেডিং কৌশল অর্জন করে। এই কৌশলটি সর্বোত্তম ক্রয়-বিক্রয় সময় নির্ধারণের জন্য ক্রয়-বিক্রয়, আরএসআই, এমএসিডি, সিগন্যাল লাইন ইত্যাদির মতো বহু-ফ্যাক্টর বিচার ব্যবহার করে। বহু-ফ্যাক্টর বিচারটি সংকেতের নির্ভুলতা বাড়ায়, যা স্থিতিশীল আয় অর্জনের পক্ষে সহায়ক। পরবর্তীকালে মেশিন লার্নিং অ্যালগরিদমের মাধ্যমে বহু-ফ্যাক্টর স্ব-অনুকূলিতকরণ অনুকূলিতকরণ অর্জন করতে পারে, যার ফলে আরও দুর্দান্ত কৌশলগত পারফরম্যান্স পাওয়া যায়।
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("3 10.0 Oscillator Profile Flagging", shorttitle="3 10.0 Oscillator Profile Flagging", overlay=false)
signalBiasValue = input(title="Signal Bias", defval=0.26)
macdBiasValue = input(title="MACD Bias", defval=0.7)
shortLookBack = input( title="Short LookBack", defval=3)
longLookBack = input( title="Long LookBack", defval=6)
takeProfit = input( title="Take Profit", defval=2)
stopLoss = input( title="Stop Loss", defval=0.7)
fast_ma = ta.sma(close, 3)
slow_ma = ta.sma(close, 10)
macd = fast_ma - slow_ma
signal = ta.sma(macd, 16)
hline(0, "Zero Line", color = color.black)
buyVolume = volume*((close-low)/(high-low))
sellVolume = volume*((high-close)/(high-low))
buyVolSlope = buyVolume - buyVolume[1]
sellVolSlope = sellVolume - sellVolume[1]
signalSlope = ( signal - signal[1] )
macdSlope = ( macd - macd[1] )
plot(macd, color=color.blue, title="Total Volume")
plot(signal, color=color.orange, title="Total Volume")
plot(macdSlope, color=color.green, title="MACD Slope")
plot(signalSlope, color=color.red, title="Signal Slope")
intrabarRange = high - low
rsi = ta.rsi(close, 14)
rsiSlope = rsi - rsi[1]
plot(rsiSlope, color=color.black, title="RSI Slope")
getRSISlopeChange(lookBack) =>
j = 0
for i = 0 to lookBack
if ( rsi[i] - rsi[ i + 1 ] ) > -5
j += 1
j
getBuyerVolBias(lookBack) =>
j = 0
for i = 1 to lookBack
if buyVolume[i] > sellVolume[i]
j += 1
j
getSellerVolBias(lookBack) =>
j = 0
for i = 1 to lookBack
if sellVolume[i] > buyVolume[i]
j += 1
j
getVolBias(lookBack) =>
float b = 0.0
float s = 0.0
for i = 1 to lookBack
b += buyVolume[i]
s += sellVolume[i]
b > s
getSignalBuyerBias(lookBack) =>
j = 0
for i = 1 to lookBack
if signal[i] > signalBiasValue
j += 1
j
getSignalSellerBias(lookBack) =>
j = 0
for i = 1 to lookBack
if signal[i] < ( 0.0 - signalBiasValue )
j += 1
j
getSignalNoBias(lookBack) =>
j = 0
for i = 1 to lookBack
if signal[i] < signalBiasValue and signal[i] > ( 0.0 - signalBiasValue )
j += 1
j
getPriceRising(lookBack) =>
j = 0
for i = 1 to lookBack
if close[i] > close[i + 1]
j += 1
j
getPriceFalling(lookBack) =>
j = 0
for i = 1 to lookBack
if close[i] < close[i + 1]
j += 1
j
getRangeNarrowing(lookBack) =>
j = 0
for i = 1 to lookBack
if intrabarRange[i] < intrabarRange[i + 1]
j+= 1
j
getRangeBroadening(lookBack) =>
j = 0
for i = 1 to lookBack
if intrabarRange[i] > intrabarRange[i + 1]
j+= 1
j
bool isNegativeSignalReversal = signalSlope < 0.0 and signalSlope[1] > 0.0
bool isNegativeMacdReversal = macdSlope < 0.0 and macdSlope[1] > 0.0
bool isPositiveSignalReversal = signalSlope > 0.0 and signalSlope[1] < 0.0
bool isPositiveMacdReversal = macdSlope > 0.0 and macdSlope[1] < 0.0
bool hasBearInversion = signalSlope > 0.0 and macdSlope < 0.0
bool hasBullInversion = signalSlope < 0.0 and macdSlope > 0.0
bool hasSignalBias = math.abs(signal) >= signalBiasValue
bool hasNoSignalBias = signal < signalBiasValue and signal > ( 0.0 - signalBiasValue )
bool hasSignalBuyerBias = hasSignalBias and signal > 0.0
bool hasSignalSellerBias = hasSignalBias and signal < 0.0
bool hasPositiveMACDBias = macd > macdBiasValue
bool hasNegativeMACDBias = macd < ( 0.0 - macdBiasValue )
bool hasBullAntiPattern = ta.crossunder(macd, signal)
bool hasBearAntiPattern = ta.crossover(macd, signal)
bool hasSignificantBuyerVolBias = buyVolume > ( sellVolume * 1.5 )
bool hasSignificantSellerVolBias = sellVolume > ( buyVolume * 1.5 )
// 202.30 Profit 55.29% 5m
if ( ( getVolBias(longLookBack) == false ) and rsi <= 41 and math.abs(rsi - rsi[shortLookBack]) > 1 and hasNoSignalBias and rsiSlope > 1.5 and close > open)
strategy.entry("5C1", strategy.long, qty=1.0)
strategy.exit("TPS", "5C1", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)
// 171.70 Profit 50.22% 5m
if ( getVolBias(longLookBack) == true and rsi > 45 and rsi < 55 and macdSlope > 0 and signalSlope > 0)
strategy.entry("5C2", strategy.long, qty=1.0)
strategy.exit("TPS", "5C2", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)
// 309.50 Profit 30.8% 5m 2 tp .7 sl 289 trades
if ( macd > macdBiasValue and macdSlope > 0)
strategy.entry("5P1", strategy.short, qty=1.0)
strategy.exit("TPS", "5P1", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)