
মুভিং এভারেজ ক্রসওভার স্ট্র্যাটেজি হল একটি কোয়ান্টাম ট্রেডিং স্ট্র্যাটেজি যা সহজ চলমান গড়ের উপর ভিত্তি করে তৈরি করা হয়। এই কৌশলটি বিভিন্ন পিরিয়ডের সহজ চলমান গড়ের গণনা করে ক্রস করার সময় ক্রয় এবং বিক্রয় সংকেত তৈরি করে।
বিশেষ করে, এই কৌশলটি 9 তম লাইন এবং 45 তম লাইনের সরল চলমান গড় গণনা করে। যখন দাম 9 তম লাইন এবং 45 তম লাইন অতিক্রম করে, তখন এটি একটি কেনার সংকেত দেয়; যখন দাম 9 তম লাইন এবং 45 তম লাইন অতিক্রম করে তখন এটি একটি বিক্রয় সংকেত দেয়।
এই কৌশলটির কেন্দ্রীয় যুক্তিটি চলমান গড়ের অ্যালুমিনিয়াম ফর্কের মৃত ফর্কের নীতির উপর ভিত্তি করে। চলমান গড়গুলি কার্যকরভাবে বাজারের শব্দকে ফিল্টার করতে পারে, বড় প্রবণতার পরিবর্তনকে নির্দেশ করে। যখন স্বল্পমেয়াদী গড়ের উপরে দীর্ঘমেয়াদী গড়টি অতিক্রম করা হয়, তখন দামগুলি একটি উত্থান প্রবণতা শুরু করে; যখন স্বল্পমেয়াদী গড়ের নীচে দীর্ঘমেয়াদী গড়টি অতিক্রম করা হয়, তখন দামগুলি একটি পতনের প্রবণতা শুরু করে।
বিশেষত, এই কৌশলটি 9 তম এবং 45 তম লাইনের একটি সরল চলমান গড় ব্যবহার করে। 9 তম লাইনটি স্বল্পমেয়াদী প্রবণতা এবং 45 তম লাইনটি দীর্ঘমেয়াদী প্রবণতা প্রতিনিধিত্ব করে। যখন দাম 9 তম এবং 45 তম লাইন অতিক্রম করে, তখন শেয়ারের দাম স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী উভয়ই উত্থান চ্যানেলের মধ্যে থাকে, তাই একটি কেনার সংকেত তৈরি করে; যখন দাম 9 তম এবং 45 তম লাইন অতিক্রম করে, তখন শেয়ারের দামের উত্থান ধীরে ধীরে হ্রাস পায়, তাই একটি বিক্রয় সংকেত তৈরি করে।
কোড লজিকের দিক থেকে, কৌশলটি প্রথমে 9 তম এবং 45 তম লাইনের সরল চলমান গড় গণনা করে এবং তারপরে ta.crossover এবং ta.crossunder ফাংশনগুলির মাধ্যমে সমান্তরাল গোল্ডফোর্ক এবং ডেডফোর্ক নির্ধারণ করে। কে-লাইন গ্রাফের উপর ত্রিভুজ এবং বিপরীত ত্রিভুজযুক্ত সিগন্যাল গ্রাফ আঁকতে প্লটশ্যাপ ফাংশন ব্যবহার করে ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করা হয়।
এছাড়াও, এই কৌশলটি দীর্ঘ এবং সংক্ষিপ্ত অবস্থানের জন্য একটি স্টপ লজিক নির্ধারণ করে। বিশেষত, অবস্থান খোলার পরে, পূর্ববর্তী কে লাইনের সর্বোচ্চ এবং সর্বনিম্ন মূল্যকে একটি স্টপ মূল্য হিসাবে নেওয়া হবে। এটি লাভের উপর লক করতে পারে এবং অত্যধিক ক্ষতি এড়াতে পারে।
প্রতিকারঃ
এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ
প্রবণতা পরিবর্তনকে আরও ভালভাবে ধরার জন্য একটি অভিযোজিত চলমান গড় বা একটি সূচকীয় চলমান গড় ব্যবহার করুন।
ঝড়ের সময় ত্রুটিপূর্ণ সংকেত এড়াতে অস্থিরতার সূচক এবং অন্যান্য ফিল্টারিং সংকেত বাড়ানো।
প্যারামিটার অপ্টিমাইজেশান পদ্ধতি ব্যবহার করে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন।
স্টপ লজিকের মধ্যে ট্রেন্ড ট্র্যাকিং মেশিন যুক্ত করা হয়েছে, যা স্টপ লাইনকে নমনীয়ভাবে মূল্য অনুসরণ করতে দেয়।
সমালোচনামূলক মূল্য অঞ্চলে ভুল সংকেত এড়ানোর জন্য সমর্থন ও প্রতিরোধের বৃহত্তর স্তরের বিচার বৃদ্ধি করা।
মেশিন লার্নিং মডেলের সাথে সংযুক্ত সিগন্যালের গুণমানকে আরও ফিল্টার করুন।
সমান্তরাল ক্রস কৌশল একটি সহজ এবং ব্যবহারিক প্রবণতা অনুসরণ কৌশল। এটি কার্যকরভাবে শব্দ ফিল্টার করতে পারে, দামের মাঝারি এবং দীর্ঘমেয়াদী প্রবণতাগুলির পরিবর্তনগুলি ধরতে পারে। উপযুক্ত স্টপ লজিকের সাথে মিলিত হওয়ার পরে, ঝুঁকি নিয়ন্ত্রণের ভিত্তিতে প্রবণতা ট্রেডিং করা যায়। এই কৌশলটি সহজেই বাস্তবায়ন করা যায় এবং কোয়ান্টাম ট্রেডিংয়ের নতুনদের জন্য উপযুক্ত। আরও অপ্টিমাইজেশন এবং উন্নতির সাথে, কৌশলটি কোয়ান্টাম ট্রেডিং সিস্টেমের একটি কার্যকর উপাদান হতে পারে।
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy", overlay=true)
// Input parameters
fast_length = input(9, title="Fast SMA Length")
slow_length = input(45, title="Slow SMA Length")
// Calculate moving averages
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)
// Buy condition
buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma)
// Sell condition
sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma)
// Calculate stop loss levels
prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on)
// Plot signals on the chart
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy exit conditions
long_stop_loss = sell_condition ? prev_low : na
short_stop_loss = buy_condition ? prev_high : na
strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss)
strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss)
strategy.entry("Long", strategy.long, when=buy_condition)
strategy.entry("Short", strategy.short, when=sell_condition)