এক্সপোনেন্সিয়াল মুভিং এভারেজ ক্রসওভার কৌশল

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

img

সারসংক্ষেপ

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

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

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

বিশেষত, এই কৌশলটি প্রথমে দুটি এক্সপোনেনশিয়াল চলমান গড় সংজ্ঞায়িত করেঃ fib_level এবং fib_price। fib_level ব্যবহারকারীর ইনপুট দ্বারা সেট করা হয়, এবং fib_price সর্বশেষতম 100 বারের সর্বোচ্চ এবং সর্বনিম্ন মূল্যের উপর ভিত্তি করে গণনা করা হয়। যখন বন্ধের মূল্য fib_price এর উপরে বা নীচে ক্রস করে, ক্রয় এবং বিক্রয় সংকেত তৈরি করা হয়, যথাক্রমে। একই সময়ে, স্টপ লসটি সর্বশেষতম 10 বারের সর্বোচ্চ এবং সর্বনিম্ন দামগুলিতে সেট করা হয়।

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

  • দামের প্রবণতার দিকনির্দেশনা নির্ধারণ এবং ভুল সংকেত এড়ানোর জন্য দ্বৈত ইএমএ সিস্টেম ব্যবহার করুন
  • ব্যবহারকারীর সংজ্ঞায়িত পরামিতি সহ কাস্টমাইজযোগ্য কৌশল
  • স্টপ লস সেটিং ঝুঁকি নিয়ন্ত্রণের জন্য উপকারী

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

  • ইএমএ বিলম্ব মূল্য বিপরীত পয়েন্ট মিস করতে পারে
  • ঘন ঘন EMA ক্রসিং লেনদেনের খরচ এবং স্লিপিং ক্ষতি বৃদ্ধি করে
  • ভুল স্টপ লস সেটিং অকাল স্টপ লস বা অত্যধিক ক্ষতির কারণ হতে পারে

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

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

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

  1. EMA সময়ের পরামিতি অপ্টিমাইজ করুন। সেরা পরামিতি খুঁজে পেতে বিভিন্ন সময়ের সমন্বয় পরীক্ষা করুন।

  2. ভলিউম এবং অন্যান্য ফিল্টার যোগ করুন। তীব্র মূল্য স্পাইক সময় ভুল সংকেত এড়ানোর জন্য ভলিউম বৃদ্ধি যখন কিনতে সংকেত এবং ভলিউম পতন যখন বিক্রয় সংকেত উৎপন্ন।

  3. মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে স্বয়ংক্রিয়ভাবে ঐতিহাসিক তথ্যের উপর ভিত্তি করে পরামিতি অপ্টিমাইজ।

  4. স্টপ লস প্লেসমেন্টের জন্য ট্রেলিং স্টপ মেকানিজম যোগ করুন। অকাল স্টপ আউট রোধ করতে বর্ধিত মুনাফার সাথে স্টপ লস লাইনটি সরান।

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

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


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

//@version=5
strategy("Fibonacci Strategy", overlay=true)

// Define Fibonacci 0.5 level
fib_level = input(0.5, title="Fibonacci Level")

// Calculate Fibonacci 0.5 level price
fib_price = ta.lowest(low, 100) + (ta.highest(high, 100) - ta.lowest(low, 100)) * fib_level

// Define entry and exit conditions
long_condition = ta.crossover(close, fib_price)
short_condition = ta.crossunder(close, fib_price)

// Set exit points (using previous high or low)
long_exit = ta.highest(high, 10)
short_exit = ta.lowest(low, 10)

// Plot Fibonacci 0.5 level
plot(fib_price, "Fib 0.5", color=color.blue, linewidth=1, style=plot.style_circles)

// Initialize variables
var inLong = false
var inShort = false

// Set trading signals
if (long_condition)
    if not inLong
        strategy.entry("Buy", strategy.long)
        inLong := true
    strategy.exit("Exit", "Buy", limit=long_exit)

if (short_condition)
    if not inShort
        strategy.entry("Sell", strategy.short)
        inShort := true
    strategy.exit("Exit", "Sell", limit=short_exit)

if (ta.crossover(close, long_exit) or ta.crossunder(close, short_exit))
    inLong := false
    inShort := false


আরো