মুভিং এভারেজ ক্রসওভার EMA SMA কৌশল


সৃষ্টির তারিখ: 2023-09-26 11:27:47 অবশেষে সংশোধন করুন: 2023-09-26 11:27:47
অনুলিপি: 0 ক্লিকের সংখ্যা: 959
1
ফোকাস
1617
অনুসারী

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত একটি ট্রেডিং সিগন্যাল হিসাবে একটি দ্রুত এক্সপোনেন্সিয়াল মুভিং এভারেজ (EMA) এবং একটি ধীর সরল মুভিং এভারেজ (SMA) এর ক্রস উপর ভিত্তি করে। প্রথমে একটি দ্রুত EMA এবং একটি ধীর SMA গণনা করা হয়, একটি দ্রুত EMA চক্র 13 সেট করা হয়, একটি ধীর SMA চক্র 30 সেট করা হয়। তারপরে, যখন একটি দ্রুত EMA একটি ধীর SMA অতিক্রম করে, একটি মাল্টি সিগন্যাল দেওয়া হয়; যখন একটি দ্রুত EMA একটি ধীর SMA অতিক্রম করে, একটি ফাঁকা সিগন্যাল দেওয়া হয়।

বিশেষ করে, কৌশলটি maFast এবং maSlow ভেরিয়েবলের মাধ্যমে দ্রুত EMA এবং ধীর SMA গণনা করে। তারপরে, এটি ক্রয় এবং বিক্রয়ের সময় নির্ধারণের জন্য enterLong এবং exitLong ভেরিয়েবলগুলি সংজ্ঞায়িত করে। যখন maFast> maSlow হয়, অর্থাৎ দ্রুত EMA ধীর SMA অতিক্রম করে, enterLong = true সেট করে, একাধিক সংকেত প্রেরণ করা হয়; যখন maSlow> maFast হয়, অর্থাৎ দ্রুত EMA ধীর SMA অতিক্রম করে, exitLong=true সেট করে, সমতল সংকেত প্রেরণ করা হয়। অবশেষে, কৌশলটি strategy.entry ফাংশনটি পূরণ করে।

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

সামর্থ্য বিশ্লেষণ

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

  1. সরল সরল, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়। একটি চলমান গড় একটি সাধারণ এবং কার্যকর প্রযুক্তিগত সূচক, যার ক্রস-প্রতিটি নীতি সহজ এবং স্বজ্ঞাত। এটি ব্যবসায়ীদের পক্ষে কৌশলটি বোঝা এবং প্রয়োগ করা সহজ করে তোলে।

  2. উচ্চতর নমনীয়তা, কাস্টমাইজযোগ্য প্যারামিটারগুলি। কৌশলটি দ্রুত ইএমএ এবং ধীর এসএমএর চক্রের সংখ্যা কাস্টমাইজ করার অনুমতি দেয়, বিভিন্ন বাজারের সাথে প্যারামিটারগুলি সামঞ্জস্য করতে পারে, কৌশলটির অভিযোজনযোগ্যতা উন্নত করে।

  3. নির্ভরযোগ্য লেনদেনের সংকেত। চলমান গড়গুলি কার্যকরভাবে বাজার শব্দকে ফিল্টার করে এবং এর ক্রসগুলি আরও নির্ভরযোগ্য লেনদেনের সংকেত তৈরি করে। ধীর গড়ের ক্রসগুলি বড় প্রবণতার বিপরীতটি ধরতে পারে।

  4. বিভিন্ন বাজার পরিবেশে প্রযোজ্য। এই কৌশলটি ট্রেন্ডিং বাজার এবং পুনরুদ্ধার বাজার উভয় ক্ষেত্রেই প্রয়োগ করা যেতে পারে। প্যারামিটারগুলি সামঞ্জস্য করে, এটি বিভিন্ন পরিস্থিতিতে অভিযোজিত হতে পারে।

  5. অন্যান্য সূচক সমন্বয় সহ সহজেই ব্যবহার করা যায়। চলমান গড় ক্রস কৌশলটি আরও শক্তিশালী কৌশল তৈরি করতে আরএসআই এর মতো অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে নমনীয়ভাবে সংযুক্ত হতে পারে।

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

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. যখন বাজারের প্রবণতা অস্পষ্ট হয়, তখন মুভিং এভারেজ একাধিকবার ক্রস হতে পারে, যার ফলে ঘন ঘন ক্রয়-বিক্রয় সংকেত তৈরি হয়, যার ফলে লেনদেনের ব্যয় এবং স্লাইড পয়েন্টের ক্ষতি হয়।

  2. বাজারের ঝাঁকুনির মধ্যে সহজেই বন্দী করা যায়। যখন বাজারটি কম্পনশীল অবস্থায় থাকে, তখন চলমান গড়গুলি আরও অনিশ্চয়তার ক্রস সংকেত প্রদর্শন করতে পারে, যা ভুয়া ট্রেডিং সংকেত তৈরি করতে পারে।

  3. প্যারামিটার নির্বাচন করা কঠিন। চলমান গড়ের সময়কালের প্যারামিটারগুলির নির্বাচন কৌশলটির কার্যকারিতার উপর ব্যাপক প্রভাব ফেলে। কীভাবে সেরা প্যারামিটার নির্বাচন করা যায় তা প্রচুর পুনরাবৃত্তিমূলক পরীক্ষার প্রয়োজন।

  4. সংকেত বিলম্বিত হয়। যেহেতু চলমান গড় নিজেই বিলম্বিত হয়, তার ক্রস সংকেতগুলি প্রায়শই দেরী হয় এবং সেরা প্রবেশের সময়টি মিস করতে পারে।

  5. স্টপ লস স্ট্র্যাটেজি অসম্পূর্ণ। এই কৌশলটির স্টপ লজিকের অভাব রয়েছে, যা আরও বেশি ক্ষতির কারণ হতে পারে।

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

