ডাবল মুভিং এভারেজ ক্রসওভারের বিপরীত কৌশল

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

img

সারসংক্ষেপ

ডাবল মুভিং এভারেজ ক্রসওভার রিভার্সাল কৌশল হল ট্রেন্ড অনুসরণকারী কৌশল যা বাজারের প্রবণতা ট্র্যাক করার জন্য ডাবল মুভিং এভারেজ ক্রসওভারের মাধ্যমে ট্রেডিং সংকেত তৈরি করতে 123 রিভার্সাল কৌশল এবং ডিএনএপলি ডিট্রেনড অ্যাসিললেটর কৌশলকে একত্রিত করে।

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

এই কৌশল দুটি অংশ নিয়ে গঠিত:

  1. 123 বিপরীতমুখী কৌশলঃ এই কৌশলটি সংকেত তৈরির জন্য স্টোকাস্টিক সূচক ব্যবহার করে। এটি ক্রয় সংকেত প্রেরণ করে যখন বন্ধের মূল্য ধারাবাহিকভাবে হ্রাসের দুই দিন পরে বৃদ্ধি পায়, যখন স্টোকাস্টিক দ্রুত লাইন ধীর লাইনের নীচে এবং 50 এর নীচে থাকে; এটি বিক্রয় সংকেত প্রেরণ করে যখন বন্ধের মূল্য ধারাবাহিকভাবে বৃদ্ধির দুই দিন পরে হ্রাস পায়, যখন স্টোকাস্টিক দ্রুত লাইন ধীর লাইনের উপরে এবং 50 এর উপরে থাকে।

  2. ডিনাপোলি ডিট্রেনডেড অ্যাসিললেটর কৌশলঃ এই কৌশলটি যখন মূল্য একটি নির্দিষ্ট মান দ্বারা চলমান গড় রেখা অতিক্রম করে বা এর নীচে পড়ে তখন ট্রেডিং সংকেত তৈরি করতে মূল্যের চলমান গড় রেখা ব্যবহার করে। বিশেষত, যখন দাম চলমান গড় রেখার ইতিবাচক ট্রিগার মান অতিক্রম করে তখন এটি একটি ক্রয় সংকেত প্রেরণ করে এবং যখন দাম চলমান গড় রেখার নেতিবাচক ট্রিগার মানের নীচে পড়ে তখন এটি একটি বিক্রয় সংকেত প্রেরণ করে।

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

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

এই কৌশলটি দুটি চলমান গড় ট্রেডিং সংকেতকে একত্রিত করে বাজারের প্রবণতা কার্যকরভাবে ট্র্যাক করতে পারে এবং নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. স্টোক্যাস্টিক সূচকের শক্তির পূর্ণ ব্যবহার করুন গতি এবং প্রবণতা বিচার করার জন্য, যে কোন একক সূচক থেকে বিভ্রান্তিকর সংকেত দ্বারা সৃষ্ট ক্ষতি এড়ানো।

  2. ডিনাপলি সূচক কার্যকরভাবে প্রবণতা চিহ্নিত করতে পারে এবং এলোমেলো ওঠানামা কারণে অপ্রয়োজনীয় পজিশন খোলা এড়াতে পারে।

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

  4. কৌশলটির সামঞ্জস্যযোগ্য পরামিতিগুলি ব্যবহারকারীদের ব্যক্তিগত পছন্দ অনুসারে পরামিতি সংমিশ্রণগুলি বেছে নিতে এবং বিভিন্ন বাজারের পরিবেশে নমনীয়ভাবে অভিযোজিত করতে দেয়।

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

এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ

  1. একটি ষাঁড়ের বাজারে, কৌশলটি অত্যধিক সতর্ক সূচক পরামিতি সেটিংসের কারণে কেনার সুযোগগুলি মিস করতে পারে। কৌশলটিকে আরও আক্রমণাত্মক করার জন্য পরামিতিগুলি যথাযথভাবে সামঞ্জস্য করা যেতে পারে।

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

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

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

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

  1. সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে স্টোকাস্টিক এবং ডিনাপলি সূচকগুলির পরামিতিগুলি পরীক্ষা করুন এবং অনুকূল করুন।

  2. কৌশলটির অভ্যন্তরীণ যুক্তি সমৃদ্ধ করতে এবং সংকেতগুলির নির্ভুলতা উন্নত করতে ভলিউম সূচকের মতো অন্যান্য সহায়ক বিচার সূচক যুক্ত করুন।

  3. মেশিন লার্নিং পদ্ধতি ব্যবহার করে কৌশলগত পরামিতি এবং সংকেত উত্পাদন নিয়মগুলি প্রশিক্ষণ এবং অপ্টিমাইজ করার জন্য যাতে তারা বাজারের পরিবর্তনের সাথে পুরোপুরি অভিযোজিত হয়।

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

সিদ্ধান্ত

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


/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/02/2020
// 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
// DiNapoli Detrended Oscillator Strategy
//
// 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

DiNapoli(Length, Trigger) =>
    pos = 0.0
    xSMA = sma(close, Length)
    nRes = close - xSMA
    pos := iff(nRes > Trigger, 1,
    	     iff(nRes <= Trigger, -1, nz(pos[1], 0)))    
    pos

strategy(title="Combo Backtest 123 Reversal & DiNapoli Detrended Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDiN = input(14, minval=1)
TriggerDiN = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDiN = DiNapoli(LengthDiN, TriggerDiN)
pos = iff(posReversal123 == 1 and posDiN == 1 , 1,
	   iff(posReversal123 == -1 and posDiN == -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 )

আরো