ডাবল সিগন্যাল ট্রেন্ড ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি প্রবণতা সনাক্ত এবং ট্র্যাক করার জন্য দ্বৈত ইএমএ এবং আশ্চর্যজনক দোলকের সূচকগুলিকে একত্রিত করে। ইএমএ দ্রুত স্বল্পমেয়াদী প্রবণতার দিকনির্দেশ বিচার করে যখন আশ্চর্যজনক দোলক মিথ্যা ব্রেকআউটগুলি ফিল্টার করে এবং প্রবেশের সময় সরবরাহ করে। কৌশলটির নাম Dual Signal Trend Tracking Strategy এর মূল কার্যকারিতা সঠিকভাবে সংক্ষিপ্ত করে।

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

এই কৌশলটি প্রধানত দুটি প্রযুক্তিগত সূচক ব্যবহার করে, ডুয়াল EMA এবং Awesome Oscillator, নিম্নলিখিত যুক্তি দিয়ে সংকেত ফিল্টার করতেঃ

  1. ২-পরিয়ড এবং ২০-পরিয়ড ইএমএ গণনা করুন। যখন ২-পরিয়ড ইএমএ ২০-পরিয়ড ইএমএ উপরে ভাঙবে, এটি একটি আপট্রেন্ডের সংকেত দেয়। যখন ২-পরিয়ড ইএমএ ২০-পরিয়ড ইএমএ নীচে ভাঙবে, এটি একটি ডাউনট্রেন্ডের সংকেত দেয়।

  2. আশ্চর্যজনক দোলক গণনা করুন, যা দ্রুত EMA বিয়োগ ধীর EMA দ্বারা মসৃণ MACD হিস্টোগ্রাম। যখন AO হিস্টোগ্রাম লাল থেকে নীল পরিবর্তন হয়, এটি একটি ক্রয় সংকেত। যখন এটি নীল থেকে লাল পরিবর্তন হয়, এটি একটি বিক্রয় সংকেত।

  3. শুধুমাত্র যখন ইএমএ একই সময়ে আপট্রেন্ড এবং এও একটি ক্রয় সংকেত দেখায়, তখনই একটি চূড়ান্ত ক্রয় সংকেত উৎপন্ন হয়। শুধুমাত্র যখন ইএমএ একটি ডাউনট্রেন্ড দেখায় এবং এও একটি বিক্রয় সংকেত দেখায়, তখনই একটি চূড়ান্ত বিক্রয় সংকেত উৎপন্ন হয়।

  4. এই দ্বৈত সংকেত ফিল্টারিং পদ্ধতির মাধ্যমে, মিথ্যা ব্রেকআউট হ্রাস করা যায় এবং মাঝারি মেয়াদী প্রবণতা অনুসরণ করা যায়।

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

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

  1. ডুয়াল লাইন ফিল্টারিং ত্রুটির কারণে গোলমালযুক্ত ট্রেডগুলি হ্রাস করে। ইএমএ সামগ্রিক প্রবণতা বিচার করে যখন এও প্রবেশের সময় ফিল্টার করে। উভয়কে একত্রিত করে সংকেতের নির্ভরযোগ্যতা উন্নত করে।

  2. অত্যন্ত দ্রুত প্রতিক্রিয়া সংবেদনশীলতা দ্রুত স্বল্পমেয়াদী বিপরীতমুখীতা ধারণ করে। 2-অবধি EMA ব্রেকআউটের জন্য খুব সংবেদনশীল এবং সাম্প্রতিক প্রবণতা পরিবর্তন হয়েছে কিনা তা দ্রুত নির্ধারণ করতে পারে।

  3. আশ্চর্যজনক দোলকটি ম্যাকডিকে আরও ফিল্টার করে যাতে প্রবণতার মিথ্যা ব্রেকআউটগুলি কার্যকরভাবে সনাক্ত করা যায় এবং অপ্রয়োজনীয় বিপরীত ট্রেডগুলি এড়ানো যায়।

  4. মধ্যমেয়াদী প্রবণতা অনুসরণ করার জন্য কৌশলটির একটি স্পষ্ট দিক রয়েছে। EMA মৌলিক প্রবণতা নির্ধারণ করে যখন AO সামগ্রিক প্রবণতা অনুসারে ট্রেডিং নিশ্চিত করার জন্য সংকেতগুলি ফিল্টার করে।

  5. যুক্তিসঙ্গত প্যারামিটার নির্বাচন। ২-পরিয়ড এবং ২০-পরিয়ড ইএমএ বিভিন্ন সময়সীমার উপর মূল্য পরিবর্তনগুলি ক্যাপচার করে। অ্যারো প্যারামিটার 5 এবং 34 স্বল্পমেয়াদী নিদর্শন সনাক্ত করতে অনুকূলিত।

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