এই চলমান গড় ক্রস কৌশলটি নিম্নলিখিত দিকগুলি থেকেও অপ্টিমাইজ করা যেতে পারেঃ

  1. অন্যান্য প্রযুক্তিগত সূচক যেমন আরএসআই ফিল্টার সংকেত যোগ করুন, যা মিথ্যা সংকেত হ্রাস করতে পারে। আরএসআই উচ্চ হলে বেশি করবেন না, আরএসআই নিম্ন হলে ফাঁকা করবেন না ইত্যাদি।

  2. কম্পোজিট মুভিং এভারেজ যোগ করুন, তিনটি বা ততোধিক ভিন্ন পিরিয়ডের মুভিং এভারেজ কনফার্মেশন সিগন্যাল ব্যবহার করতে পারেন। উদাহরণস্বরূপ, 50 দিনের লাইন যোগ করার সময়, মাল্টি-হেড মার্কেটে স্বল্পমেয়াদে মিড-মেয়াদে এবং মাঝারি মেয়াদে দীর্ঘমেয়াদে পরিধান করা যেতে পারে।

  3. প্যারালাইন এসএআর এর মতো স্টপ-ড্রপ কৌশল যুক্ত করুন, যাতে আপনি সময়মতো স্টপ করতে পারেন এবং ঝুঁকি নিয়ন্ত্রণ করতে পারেন। বাজার ওঠানামার উপর ভিত্তি করে স্বনির্ধারিত চলমান স্টপ সেট করতে পারেন।

  4. প্যারামিটার অপ্টিমাইজ করুন, ওয়াক ফরওয়ার্ড অ্যানালাইসিস এবং মেশিন লার্নিং এর মতো পদ্ধতি ব্যবহার করে প্যারামিটারগুলিকে অপ্টিমাইজ করুন, যাতে এটি বিভিন্ন বাজারের পরিবেশের জন্য আরও উপযুক্ত হয়।

  5. টাইমলাইন অপারেশন, K-লাইন সত্তার দিকনির্দেশের মতো আকৃতিগত বিচার, সংকেতের গুণমান উন্নত করতে পারে, অপ্রয়োজনীয় বিপরীত খোলার হ্রাস করতে পারে।

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Moving Average Cross EMA SMA", overlay=true, initial_capital=10000, currency='USD',default_qty_type=strategy.percent_of_equity,default_qty_value=100)
// Based on strategy by lsills @ https://www.tradingview.com/script/oI8loEZ8-Moving-Average-Cross-Strategy/
// Strategy has several logic alternatives - comment out the undesired logic sections below, only 1 logic section can be active


// === GENERAL INPUTS ===
// short Ema
maFastSource   = input(defval = close, title = "Fast EMA Source")
maFastLength   = input(defval = 13, title = "Fast EMA Period", minval = 1)
// long Sma
maSlowSource   = input(defval = close, title = "Slow SMA Source")
maSlowLength   = input(defval = 30, title = "Slow SMA Period", minval = 1)
// longer Sma
maSlowerSource   = input(defval = close, title = "Slower SMA Source")
maSlowerLength   = input(defval = 30, title = "Slower SMA Period", minval = 1)



// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)
maSlower = vwma(maSlowerSource, maSlowerLength)
rsi = rsi(maSlowerSource, maSlowerLength)

// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)
slower = plot(maSlower, title = "Slower MA", color = teal, linewidth = 2, style = line, transp = 30)


// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
enterLong = maFast> maSlow
exitLong = maSlow> maFast


// === LOGIC === Complex 1 - switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met
//enterLong = variance(maFast,maSlowLength) < 0.6 and close[0] > maFast and crossover(maFast, maSlow) and 1.1* maSlow > maSlower and rsi>rsi[2]
//exitLong = variance(maFast,maSlowLength) < 0.6 and close[0] < maSlow and crossover(maSlow, maFast) and maSlow/1.1 < maSlower and rsi<rsi[2]

// === LOGIC === Complex 2- switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met
//enterLong = maFast> maSlow and 1.1* maSlow > maSlower and rsi>rsi[1] and close > close[3] //and close > close[2]
//exitLong = maSlow> maFast and maSlow/1.1 < maSlower and rsi<rsi[1] and close < close[3] // and close < close[2]


// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong)
strategy.entry(id="Short Entry", long=false, when=exitLong)

// === FILL ====

fill(fast, slow, color = maFast > maSlow ? green : red)