এই কৌশলটি একটি উন্নত পরিমাণগত ট্রেডিং সিস্টেম যা মুভিং এভারেজ কনভার্জেন্স ডিভার্জেন্স (এমএসিডি) সূচকের উপর ভিত্তি করে, গতিশীল ব্যাকগ্রাউন্ড প্রদর্শন এবং একাধিক পূর্বনির্ধারিত প্যারামিটার সংমিশ্রণের মাধ্যমে ট্রেডিং সিদ্ধান্তগুলিকে উন্নত করে। কৌশলটির মূলটি এমএসিডি ক্রসওভার সংকেতগুলির মাধ্যমে বাজার প্রবণতা রূপান্তর পয়েন্টগুলি ক্যাপচার করা এবং বাজারের শর্তগুলি চাক্ষুষভাবে প্রদর্শন করা।
এই কৌশলটি স্ট্যান্ডার্ড (12,26,9), স্বল্পমেয়াদী (5,35,5), দীর্ঘমেয়াদী (19,39,9), ইত্যাদি সহ দশটি বিভিন্ন এমএসিডি প্যারামিটার প্রিসেট ব্যবহার করে, বিভিন্ন বাজারের পরিবেশ এবং ট্রেডিং স্টাইলের সাথে খাপ খাইয়ে নেওয়ার জন্য। যখন এমএসিডি লাইন সিগন্যাল লাইনের উপরে (সোনার ক্রস) অতিক্রম করে তখন সিস্টেমটি ক্রয় সংকেত উত্পন্ন করে এবং যখন এটি নীচে (মৃত্যু ক্রস) অতিক্রম করে তখন বিক্রয় সংকেত উত্পন্ন করে। কৌশলটি গতিশীল পটভূমির রঙের পরিবর্তনের মাধ্যমে চাক্ষুষ স্বীকৃতি বাড়ায় (উন্নয়নের জন্য সবুজ, হ্রাসের জন্য লাল) ব্যবসায়ীদের বাজারের প্রবণতা আরও ভালভাবে বুঝতে সহায়তা করতে।
এটি এমএসিডি কৌশলটির একটি সুগঠিত, যৌক্তিকভাবে সুসংগত উন্নত সংস্করণ। একাধিক পরামিতি প্রিসেট এবং গতিশীল ভিজ্যুয়াল ফিডব্যাকের মাধ্যমে এটি কৌশলটির ব্যবহারিকতা এবং অপারেবিলিটি উল্লেখযোগ্যভাবে উন্নত করে। যদিও অন্তর্নিহিত ঝুঁকি রয়েছে, প্রস্তাবিত অপ্টিমাইজেশানগুলির সাথে কৌশলটির একটি শক্তিশালী ট্রেডিং সিস্টেম হওয়ার সম্ভাবনা রয়েছে। ব্যবসায়ীদের লাইভ বাস্তবায়নের আগে পুঙ্খানুপুঙ্খ ব্যাকটেস্টিং পরিচালনা করার পরামর্শ দেওয়া হয় এবং নির্দিষ্ট বাজারের অবস্থার উপর ভিত্তি করে উপযুক্ত পরামিতি সেটিংস চয়ন করতে হবে।
/*backtest start: 2024-10-12 00:00:00 end: 2024-11-11 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Hanzo - Top 10 MACD Strategy", overlay=false) // MACD in a separate pane // Define dropdown options for MACD settings macdOption = input.string(title="Select MACD Setting", defval="Standard (12, 26, 9)", options=["Standard (12, 26, 9)", "Short-Term (5, 35, 5)", "Long-Term (19, 39, 9)", "Scalping (3, 10, 16)", "Cryptocurrency (20, 50, 9)", "Forex (8, 17, 9)", "Conservative (24, 52, 18)", "Trend-Following (7, 28, 7)", "Swing Trading (5, 15, 5)", "Contrarian (15, 35, 5)"]) // MACD setting based on user selection var int fastLength = 12 var int slowLength = 26 var int signalLength = 9 switch macdOption "Standard (12, 26, 9)" => fastLength := 12 slowLength := 26 signalLength := 9 "Short-Term (5, 35, 5)" => fastLength := 5 slowLength := 35 signalLength := 5 "Long-Term (19, 39, 9)" => fastLength := 19 slowLength := 39 signalLength := 9 "Scalping (3, 10, 16)" => fastLength := 3 slowLength := 10 signalLength := 16 "Cryptocurrency (20, 50, 9)" => fastLength := 20 slowLength := 50 signalLength := 9 "Forex (8, 17, 9)" => fastLength := 8 slowLength := 17 signalLength := 9 "Conservative (24, 52, 18)" => fastLength := 24 slowLength := 52 signalLength := 18 "Trend-Following (7, 28, 7)" => fastLength := 7 slowLength := 28 signalLength := 7 "Swing Trading (5, 15, 5)" => fastLength := 5 slowLength := 15 signalLength := 5 "Contrarian (15, 35, 5)" => fastLength := 15 slowLength := 35 signalLength := 5 // MACD Calculation [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) macdHist = macdLine - signalLine // Buy and Sell conditions based on MACD crossovers enterLong = ta.crossover(macdLine, signalLine) exitLong = ta.crossunder(macdLine, signalLine) // Execute buy and sell orders with price labels in the comments if (enterLong) strategy.entry("Buy", strategy.long, comment="Buy at " + str.tostring(close, "#.##")) if (exitLong) strategy.close("Buy", comment="Sell at " + str.tostring(close, "#.##")) // Plot the signal price using plotchar for buy/sell prices //plotchar(enterLong ? close : na, location=location.belowbar, color=color.green, size=size.small, title="Buy Price", offset=0) //plotchar(exitLong ? close : na, location=location.abovebar, color=color.red, size=size.small, title="Sell Price", offset=0) // Background highlighting based on bullish or bearish MACD isBullish = macdLine > signalLine isBearish = macdLine < signalLine // Change background to green for bullish periods and red for bearish periods bgcolor(isBullish ? color.new(color.green, 90) : na, title="Bullish Background") bgcolor(isBearish ? color.new(color.red, 90) : na, title="Bearish Background") // Plot the MACD and Signal line in a separate pane plot(macdLine, title="MACD Line", color=color.blue, linewidth=2) plot(signalLine, title="Signal Line", color=color.orange, linewidth=2) hline(0, "Zero Line", color=color.gray) plot(macdHist, title="MACD Histogram", style=plot.style_histogram, color=color.red)