ডুয়াল টিইএমএ ক্রসওভার ট্রেডিং কৌশল

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

সারসংক্ষেপ

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

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

কৌশলটি প্রধান প্রযুক্তিগত সূচক হিসাবে TEMA (ট্রিপল এক্সপোনেনশিয়াল মুভিং এভারেজ) ব্যবহার করে। TEMA গণনা করা হয়ঃ

TEMA = (3EMA1) - (3EMA2) + EMA3

যেখানে EMA1, EMA2 এবং EMA3 হল N সময়ের EMA। EMA তিনবার গণনা করে, TEMA দামের পরিবর্তনে দ্রুত প্রতিক্রিয়া জানাতে পারে।

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

এই কৌশলটির মূল চাবিকাঠিগুলি প্যারামিটার টিউনিং এবং শর্ত লজিকের মধ্যে রয়েছে। 20 দিনের মতো স্বল্প সময়ের সাথে দ্রুত লাইনটি দ্রুত দামের গতিবিদ্যা ক্যাপচার করতে পারে, যখন 60 দিনের মতো দীর্ঘ সময়ের সাথে ধীর লাইনটি মিথ্যা ব্রেকআউটগুলি ফিল্টার করতে পারে। যখন একটি উল্লেখযোগ্য মূল্যের আপট্রেন্ড বা ডাউনট্রেন্ড উদ্ভূত হয়, তখন দ্রুত লাইনটি ধীর লাইনের উপরে বা নীচে দ্রুত ক্রস করতে পারে ট্রেডিং সংকেত উত্পাদন করতে।

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

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. TEMA মূল্য পরিবর্তনের ক্ষেত্রে দ্রুত প্রতিক্রিয়া জানাতে পারে এবং প্রবণতা বিপরীতকরণ সনাক্ত করতে পারে।

  2. দ্বিগুণ TEMA কাঠামো মিথ্যা ব্রেকআউট ফিল্টার করতে এবং উচ্চ সম্ভাব্যতার ট্রেন্ড ট্রেডগুলিতে প্রবেশ করতে সহায়তা করে।

  3. বিভিন্ন বাজারের অবস্থার সাথে মানিয়ে নিতে নমনীয় সামঞ্জস্যযোগ্য পরামিতি।

  4. সহজ এবং পরিষ্কার যুক্তি, সহজেই বোঝা এবং বাস্তবায়ন, উচ্চ মূলধন ব্যবহার।

  5. ট্রেন্ডিং মার্কেটে, বিশেষ করে শক্তিশালী ট্রেন্ডিং মার্কেটে ভালো মুনাফা অর্জন করা যায়।

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

এই কৌশলের ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. রেঞ্জ-বান্ধব বাজারে ঘন ঘন ট্রেডিং ক্ষতির ঝুঁকিতে থাকে।

  2. যদি প্যারামিটারগুলি সঠিকভাবে সেট না করা হয় তবে অতিরিক্ত মিথ্যা সংকেত তৈরি করতে পারে।

  3. হঠাৎ ঘটনা এবং স্বল্পমেয়াদী মূল্য পরিবর্তনের ক্ষেত্রে কার্যকরভাবে প্রতিক্রিয়া জানাতে অক্ষম।

  4. বিলম্বিত সংকেতগুলি স্বল্পমেয়াদী সুযোগগুলি মিস করতে পারে।

  5. শক্ত ওঠানামা মোকাবেলায় পজিশন খোলার উচ্চ ঝুঁকি।

  6. পরিবর্তিত বাজারের সাথে মানিয়ে নিতে প্যারামিটার অপ্টিমাইজেশনের অভিজ্ঞতা প্রয়োজন।

