রিসোর্স লোড হচ্ছে... লোডিং...

মাল্টি-টাইমফ্রেম ইএমএ ট্রেন্ড ইম্পটাম ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-11-12 16:35:41
ট্যাগঃইএমএএটিআরকেসিএসএমএএলআর

img

সারসংক্ষেপ

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

কৌশলগত নীতি

মূল যুক্তিতে বেশ কয়েকটি মূল উপাদান অন্তর্ভুক্ত রয়েছেঃ

  1. ইএমএ সমন্বয় ব্যবস্থাঃ 20 দিনের ইএমএ 50 দিনের ইএমএর উপরে, যা 100 দিনের ইএমএর উপরে, যা 200 দিনের ইএমএর উপরে, একটি নিখুঁত উত্থান সমন্বয় গঠন করে।
  2. গতি নিশ্চিতকরণ সিস্টেম: দৈনিক এবং সাপ্তাহিক উভয় সময়সীমার উপর লিনিয়ার রিগ্রেশন ভিত্তিতে কাস্টম গতির সূচক গণনা করে। এই গতির কেল্টনার চ্যানেলের মধ্যরেখা থেকে মূল্য বিচ্যুতির লিনিয়ার রিগ্রেশনের মাধ্যমে পরিমাপ করা হয়।
  3. পুলব্যাক এন্ট্রি সিস্টেম: প্রাইসকে প্রবেশের জন্য ২০ দিনের ইএমএ-র নির্দিষ্ট শতাংশ পরিসরের মধ্যে ফিরে আসতে হবে।
  4. রিস্ক ম্যানেজমেন্ট সিস্টেমঃ স্টপ লস এবং লাভের লক্ষ্য নির্ধারণের জন্য ATR গুণক ব্যবহার করে, স্টপ লসের জন্য 1.5x ATR এবং লাভের লক্ষ্যের জন্য 3x ATR ডিফল্ট করে।

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

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

কৌশলগত ঝুঁকি

  1. ইএমএ লেগঃ ইএমএগুলি লেগিং সূচক হিসাবে বিলম্বিত এন্ট্রি হতে পারে। শীর্ষস্থানীয় সূচকগুলি অন্তর্ভুক্ত করার বিষয়টি বিবেচনা করুন।
  2. ব্যাপ্তি বাজারে দুর্বল পারফরম্যান্সঃ কৌশলটি পার্শ্ববর্তী বাজারে ঘন ঘন মিথ্যা সংকেত তৈরি করতে পারে। বাজার পরিবেশ ফিল্টার যুক্ত করার বিষয়টি বিবেচনা করুন।
  3. ড্রডাউন ঝুঁকিঃ এটিআর বন্ধ থাকা সত্ত্বেও, চরম পরিস্থিতিতে উল্লেখযোগ্য ড্রডাউন সম্ভব। সর্বাধিক ড্রডাউন সীমা বাস্তবায়ন বিবেচনা করুন।
  4. পরামিতি সংবেদনশীলতাঃ কৌশল কর্মক্ষমতা পরামিতি সেটিংসে সংবেদনশীল। পুঙ্খানুপুঙ্খ পরামিতি অপ্টিমাইজেশান পরীক্ষা সুপারিশ করা হয়।

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

  1. বাজার পরিবেশের স্বীকৃতিঃ বিভিন্ন বাজারের অবস্থার মধ্যে বিভিন্ন প্যারামিটার সেট ব্যবহার করার জন্য উদ্বায়ীতা বা প্রবণতা শক্তির সূচক যোগ করুন।
  2. এন্ট্রি অপ্টিমাইজেশানঃ পুলব্যাক জোনের মধ্যে আরো সুনির্দিষ্ট এন্ট্রি পয়েন্টের জন্য আরএসআই এর মতো দোলক যোগ করুন।
  3. ডায়নামিক প্যারামিটার সমন্বয়ঃ বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ATR গুণক এবং pullback পরিসীমা সামঞ্জস্য করুন।
  4. ভলিউম বিশ্লেষণ সংহতকরণঃ সংকেত নির্ভরযোগ্যতা উন্নত করার জন্য ভলিউম বিশ্লেষণের মাধ্যমে প্রবণতা শক্তি নিশ্চিত করুন।
  5. মেশিন লার্নিং বাস্তবায়নঃ মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে গতিশীলভাবে পরামিতিগুলি অনুকূলিতকরণ এবং কৌশল অভিযোজনযোগ্যতা উন্নত করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Swing Trading with EMA Alignment and Custom Momentum", overlay=true)

