গতিশীল মুভিং এভারেজ ক্রসওভার ট্রেন্ড অনুসরণ কৌশল


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

গতিশীল মুভিং এভারেজ ক্রসওভার ট্রেন্ড অনুসরণ কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত দুটি গতিশীল সমান্তরাল DEMA এবং TEMA এর ক্রস দ্বারা প্রবণতার দিক নির্ধারণ করে।

DEMA হল দ্বি-সূচকীয় চলমান গড়, যা EMA-র ভারসাম্যপূর্ণ বৈশিষ্ট্যগুলিকে সংযুক্ত করে এবং EMA-তে বিদ্যমান স্থগিতাদেশের সমস্যাগুলিকে অপ্টিমাইজ করে। এর গণনা সূত্রটি হ’লঃ

DEMA = 2*EMA(CLOSE,N) - EMA(EMA(CLOSE,N),N)

এখানে N হল Demalength।

TEMA হল ত্রিমাত্রিক চলমান গড়, যা ত্রিমাত্রিক সূচকীয় মসৃণতা দ্বারা গড়ের পিছিয়ে পড়া হ্রাস করে। এর গণনা সূত্রটি হলঃ

EMA1 = EMA(CLOSE,Temalength)
EMA2 = EMA(EMA1,Temalength)
EMA3 = EMA(EMA2,Temalength)
TEMA = 3*EMA1 - 3*EMA2 + EMA3

যখন TEMA উপরে DEMA অতিক্রম করে, এটি একটি গোল্ড ফর্ক সিগন্যাল হিসাবে বিবেচনা করুন, আরও করুন; যখন TEMA নীচে DEMA অতিক্রম করে, এটি একটি মৃত ফর্ক সিগন্যাল হিসাবে বিবেচনা করুন, খালি করুন।

এছাড়া, কৌশলটি delayBars সেট করে যাতে সিগন্যালের কার্যকারিতা নিশ্চিত করা যায় এবং মিথ্যা সিগন্যাল এড়ানো যায়।

অবশেষে, কৌশলটি দ্বিগুণ-চেক লজিক যুক্ত করে। অর্থাৎ, পজিশন খোলার আগে সিদ্ধান্ত নেওয়া হয় যে বর্তমান বিপরীত অবস্থানের সমতল করার প্রয়োজন আছে কিনা, যা দ্বি-মুখী বেনিফিট ঝুঁকি এড়াতে পারে।

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

  1. দুইটি গতিশীল সমান্তরাল লাইন ব্যবহার করে ট্রেন্ডের সঠিক বিচার করা যায়

DEMA এবং TEMA, দুটি গতিশীল সমান্তরাল, ঐতিহ্যগত EMA এবং SMA এর তুলনায় আরো সংবেদনশীল, প্রবণতা পরিবর্তন দ্রুত ধরতে সক্ষম, যার ফলে বাজারের গতিবিধি বিচার করার সঠিকতা বৃদ্ধি পায়।

  1. একটি নির্দিষ্ট বিলম্ব চক্র সেট করুন, যা মিথ্যা সংকেত ফিল্টার করতে পারে

delayBars প্যারামিটার সেট করা হয়েছে, যার ফলে সংকেত দীর্ঘায়িত হওয়ার জন্য অপেক্ষা করতে হবে, যাতে কিছু মিথ্যা সংকেত ফিল্টার করা যায়, যাতে সেট করা যায় না।

  1. ডাবল চেকিং ঝুঁকি কমাতে পারে

পজিশন খোলার আগে কৌশলটি অগ্রাধিকার দেয় যে বিপরীতমুখী অবস্থানগুলিকে সমতল করা দরকার কিনা, একই সাথে দ্বি-মুখী অবস্থানের ঝুঁকি এড়াতে এবং সর্বাধিক হ্রাস হ্রাস হ্রাস করতে পারে।

  1. শক্তিশালী সার্বজনীনতা

