EMA ক্রসওভার ট্রেডিংয়ের স্বল্প, মধ্যম এবং দীর্ঘমেয়াদী কৌশল

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

img

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

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

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

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

কৌশলটির সুবিধা

  1. মাল্টি-পিরিয়ড ইএমএ ব্যবহার করে অত্যধিক সংক্ষিপ্ত বা দীর্ঘ একক ইএমএ সময়ের সাথে ঘটতে পারে এমন মূল প্রবণতা বিপরীত পয়েন্টগুলি মিস করা এড়ানো হয়
  2. সংক্ষিপ্ত, মাঝারি এবং দীর্ঘ মেয়াদী তিনটি EMA একত্রিত করা ট্রেডিং সংকেতগুলির নির্ভরযোগ্যতা বাড়ায়
  3. ইএমএ-র মাধ্যমে সুগম মূল্য নির্ধারণ কিছু বাজারের গোলমাল ফিল্টার করে এবং অপ্রয়োজনীয় প্রবেশগুলি রোধ করে

কৌশলটির ঝুঁকি

  1. এই তিনটি ইএমএ হ'ল বিলম্বিত প্রবণতা সূচক, যা প্রকৃত মূল্যের ভাঙ্গনের আগে কিছু সময়ের বিলম্ব ধারণ করে, দেরী সংকেতগুলির ঝুঁকিপূর্ণ
  2. ইএমএগুলি বাস্তব প্রবণতা এবং স্বল্পমেয়াদী সংশোধনগুলি কার্যকরভাবে আলাদা করতে পারে না, যা মিথ্যা সংকেত দিতে পারে
  3. নির্দিষ্ট EMA সময়কাল বিভিন্ন সময়সীমার মধ্যে বিভিন্ন বাজার ব্যবস্থার সাথে মানিয়ে নিতে পারে না

উন্নতির জন্য কিছু ধারণাঃ

  1. বাস্তব প্রবণতা আরও ভালভাবে পরিমাপ করতে ম্যাকডের মতো অন্যান্য সূচক যুক্ত করা, মিথ্যা সংকেত এড়ানো
  2. বিভিন্ন পণ্য এবং বাজারের পরিবেশের জন্য EMA সময়ের পরামিতিগুলি নমনীয়ভাবে সামঞ্জস্য করুন
  3. মুনাফা এবং নিয়ন্ত্রণ ঝুঁকিতে লক করার জন্য চলমান স্টপ লস যোগ করা

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

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


/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")

longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(hl2,short_period)
midEma = ema(hl2,mid_period)
longEma = ema(hl2,long_period)

plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = ((shortEma > midEma) and crossover(shortEma,longEma)) or ((shortEma > longEma) and crossover(shortEma,midEma))
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry 
exitLong() =>
    crossunder(shortEma,longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry  
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())

আরো