ডাবল ইএমএ গ্রাউন্ডিং ব্রেকআউট কৌশল

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

img

সারসংক্ষেপ

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

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

  1. বাজার প্রবণতা নির্ধারণের জন্য বিভিন্ন পরামিতি সহ দুটি EMA ব্যবহার করুন। যদি সংক্ষিপ্ত EMA দীর্ঘ EMA এর উপরে থাকে তবে এটি একটি ষাঁড়ের বাজার, অন্যথায় এটি একটি ভালুকের বাজার।

  2. যখন বাজারটি উত্থানমুখী হয়, যদি একটি উত্থানমুখী গ্রাউন্ডিং প্যাটার্ন প্রদর্শিত হয় এবং ট্রেডিং ভলিউম পূর্ববর্তী বারের তুলনায় ১.২ গুণ বেশি হয়, তখন একটি দীর্ঘ সংকেত সক্রিয় হয়। এই প্যাটার্নটি অনুসরণ করার জন্য শক্তিশালী ষাঁড়ের গতি দেখায়।

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

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

  1. বাজারের কাঠামো নির্ধারণের জন্য দ্বৈত ইএমএ ব্যবহার করে সঠিকভাবে ষাঁড়/ঘোড়ার অবস্থা বিচার করা যায়।

  2. গলফিং প্যাটার্ন দেখায় একপাশের গতি হঠাৎ বৃদ্ধি পায়, যা প্রধান প্রবণতা ক্যাপচার করতে পারে।

  3. এটিতে স্টপ লস প্রক্রিয়া রয়েছে। স্টপ লস মূল্য নির্ধারণ না করে কিন্তু হার বন্ধ করতে বাজার কাঠামো বিপরীত ব্যবহার করে, অপ্রয়োজনীয় স্লিপিং হ্রাস করা যেতে পারে।

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

  1. ডুয়াল ইএমএগুলি বাজারের কাঠামোটি ভুলভাবে বিচার করতে পারে, যার ফলে প্রবণতা মিস করা বা ভুলভাবে দীর্ঘ যেতে পারে। ইএমএ সময়কালগুলি সামঞ্জস্য করা যেতে পারে।

  2. ভ্রান্ত ট্রেডিং এড়ানোর জন্য আরও ফিল্টার যুক্ত করা যেতে পারে।

  3. স্টপ লস মূল্য না থাকলে আরও বড় ক্ষতি হতে পারে। ব্রেক ইভেনের মতো অন্যান্য স্টপ লস পদ্ধতি পরীক্ষা করা যেতে পারে।

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

  1. লং/শর্ট নির্ধারণের জন্য MACD, A/D এর মতো আরও সূচক ব্যবহার করা যেতে পারে।

  2. প্রয়োজনের উপর ভিত্তি করে মাঝারি স্থির স্টপ লস মূল্য যোগ করুন।

  3. প্রতীক ট্রেডিংয়ের বৈশিষ্ট্যগুলির উপর ভিত্তি করে EMA সময়কালকে অনুকূলিত করুন।

সিদ্ধান্ত

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


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

// @version=5
// # ========================================================================= #
// #                   |   STRATEGY  |
// # ========================================================================= #
strategy(
  title                           = "fpemehd Strategy001",
  shorttitle                      = "f_001",
  overlay                         =  true,
  default_qty_type                =  strategy.percent_of_equity, 
  default_qty_value               =  100, 
  initial_capital                 =  10000000, 
  currency                        =  currency.USD, 
  slippage                        =  0, 
  commission_type                 =  strategy.commission.cash_per_order, 
  commission_value                =  0.01, 
  process_orders_on_close         =  true)
// # ========================================================================= #
// #                   |   STRATEGY  |
// # ========================================================================= #


// Inputs
I_start_date = input (defval = timestamp("20 Jan 1990 00:00 +0900"))
I_finish_date = input(defval = timestamp("20 Dec 2030 00:00 +0900"))

I_short_ema = input.int(defval = 15 , title = "Short EMA", minval = 1 , maxval = 300 , step = 1)
I_long_ema = input.int(defval = 30 , title = "Long EMA", minval = 1 , maxval = 300 , step = 1)

I_body = input.float(defval = 1 , title = "Size of Body", minval = 1 , maxval = 5 , step = 0.1)

time_cond = true

// Calculate Engulfing Candles
C_uptrend = false
C_downtrend = false
C_ema_short = ta.ema(source = close, length = I_short_ema) 
C_ema_long = ta.ema(source = close, length = I_long_ema) 
C_uptrend := close > C_ema_short and C_ema_short > C_ema_long
C_downtrend := close < C_ema_short and C_ema_short < C_ema_long

C_pre_body = math.abs(open[1]-close[1])
C_pre_body_ratio = (math.abs(open[1]-close[1])) / (math.abs(high[1]-low[1])) * 100

C_now_body = math.abs(open-close)
C_now_body_ratio = (math.abs(open-close)) / (math.abs(high-low)) * 100

C_bullish_engulfing = (open[1] > close[1] and open <= close) and (low < low[1] and high > high[1])
C_bearish_engulfing = (open[1] < close[1] and open >= close) and (low < low[1] and high > high[1])
C_avoid_doge = (C_pre_body_ratio > I_body and C_now_body_ratio > I_body) ? true : false
C_volume_filter = volume > volume[1] * 1.2

// Signals
long_signal = C_uptrend and C_bullish_engulfing and C_avoid_doge and C_volume_filter
close_signal = C_downtrend or C_bearish_engulfing 


if long_signal and time_cond
    strategy.entry(id = "Long", direction = strategy.long)

if close_signal and time_cond
    strategy.close(id = "Long")



আরো