এই কৌশলটি প্রবণতা এবং সংকেতগুলি বিচার করার জন্য সাধারণ প্রযুক্তিগত সূচকের উপর নির্ভর করে, নির্দিষ্ট জাতের উপর নির্ভর করে না এবং বেশিরভাগ প্রবণতাযুক্ত জাতের জন্য প্রযোজ্য।

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

  1. বিপুল বাজারের ঝাঁকুনিতে ঝুঁকিপূর্ণ

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

এর সমাধান হল, অস্থিরতার পরে স্থগিতকরণ কৌশলকে চিহ্নিত করা, অথবা গড়রেখার প্যারামিটার এবং বিলম্বের সময়কালকে যথাযথভাবে সামঞ্জস্য করা।

  1. ফাঁদ বা অপ্রত্যাশিত ঘটনা সনাক্ত করতে অক্ষম

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

সমাধান হল অন্যান্য সূচকের সাথে ঝুঁকির ব্যাকগ্রাউন্ড নির্ধারণ করা অথবা যথাযথভাবে পজিশনের আকার কমানো।

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

  1. আরো বিভিন্ন ধরণের গড়রেখার পরিমাপ পরীক্ষা করা

DEMA এবং TEMA ছাড়াও, আপনি SMA, EMA এবং অন্যান্য উন্নত গড় সমন্বয়গুলির সমন্বয় পরীক্ষা করতে পারেন এবং সেই বাজারের সাথে আরও মিলিত গড় সমন্বয় সূচক খুঁজে পেতে পারেন।

  1. MA প্যারামিটার এবং বিলম্ব চক্রের অপ্টিমাইজেশন

প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে সর্বোত্তম গড় লাইন দৈর্ঘ্যের প্যারামিটার এবং সিগন্যাল বিলম্বের সময়কাল খুঁজে বের করে আরও সঠিক ট্রেডিং সিগন্যাল পাওয়া যায়।

  1. বিভিন্ন জাতের বিভিন্ন প্যারামিটার

জাতের বৈশিষ্ট্য অনুসারে, গড় এবং বিলম্বিত চক্রের প্যারামিটারগুলির সমন্বয়টি খুঁজে বের করুন যা তাদের ওঠানামা এবং প্রবণতার জন্য উপযুক্ত।

  1. অন্যান্য সূচকের সাথে ঝুঁকি মূল্যায়ন

উদাহরণস্বরূপ, Bollinger Bands সূচকটি অস্থিরতা এবং মূল্যের অবস্থান নির্ধারণ করে, ঝড়ের ফাঁদে পড়ে যাওয়া এড়াতে; শক্তি শ্রেণীর সূচকের বিচক্ষণতার সাথে মিলিত হয়ে প্রবণতার নির্ভরযোগ্যতা মূল্যায়ন করে।

সারসংক্ষেপ

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

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

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jacobdickson255

strategy("Crypto Bull Run Tracker", overlay=true, pyramiding=0)

//Dema Scripting
Demalength = input.int(230, minval=1)
src = close
e1 = ta.ema(src, Demalength)
e2 = ta.ema(e1, Demalength)
dema = 2 * e1 - e2
plot(dema, "DEMA", color=#43A047)

//Tema Scripting
Temalength = input.int(210, minval=1)
ema1 = ta.ema(close, Temalength)
ema2 = ta.ema(ema1, Temalength)
ema3 = ta.ema(ema2, Temalength)
tema = 3 * (ema1 - ema2) + ema3
plot(tema, "TEMA", color=#2962FF)

delayBars = input(5, title="Bar Delay")
var int lastTradeBar = na

longCondition = ta.crossover(tema, dema) 
longExit = ta.crossunder(tema, dema)
shortCondition = ta.crossunder(tema, dema)
shortExit = ta.crossover(tema, dema)

// Exit conditions should be checked before entry conditions
// Close short position if a long condition is present
if ((shortExit and strategy.position_size < 0)) // If conditions for exiting the short are met, and there is a balance in the short direction, exit the short
    strategy.close("Short")
   

// Close long position if a short condition is present
if ((longExit and strategy.position_size > 0))
    strategy.close("Long")
   
// Now check for entry conditions
if (longCondition)
    strategy.entry("Long", strategy.long)
    lastTradeBar := bar_index

if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastTradeBar := bar_index