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

কৌশল অনুসরণ করে EMA ক্রসওভার ট্রেন্ড

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

img

সারসংক্ষেপ

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

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

এই কৌশলটির মূল সূচক হল ইএমএ। ইএমএ সূত্রটি হলঃ

EMA (t) = C (t) ×2/ (n+1) + EMA (t-1) × (n-1) / (n+1)

যেখানে t হল বর্তমান টিক, C(t) হল বর্তমান বন্ধের মূল্য, এবং n হল N পরামিতির মান। EMA একটি ওজনযুক্ত ফ্যাক্টর সহ একটি চলমান গড় কৌশল, সাম্প্রতিক মূল্যগুলিতে আরও ওজন অর্পণ করে, এইভাবে সর্বশেষ মূল্য পরিবর্তনের প্রতি দ্রুত প্রতিক্রিয়া জানায়।

কৌশলটি দ্রুত এবং ধীর EMA গঠনের জন্য এবং ধীর EMA এর উপরে দ্রুত EMA ক্রসিং কেনার সংকেত হিসাবে এবং ধীর EMA এর নীচে দ্রুত EMA ক্রসিং বিক্রয় সংকেত হিসাবে গ্রহণ করে। উপরে দ্রুত EMA ক্রসিং একটি নতুন রাউন্ডের উত্থানের সূচনা নির্দেশ করে, যখন নীচে দ্রুত EMA ক্রসিং আপসাইড প্রবণতার শেষ এবং একটি pullback এর সূচনা নির্দেশ করে।

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

এই কৌশলটির সুবিধাগুলো হল:

  1. যুক্তি সহজ এবং বোঝা এবং বাস্তবায়ন করা সহজ;
  2. মূল্যের প্রবণতা বিচার করার জন্য সহজ এবং ব্যবহারিক EMA ব্যবহার করুন, প্রধান প্রবণতা মিস করা এড়ানো;
  3. সামঞ্জস্য ও অপ্টিমাইজেশনের জন্য কয়েকটি পরামিতি, প্রধানত দ্রুত এবং ধীর EMAs উপর নির্ভর করে;
  4. ক্রয়ের পর ঊর্ধ্বমুখী প্রবণতা অনুসরণ করতে সক্ষম;
  5. বিক্রির পরে প্রত্যাহার এড়াতে সক্ষম, ঝুঁকি হ্রাস;
  6. উচ্চ নির্ভরযোগ্যতার সাথে পর্যাপ্ত ব্যাকটেস্ট ডেটা।

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

প্রধান ঝুঁকিগুলি হলঃ

  1. EMA থেকে মিথ্যা সংকেত পাওয়ার উচ্চ সম্ভাবনা;
  2. যখন বাজারের ব্যাপ্তি হয় তখন ইএমএগুলি সহজেই ক্রসওভার হয়;
  3. হঠাৎ ঘটনা ঘটলে দ্রুত গতির পরিবর্তন ঘটলে সময়মতো ক্ষতি বন্ধ করা সম্ভব হয় না।
  4. সীমাবদ্ধ অপ্টিমাইজেশান স্পেস যে প্রকৃত কর্মক্ষমতা ব্যাকটেস্ট ফলাফল underperform হতে পারে।

উপরের ঝুঁকি কমাতে নিম্নলিখিত অপ্টিমাইজেশন ব্যবস্থা গ্রহণ করা যেতে পারেঃ

  1. মিথ্যা সংকেত এড়ানোর জন্য অন্যান্য সূচকগুলির সাথে ফিল্টার শর্ত যুক্ত করা;
  2. সিগন্যালের ফ্রিকোয়েন্সি কমাতে প্যারামিটার সামঞ্জস্য করা।
  3. একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস কৌশল যোগ করা;
  4. সর্বোত্তম খুঁজে পেতে বিভিন্ন সময়সীমার পরামিতি পরীক্ষা করা।

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

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

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

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

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


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("EMA交叉策略by GPT",
     format = format.inherit,
     overlay = true,
     default_qty_type= strategy.percent_of_equity,
     default_qty_value = 100,
     currency = currency.USD,
     initial_capital = 1000000)


// 定義回測交易開始和結束時間的變數
start_time = input(title="開始時間", type=input.time, defval=timestamp("01 Jan 2020 00:00 +0000"))
end_time = input(title="結束時間", type=input.time, defval=timestamp("31 Dec 2050 23:59 +0000"))


// 判斷是否在回測交易時間範圍內
in_range = true


// Define input variables
fast_length = input(title="Fast EMA Length", type=input.integer, defval=5)
slow_length = input(title="Slow EMA Length", type=input.integer, defval=20)


// Define EMAs
fast_ema = ema(close, fast_length)
slow_ema = ema(close, slow_length)


// Define buy and sell signals
buy_signal = crossover(fast_ema, slow_ema)
sell_signal = crossunder(fast_ema, slow_ema)


// Buy signal
if in_range and buy_signal
    strategy.entry("Buy", strategy.long, when=in_range)
   
// Sell signal
if in_range and sell_signal
    strategy.close("Buy", when=sell_signal)

আরো