ATR এবং ADX এর উপর ভিত্তি করে গতিশীল তিন-লাইন ব্রেকআউট ট্রেডিং কৌশল

ATR ADX SL TP
সৃষ্টির তারিখ: 2025-02-21 09:23:20 অবশেষে সংশোধন করুন: 2025-02-27 17:20:50
অনুলিপি: 2 ক্লিকের সংখ্যা: 405
2
ফোকাস
319
অনুসারী

ATR এবং ADX এর উপর ভিত্তি করে গতিশীল তিন-লাইন ব্রেকআউট ট্রেডিং কৌশল ATR এবং ADX এর উপর ভিত্তি করে গতিশীল তিন-লাইন ব্রেকআউট ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

কৌশলটি তিনটি মূল প্রক্রিয়া ভিত্তিক কাজ করেঃ প্রথমত, ধ্রুপদী তিন-লাইন ব্রেক-আউট ফর্মগুলি সনাক্ত করা, যার মধ্যে রয়েছে বাউন্স ফর্মগুলি ((তিনটি ধারাবাহিক সূচকের পরে ব্যানার ব্রেক-আউট) এবং ব্রেক-আউট ফর্মগুলি ((তিনটি ধারাবাহিক সূচকের পরে ব্যানার ব্রেক-আউট); দ্বিতীয়ত, ট্রেন্ডের শক্তি পরিমাপ করার জন্য ADX ((গড় ট্রেন্ডিং সূচক) ব্যবহার করা হয়, যখন ADX মানটি সেট করা থ্রেশহোল্ড অতিক্রম করে তখনই সংকেত নিশ্চিত করা হয়; এবং শেষ পর্যন্ত, ATR ((সত্যিকারের তরঙ্গদৈর্ঘ্য) গতিশীল স্টপ-আপের অবস্থান গণনা করা হয়, যা ঝুঁকি পরিচালনার জন্য স্ব-অনুকূলতা অর্জন করে। কৌশলটি প্রযুক্তিগতভাবে সংকেতের গুণমানকে সুনির্দিষ্ট কে-লাইন রঙ নির্ধারণ এবং ব্রেক-আউট শক্তি যাচাইয়ের মাধ্যমে নিশ্চিত করে।

কৌশলগত সুবিধা

  1. সংকেত নিশ্চিতকরণ প্রক্রিয়া উন্নতঃ একাধিক প্রযুক্তিগত সূচকগুলির সমন্বয় দ্বারা সংকেত নির্ভরযোগ্যতা বৃদ্ধি করুন (কে-লাইন ফর্ম্যাট, এডিএক্স, এটিআর)
  2. ঝুঁকি ব্যবস্থাপনা বুদ্ধিমানঃ এটিআর-ভিত্তিক গতিশীল স্টপ লস সেটিং যা বাজারের অস্থিরতার সাথে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে পারে
  3. উচ্চতর কাস্টমাইজযোগ্যতাঃ ADX থ্রেশহোল্ড, ATR চক্র ইত্যাদি সহ একাধিক মূল প্যারামিটারগুলির জন্য সামঞ্জস্যের বিকল্পগুলি সরবরাহ করে
  4. প্রবণতা ট্র্যাকিং উন্নত করা হয়েছেঃ ADX ফিল্টারিং শুধুমাত্র শক্তিশালী প্রবণতা পরিবেশে প্রবেশ নিশ্চিত করে
  5. কোডের কাঠামো পরিষ্কারঃ মডুলার ডিজাইন সহজেই রক্ষণাবেক্ষণ এবং সম্প্রসারণ করা যায়

কৌশলগত ঝুঁকি

  1. আকৃতি সনাক্তকরণ বিলম্বঃ তিন লাইনের ভাঙ্গন আকৃতির নিশ্চিতকরণ চারটি কে লাইনের সমাপ্তি প্রয়োজন, যা প্রবেশের সময় বিলম্ব হতে পারে
  2. ভুয়া ব্রেকিংয়ের ঝুঁকিঃ অস্থির বাজারে ভুয়া ব্রেকিংয়ের সংকেত হতে পারে
  3. ADX পিছিয়ে পড়াঃ ট্রেন্ড নিশ্চিতকরণ সূচক হিসাবে, ADX নিজেই কিছুটা পিছিয়ে রয়েছে
  4. স্টপ ল্যাম্পেজ বিবেচনাঃ এটিআর-ভিত্তিক স্টপ ল্যাম্প সেটিংগুলি তীব্র ওঠানামা করার সময় খুব বড় বা খুব ছোট হতে পারে
  5. বাজার পরিস্থিতির উপর নির্ভরশীলতাঃ কৌশলগুলি প্রবণতাযুক্ত বাজারগুলিতে ভাল কাজ করে, ঝড়ের বাজারগুলি কম কার্যকর হতে পারে

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

  1. সংকেত পরিস্রাবণ উন্নতঃ সংকেত নির্ভরযোগ্যতা উন্নত করার জন্য একটি ট্রানজিট নিশ্চিতকরণ ব্যবস্থা যোগ করা যেতে পারে
  2. গতিশীল প্যারামিটার অপ্টিমাইজেশানঃ ADX থ্রেশহোল্ড এবং ATR চক্রের গতিশীল সমন্বয় করার জন্য একটি অভিযোজিত প্রক্রিয়া চালু করা হয়েছে
  3. প্রবেশের সময় অপ্টিমাইজেশনঃ মূল্য কাঠামোর সাথে মিলিত হতে পারে (সমর্থন / প্রতিরোধের স্থান) প্রবেশের পয়েন্ট পয়েন্ট অপ্টিমাইজ করা
  4. পজিশন ম্যানেজমেন্ট উন্নতঃ অস্থিরতা-ভিত্তিক গতিশীল পজিশন ম্যানেজমেন্ট ব্যবস্থা যোগ করা হয়েছে
  5. মার্কেট এনভায়রনমেন্ট আইডেন্টিফিকেশনঃ মার্কেট এনভায়রনমেন্ট ক্লাসিফিকেশন লজিক যুক্ত করা হয়েছে, বিভিন্ন মার্কেট কন্ডিশনে বিভিন্ন প্যারামিটার সেটিং ব্যবহার করা হয়েছে

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-08-05 00:00:00
end: 2024-12-24 00:00:00
period: 5h
basePeriod: 5h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

// Copyright ...
// Based on the TMA Overlay by Arty, converted to a simple strategy example.
// Pine Script v5

//@version=5
strategy(title='3 Line Strike [TTF] - Strategy with ATR and ADX Filter',
     shorttitle='3LS Strategy [TTF]',
     overlay=true,
     initial_capital=100000,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=100,
     pyramiding=0)

// -----------------------------------------------------------------------------
//                               INPUTS
// -----------------------------------------------------------------------------

// ATR and ADX Inputs
atrLength = input.int(title='ATR Length', defval=14, group='ATR & ADX')
adxLength = input.int(title='ADX Length', defval=14, group='ATR & ADX')
adxThreshold = input.float(title='ADX Threshold', defval=25, group='ATR & ADX')

// ### 3 Line Strike
showBear3LS = input.bool(title='Show Bearish 3 Line Strike', defval=true, group='3 Line Strike',
     tooltip="Bearish 3 Line Strike (3LS-Bear) = 3 zelené sviečky, potom veľká červená sviečka (engulfing).")
showBull3LS = input.bool(title='Show Bullish 3 Line Strike', defval=true, group='3 Line Strike',
     tooltip="Bullish 3 Line Strike (3LS-Bull) = 3 červené sviečky, potom veľká zelená sviečka (engulfing).")

// -----------------------------------------------------------------------------
//                          CALCULATIONS
// -----------------------------------------------------------------------------

// Calculate ATR
atr = ta.atr(atrLength)

// Calculate ADX components manually
tr = ta.tr(true)
plusDM = ta.change(high) > ta.change(low) and ta.change(high) > 0 ? ta.change(high) : 0
minusDM = ta.change(low) > ta.change(high) and ta.change(low) > 0 ? ta.change(low) : 0
smoothedPlusDM = ta.rma(plusDM, adxLength)
smoothedMinusDM = ta.rma(minusDM, adxLength)
smoothedTR = ta.rma(tr, adxLength)

plusDI = (smoothedPlusDM / smoothedTR) * 100
minusDI = (smoothedMinusDM / smoothedTR) * 100

dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.rma(dx, adxLength)

// Helper Functions
getCandleColorIndex(barIndex) =>
    int ret = na
    if (close[barIndex] > open[barIndex])
        ret := 1
    else if (close[barIndex] < open[barIndex])
        ret := -1
    else
        ret := 0
    ret

isEngulfing(checkBearish) =>
    sizePrevCandle = close[1] - open[1]
    sizeCurrentCandle = close - open
    isCurrentLargerThanPrevious = math.abs(sizeCurrentCandle) > math.abs(sizePrevCandle)

    if checkBearish
        isGreenToRed = (getCandleColorIndex(0) < 0) and (getCandleColorIndex(1) > 0)
        isCurrentLargerThanPrevious and isGreenToRed
    else
        isRedToGreen = (getCandleColorIndex(0) > 0) and (getCandleColorIndex(1) < 0)
        isCurrentLargerThanPrevious and isRedToGreen

isBearishEngulfing() => isEngulfing(true)
isBullishEngulfing() => isEngulfing(false)

is3LSBear() =>
    is3LineSetup = (getCandleColorIndex(1) > 0) and (getCandleColorIndex(2) > 0) and (getCandleColorIndex(3) > 0)
    is3LineSetup and isBearishEngulfing()

is3LSBull() =>
    is3LineSetup = (getCandleColorIndex(1) < 0) and (getCandleColorIndex(2) < 0) and (getCandleColorIndex(3) < 0)
    is3LineSetup and isBullishEngulfing()

// Signals
is3LSBearSig = is3LSBear() and adx > adxThreshold
is3LSBullSig = is3LSBull() and adx > adxThreshold

// Take Profit and Stop Loss
longTP = close + 2 * atr
longSL = close - 1 * atr
shortTP = close - 2 * atr
shortSL = close + 1 * atr

// -----------------------------------------------------------------------------
//                          STRATEGY ENTRY PRÍKAZY
// -----------------------------------------------------------------------------
if (showBull3LS and is3LSBullSig)
    strategy.entry("3LS_Bull", strategy.long, comment="3LS Bullish")
    strategy.exit("Exit Bull", from_entry="3LS_Bull", limit=longTP, stop=longSL)

if (showBear3LS and is3LSBearSig)
    strategy.entry("3LS_Bear", strategy.short, comment="3LS Bearish")
    strategy.exit("Exit Bear", from_entry="3LS_Bear", limit=shortTP, stop=shortSL)