// User inputs for customization
atrLength = input.int(14, title="ATR Length", minval=1)
atrMultiplierSL = input.float(1.5, title="Stop-Loss Multiplier (ATR)", minval=0.1)   // Stop-loss at 1.5x ATR
atrMultiplierTP = input.float(3.0, title="Take-Profit Multiplier (ATR)", minval=0.1)   // Take-profit at 3x ATR
pullbackRangePercent = input.float(1.0, title="Pullback Range (%)", minval=0.1) // 1% range for pullback around 20 EMA
lengthKC = input.int(20, title="Length for Keltner Channels (Momentum Calculation)", minval=1)

// EMA settings
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)

// ATR calculation
atrValue = ta.atr(atrLength)

// Custom Momentum Calculation based on Linear Regression for Daily Timeframe
highestHighKC = ta.highest(high, lengthKC)
lowestLowKC = ta.lowest(low, lengthKC)
smaCloseKC = ta.sma(close, lengthKC)

// Manually calculate the average of highest high and lowest low
averageKC = (highestHighKC + lowestLowKC) / 2

// Calculate daily momentum using linear regression
dailyMomentum = ta.linreg(close - (averageKC + smaCloseKC) / 2, lengthKC, 0) // Custom daily momentum calculation

// Fetch weekly data for momentum calculation using request.security()
[weeklyHigh, weeklyLow, weeklyClose] = request.security(syminfo.tickerid, "W", [high, low, close])

// Calculate weekly momentum using linear regression on weekly timeframe
weeklyHighestHighKC = ta.highest(weeklyHigh, lengthKC)
weeklyLowestLowKC = ta.lowest(weeklyLow, lengthKC)
weeklySmaCloseKC = ta.sma(weeklyClose, lengthKC)
weeklyAverageKC = (weeklyHighestHighKC + weeklyLowestLowKC) / 2

weeklyMomentum = ta.linreg(weeklyClose - (weeklyAverageKC + weeklySmaCloseKC) / 2, lengthKC, 0) // Custom weekly momentum calculation

// EMA alignment condition (20 EMA > 50 EMA > 100 EMA > 200 EMA)
emaAligned = ema20 > ema50 and ema50 > ema100 and ema100 > ema200

// Momentum increasing condition (daily and weekly momentum is positive and increasing)
dailyMomentumIncreasing = dailyMomentum > 0 and dailyMomentum > dailyMomentum[1] //and dailyMomentum[1] > dailyMomentum[2]
weeklyMomentumIncreasing = weeklyMomentum > 0 and weeklyMomentum > weeklyMomentum[1] //and weeklyMomentum[1] > weeklyMomentum[2]

// Redefine Pullback condition: price within 1% range of the 20 EMA
upperPullbackRange = ema20 * (1 + pullbackRangePercent / 100)
lowerPullbackRange = ema20 * (1 - pullbackRangePercent / 100)
pullbackToEma20 = (close <= upperPullbackRange) and (close >= lowerPullbackRange)

// Entry condition: EMA alignment and momentum increasing on both daily and weekly timeframes
longCondition = emaAligned and dailyMomentumIncreasing and weeklyMomentumIncreasing and pullbackToEma20

// Initialize stop loss and take profit levels as float variables
var float longStopLevel = na
var float longTakeProfitLevel = na

// Calculate stop loss and take profit levels based on ATR
if (longCondition)
    longStopLevel := close - (atrMultiplierSL * atrValue)  // Stop loss at 1.5x ATR below the entry price
    longTakeProfitLevel := close + (atrMultiplierTP * atrValue) // Take profit at 3x ATR above the entry price

// Strategy execution
if (longCondition)
    strategy.entry("Long", strategy.long)

// Exit conditions: Stop-loss at 1.5x ATR and take-profit at 3x ATR
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLevel, limit=longTakeProfitLevel)


সম্পর্কিত

আরো