ঝুঁকি ব্যবস্থাপনা ব্যবস্থাঃ

  1. অতিরিক্ত সংবেদনশীলতা এড়ানোর জন্য প্যারামিটার অপ্টিমাইজ করুন।

  2. প্রবেশ সংকেত ফিল্টার করার জন্য অন্যান্য সূচক যোগ করুন।

  3. একক ট্রেড ক্ষতি সীমিত করতে স্টপ লস ব্যবহার করুন।

  4. ঝুঁকি নিয়ন্ত্রণের জন্য পজিশনের আকার হ্রাস করুন।

  5. প্যারামিটার অপ্টিমাইজেশান নিয়ম এবং ম্যানুয়াল হস্তক্ষেপ প্রক্রিয়া যোগ করুন।

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

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

  1. বিভিন্ন পণ্য এবং বাজারের অবস্থার জন্য দ্রুত এবং ধীর লাইন প্যারামিটার অপ্টিমাইজ করুন। গতিশীল প্যারামিটার অপ্টিমাইজেশান প্রক্রিয়া চালু করুন।

  2. সিগন্যালের বৈধতা বাড়াতে ম্যাকডি, বোলিংজার ব্যান্ডের মতো অন্যান্য সূচক অন্তর্ভুক্ত করুন।

  3. স্টপ লস স্ট্র্যাটেজি যোগ করুন যেমন ট্রেলিং স্টপ, টাইম স্টপ, এটিআর স্টপ।

  4. ভিআইএক্স উচ্চ হলে পজিশন খোলার থেকে বিরত থাকুন।

  5. ভলিউম সূচক যোগ করুন, শুধুমাত্র স্পষ্ট ভলিউম সম্প্রসারণ প্রবেশ বিবেচনা করুন।

  6. ফিক্সড ফ্রেকশান পজিশনের আকার, ড্রাউনডাউন কন্ট্রোলের মতো অর্থ ব্যবস্থাপনা অপ্টিমাইজ করুন।

  7. মেশিন লার্নিং ব্যবহার করে স্বয়ংক্রিয়ভাবে প্যারামিটার অপ্টিমাইজ করুন।

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

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nickrober

//@version=4
strategy(title="TEMA Cross Backtest", shorttitle="TEMA_X_BT", overlay=true, commission_type=strategy.commission.percent, commission_value=0, initial_capital = 1000,  default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Backtest inputs
FromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
FromDay = input(defval=1, title="From Day", minval=1, maxval=31)
FromYear = input(defval=2020, title="From Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1, maxval=12)
ToDay = input(defval=1, title="To Day", minval=1, maxval=31)
ToYear = input(defval=9999, title="To Year", minval=2017)

// Define backtest timewindow
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() =>  true

//TEMA Section
xLength = input(20, minval=1, title="Fast Length")
xPrice = close
xEMA1 = ema(xPrice, xLength)
xEMA2 = ema(xEMA1, xLength)
xEMA3 = ema(xEMA2, xLength)
xnRes = (3 * xEMA1) - (3 * xEMA2) + xEMA3
xnResP = plot(xnRes, color=color.green, linewidth=2, title="TEMA1")

yLength = input(60, minval=1, title="Slow Length")
yPrice = close
yEMA1 = ema(yPrice, yLength)
yEMA2 = ema(yEMA1, yLength)
yEMA3 = ema(yEMA2, yLength)
ynRes = (3 * yEMA1) - (3 * yEMA2) + yEMA3
ynResP = plot(ynRes, color=color.red, linewidth=2, title="TEMA2")

fill(xnResP, ynResP, color=xnRes > ynRes ? color.green : color.red, transp=75, editable=true)

// Buy and Sell Triggers
LongEntryAlert = xnRes > ynRes
LongCloseAlert = xnRes < ynRes
ShortEntryAlert = xnRes < ynRes
ShortCloseAlert = xnRes > ynRes

// Entry & Exit signals
strategy.entry("Long", strategy.long, when = xnRes > ynRes and window()) 
strategy.close("Long", when = xnRes < ynRes)
//strategy.entry("Short", strategy.short, when = xnRes < ynRes and window())
//strategy.close("Short", when = xnRes > ynRes)

আরো