ডাবল মুভিং এভারেজ ADX টাইমিং কৌশল

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

img

সারসংক্ষেপ

ডুয়াল মুভিং এভারেজ এডিএক্স টাইমিং কৌশলটি ট্রেন্ডের শুরুতে ট্রেডিং সিগন্যাল তৈরি করতে 2/20 মুভিং এভারেজ এবং এডিএক্সআর সূচককে একত্রিত করে প্রবণতা চিহ্নিত করে। এটি প্রথমে মূল্য প্রবণতার দিক নির্ধারণের জন্য 2/20 এক্সপোনেন্সিয়াল মুভিং এভারেজ ব্যবহার করে, তারপরে এডিএক্সআর সূচকের সাথে সংমিশ্রণে প্রবণতা সংকেতটি আরও নিশ্চিত করে, এইভাবে আরও নির্ভরযোগ্য ট্রেডিং সংকেত উত্পাদন করে।

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

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

  1. ২/২০ এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ)

    • 2 এবং 20 দিনের বিভিন্ন প্যারামিটার সহ 2 EMA ব্যবহার করে।
    • দুই দিনের EMA এর উপরে মূল্যের একটি ঊর্ধ্বমুখী ক্রসকে একটি উত্থান সংকেত বলে মনে করা হয়।
    • ২০ দিনের ইএমএ-র নিচে দামের নিম্নমুখী ক্রসকে হ্রাসের সংকেত বলে মনে করা হয়।
  2. এডিএক্সআর নির্দেশক

    • ADXR হল ADX সূচকের একটি রূপ।
    • এটি ADX এর একটি সহজ চলমান গড় গণনা করে।
    • ADXR একটি প্রান্তিক হারের নিচে একটি দুর্বল প্রবণতা বোঝায়।
    • ADXR একটি প্রান্তিক সীমা অতিক্রম করলে প্রবণতা আরও শক্তিশালী হয়।
  3. ট্রেডিং সিগন্যাল

    • যখন 2-দিনের EMA Golden Cross AND ADXR প্রান্তিকের চেয়ে বেশি হয় তখন একটি উত্থান সংকেত উৎপন্ন হয়।
    • যখন ২০ দিনের EMA Dead Cross AND ADXR প্রান্তিকের নিচে থাকে তখন একটি bearish সংকেত উৎপন্ন হয়।
    • ADXR এর সাথে মিলিয়ে কিছু মিথ্যা বিরতি ফিল্টার করে এবং বাস্তব প্রবণতা সংকেত উন্নত করে।

এই কৌশলটির প্রধান উদ্ভাবন হল প্রাথমিক পর্যায়ে প্রবণতা চিহ্নিত করতে ADXR সূচক ব্যবহার করা এবং মান এবং স্থিতিশীলতা উন্নত করতে ঐতিহ্যবাহী চলমান গড় সংকেতগুলির সাথে এটি একত্রিত করা।

সুবিধা

ডুয়াল মুভিং এভারেজ এডিএক্স টাইমিং কৌশলটির প্রধান সুবিধাঃ

  1. ডুয়াল এমএ এবং এডিএক্সআর একত্রিত করে, সিগন্যালগুলি আরও নির্ভুল এবং নির্ভরযোগ্য, মিথ্যা সংকেতগুলি ফিল্টার করা হয়।
  2. ADXR ব্যবহার করে প্রবণতার প্রাথমিক পর্যায়ে সনাক্তকরণের মাধ্যমে প্রাথমিক প্রবণতা চিহ্নিত করা।
  3. পরিবর্তিত বাজারের অবস্থার সাথে মানিয়ে নিতে ADXR পরামিতির নমনীয় সুরক্ষা।
  4. সহজ এবং পরিষ্কার যুক্তি, সহজেই বোঝা যায়, প্যারামিটারগুলি সামঞ্জস্য করার জন্য সুবিধাজনক।
  5. ইতিহাসে ভালো পারফরম্যান্সের সাথে বিভিন্ন বাজারের পরিবেশে প্রযোজ্য।

ঝুঁকি

এই কৌশলটির জন্য বেশ কয়েকটি প্রধান ঝুঁকি রয়েছেঃ

  1. ADXR প্যারামিটার সেটিং ভুল হলে ট্রেড মিস হতে পারে।

    • ADXR প্যারামিটার পরিসীমা প্রসারিত করুন অথবা পণ্য অনুযায়ী সামঞ্জস্য করুন।
  2. বিশেষ বাজারের পরিস্থিতিতে আরও মিথ্যা সংকেত দেখা দিতে পারে।

    • আরও সংকেত ফিল্টারিংয়ের জন্য অন্যান্য সূচকগুলির সাথে একত্রিত করার বিষয়টি বিবেচনা করুন।
  3. স্থির EMA পরামিতিগুলি বাজারের পরিবর্তনের সাথে মানিয়ে নিতে ব্যর্থ হয়।

    • অভিযোজিত EMA পরামিতি সহ পরীক্ষার অপ্টিমাইজেশন সংস্করণ।
  4. ট্রেডিং রেঞ্জ চিহ্নিত করতে না পারলে, অত্যধিক অপ্রয়োজনীয় ট্রেড তৈরি হতে পারে।

    • বাজারের পরিসীমা সনাক্ত করতে অতিরিক্ত লজিক বা সূচক যোগ করুন।

উন্নতির নির্দেশাবলী

কৌশলটি নিম্নলিখিত দিকগুলি থেকে আরও অনুকূল এবং উন্নত করা যেতে পারেঃ

  1. বাজারের অবস্থার সাথে স্বয়ংক্রিয় অভিযোজন জন্য EMA পরামিতি অপ্টিমাইজেশান।

  2. আরও কার্যকর ট্রেডিং সিগন্যালের জন্য ADXR প্যারামিটার পরিসীমা প্রসারিত করুন।

  3. গুণমান উন্নত করার জন্য সংমিশ্রণ সংকেতগুলির জন্য অতিরিক্ত প্রবণতা বিচার সূচক যুক্ত করুন।

  4. স্টপ লস কৌশল যোগ করুন এবং ট্রেড ঝুঁকি নিয়ন্ত্রণের জন্য লাভের মান গ্রহণ করুন।

  5. অ্যাকাউন্টের স্থিতির উপর ভিত্তি করে গতিশীল অবস্থানের আকারের জন্য অর্থ ব্যবস্থাপনা অপ্টিমাইজ করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/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
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in volatile markets.
//
//
// 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

fADX(Len) =>
    up = ta.change(high)
    down = -ta.change(low)
    trur = ta.rma(ta.tr, Len)
    plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

ADXR(LengthADX,LengthADXR,Signal1,Signal2) =>
    pos = 0.0
    xADX = fADX(LengthADX)
    xADXR = (xADX + xADX[LengthADXR]) / 2
    pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ ADXR  ═════●'
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input.float(13, step=0.01)
Signal2 = input.float(45, step=0.01)
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)
prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2)
iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosADXR == 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)

আরো