কিছু ঝুঁকিও রয়েছেঃ

  1. বিভিন্ন বাজারে, ইএমএ এবং এও আরও মিথ্যা সংকেত তৈরি করতে পারে, যা অপ্রয়োজনীয় শর্ট ট্রেডের কারণ হতে পারে। ইএমএ সময়কাল সামঞ্জস্য করা ত্রুটি হ্রাস করতে পারে।

  2. এও কখনও কখনও ইএমএ থেকে পিছিয়ে যেতে পারে, যার ফলে সংকেতের সময় বিলম্ব হতে পারে। দ্রুত প্রতিক্রিয়া জন্য এও পরামিতিগুলি অনুকূলিত করা যেতে পারে।

  3. সংক্ষিপ্ত ও মাঝারি মেয়াদী বৈশিষ্ট্যগুলির জন্য EMA এবং AO এর জন্য মানসম্পন্ন ডেটা এবং কম্পিউটিং ক্ষমতা প্রয়োজন। বিভিন্ন পণ্যের জন্য পরামিতিগুলি সামঞ্জস্য করা উচিত।

  4. ঘন ঘন ট্রেডিংয়ের ফলে কমিশন ও স্লিপিংয়ের খরচ বেশি হয়। হোল্ডিংয়ের সময় বাড়ানোর জন্য প্রস্থান মানদণ্ড শিথিল করা যেতে পারে।

  5. কৌশলটি দীর্ঘমেয়াদী প্রবণতা এবং মূল সমর্থন/প্রতিরোধের স্তরগুলি বিবেচনা করে না। সঠিক বাণিজ্যের দিকনির্দেশ নিশ্চিত করতে আরও কারণকে একত্রিত করা উচিত।

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

কৌশলটি বিভিন্ন দিক থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. সামগ্রিক প্রবণতা নির্ধারণে ইএমএকে সহায়তা করার জন্য চলমান গড়ের রিবন এবং এটিআর-এর মতো প্রবণতা সূচক প্রবর্তন করা।

  2. ফিবোনাচি রিট্র্যাকশনের মতো মূল সমর্থন / প্রতিরোধের সনাক্তকরণ যুক্ত করুন, খারাপ এন্ট্রি পজিশন এড়ানোর জন্য কেবলমাত্র মূল স্তরের আশেপাশে সংকেত উত্পাদন করুন।

  3. কম্বো প্রভাব উন্নত করার জন্য EMA এবং AO পরামিতি সমন্বয় অপ্টিমাইজ করুন। উদাহরণস্বরূপ, সর্বোত্তম পরামিতি জোড়া খুঁজে পেতে জেনেটিক অ্যালগরিদম ব্যবহার করুন।

  4. স্টপ লস এক্সটেনশন যোগ করুন। একক ট্রেড লস নিয়ন্ত্রণ করার জন্য যখন দাম সাম্প্রতিক সুইং হাই / লো ভেঙে যায় তখন এক্সটেনশন।

  5. কৌশলগত কর্মক্ষমতা মূল্যায়নের জন্য ঐতিহাসিক তথ্যের উপর ব্যাকটেস্ট, স্থিতিশীল মুনাফা প্রত্যাশা পূরণ করে কিনা তা পরীক্ষা করুন।

  6. ধীরে ধীরে পরামিতি সামঞ্জস্য এবং লাইভ কর্মক্ষমতা উন্নত করার জন্য কাগজ বাণিজ্য। ভাল স্থিতিশীল পরামিতি সেট খুঁজে প্যারামিটার স্থিতিশীলতা পরীক্ষা।

সিদ্ধান্ত

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


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/04/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
//    This indicator plots the oscillator as a histogram where blue denotes 
//    periods suited for buying and red . for selling. If the current value 
//    of AO (Awesome Oscillator) is above previous, the period is considered 
//    suited for buying and the period is marked blue. If the AO value is not 
//    above previous, the period is considered suited for selling and the 
//    indicator marks it as red.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos


AC(nLengthSlow,nLengthFast,nLengthMA,nLengthEMA,nLengthWMA,bShowWMA,bShowMA,bShowEMA) =>
    pos = 0.0
    xSMA1_hl2 = ta.sma(hl2, nLengthFast)
    xSMA2_hl2 = ta.sma(hl2, nLengthSlow)
    xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
    xSMA_hl2 = ta.sma(xSMA1_SMA2, nLengthFast)
    nRes =  xSMA1_SMA2 - xSMA_hl2
    xResWMA = ta.wma(nRes, nLengthWMA)
    xResMA = ta.sma(nRes, nLengthMA)
    xResEMA = ta.ema(nRes, nLengthEMA)
    xSignalSeries = bShowWMA ? xResWMA :
                     bShowMA ? xResMA : 
                      bShowEMA ? xResEMA : na
    pos :=  xSignalSeries[2] < 0 and xSignalSeries[1] > 0? 1:
    	     xSignalSeries[2] > 0 and xSignalSeries[1] < 0 ? -1 : nz(pos[1], 0)
    pos

strategy(title='Combo 2/20 EMA & Bill  Awesome Oscillator (AC)', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════  Awesome Oscillator (AC) ═════●'
nLengthSlow = input.int(34, minval=1, title="Length Slow", group=I2)
nLengthFast = input.int(5, minval=1, title="Length Fast", group=I2)
nLengthMA = input.int(15, minval=1, title="MA", group=I2)
nLengthEMA = input.int(15, minval=1, title="EMA", group=I2)
nLengthWMA = input.int(15, minval=1, title="WMA", group=I2)
bShowWMA = input.bool( defval=true, title="trading WMA", group=I2)
bShowMA = input.bool( defval=false, title="trading MA", group=I2)
bShowEMA = input.bool( defval=false, title="trading EMA", group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosAC = AC(nLengthSlow,nLengthFast,nLengthMA,nLengthEMA,nLengthWMA,bShowWMA,bShowMA,bShowEMA)
iff_1 = posEMA20 == -1 and prePosAC == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosAC == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)

আরো