এই কৌশলটি দুটি প্রযুক্তিগত সূচক, এমএসিডি এবং আরএসআইকে একত্রিত করে, ট্রেডিংয়ের সময় নির্ধারণের জন্য এমএসিডি ক্রসওভার সংকেত এবং আরএসআই ওভারবাপড / ওভারসোল্ড সংকেত ব্যবহার করে। এদিকে, কৌশলটির নির্ভরযোগ্যতা উন্নত করার জন্য কৌশলটির সহায়ক রায় হিসাবে ওয়েটেড মুভিং এভারেজ (ডাব্লুএমএ) চালু করে। কৌশলটি 1 ঘন্টা সময়সীমার উপর চলে, যখন এমএসিডি একটি সোনার ক্রস গঠন করে এবং আরএসআই 50 এর উপরে থাকে এবং যখন এমএসিডি একটি মৃত্যু ক্রস গঠন করে এবং আরএসআই 50 এর নীচে থাকে তখন শর্ট পজিশন খোলার সময়। একই সাথে, এটি লম্বা অবস্থানগুলি বন্ধ করে যখন আরএসআই 70 এর উপরে থাকে এবং যখন আরএসআই 30 এর নীচে থাকে তখন শর্ট পজিশনগুলি বন্ধ করে। এছাড়াও, কৌশলটি বিভিন্ন সময় স্কেলে প্রবণীর পরিবর্তনগুলি বিচার করার জন্য একাধিক সময়সীমার জন্য ভেরিয়েবল সেট করে।
এই কৌশলটির মূলটি হল দুটি প্রযুক্তিগত সূচক, এমএসিডি এবং আরএসআই এর সমন্বিত ব্যবহার। এমএসিডি দ্রুত রেখা (স্বল্পমেয়াদী চলমান গড়) এবং ধীর রেখা (দীর্ঘমেয়াদী চলমান গড়) এর মধ্যে পার্থক্য নিয়ে গঠিত, যা বাজারের প্রবণতা পরিবর্তনকে প্রতিফলিত করতে পারে। যখন দ্রুত রেখা ধীর রেখার উপরে অতিক্রম করে, এটি একটি সোনার ক্রস গঠন করে, যা একটি আপসোর্সিং প্রবণতা নির্দেশ করে; বিপরীতভাবে, এটি একটি মৃত্যুর ক্রস গঠন করে, যা একটি ডাউনসোর্সিং প্রবণতা নির্দেশ করে। আরএসআই একটি সূচক যা বাজারের অতিরিক্ত ক্রয় এবং oversold অবস্থা পরিমাপ করে। যখন আরএসআই 70 এর উপরে থাকে, তখন এটি নির্দেশ করে যে বাজারটি অতিরিক্ত ক্রয় করা হয়েছে এবং একটি pullback ঝুঁকির মুখোমুখি হতে পারে; যখন আরএসআই 30 এর নীচে থাকে, এটি নির্দেশ করে যে বাজারটি oversold এবং একটি রিবাউন্ড সুযোগের সূচনা করতে পারে।
এই কৌশলটি ম্যাকডি এবং আরএসআইকে একত্রিত করে, ম্যাকডি এর প্রবণতা রায় এবং আরএসআই এর ওভারবাপড / ওভারসোল্ড রায় ব্যবহার করে ট্রেডিং টাইমিংকে আরও সঠিকভাবে বুঝতে। একই সাথে, কৌশলটি একটি সহায়ক রায় হিসাবে ওয়েটেড মুভিং এভারেজ (ডাব্লুএমএ) চালু করে। ডাব্লুএমএ সাধারণ চলমান গড়ের তুলনায় সাম্প্রতিক দামগুলিতে আরও জোর দেয় এবং দামের পরিবর্তনগুলি আরও সংবেদনশীলভাবে প্রতিফলিত করতে পারে।
এছাড়াও, কৌশলটি বিভিন্ন সময়সীমার ট্রেন্ড পরিবর্তনগুলি বিচার করার জন্য একাধিক সময়সীমার জন্য ভেরিয়েবলগুলি সেট করে (যেমন 15 মিনিট, 30 মিনিট, 1 ঘন্টা, 2 ঘন্টা ইত্যাদি) । এই মাল্টি-টাইমফ্রেম বিশ্লেষণ পদ্ধতিটি কৌশলটিকে বাজারের প্রবণতা আরও ব্যাপকভাবে উপলব্ধি করতে এবং সিদ্ধান্ত গ্রহণের নির্ভুলতা উন্নত করতে সহায়তা করতে পারে।
এই কৌশলটি দুটি কার্যকর প্রযুক্তিগত সূচক, এমএসিডি এবং আরএসআইকে একত্রিত করে, যখন 1 ঘন্টার সময়সীমার উপর ট্রেডিং সিদ্ধান্ত নেওয়ার জন্য একটি সহায়ক রায় হিসাবে ডাব্লুএমএ প্রবর্তন করে। কৌশল যৌক্তিকতা স্পষ্ট, বুঝতে এবং বাস্তবায়ন করা সহজ, এবং নির্দিষ্ট সম্ভাব্যতার সাথে বাজারের প্রবণতা এবং অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় শর্তগুলি আরও ভালভাবে উপলব্ধি করতে পারে। তবে কৌশলটির কিছু সীমাবদ্ধতা এবং ঝুঁকি রয়েছে, যেমন বিলম্ব, একক সময়সীমা, ঝুঁকি নিয়ন্ত্রণের অভাব ইত্যাদি। ভবিষ্যতে, কৌশলটি আরও সূচক প্রবর্তন, অবিচ্ছিন্ন সময়সীমা, ঝুঁকি নিয়ন্ত্রণ জোরদারকরণ, পরামিতি অপ্টিমাইজেশন ইত্যাদির ক্ষেত্রে উন্নত করা যেতে পারে, এর দৃust়তা এবং লাভজনকতা বাড়ানোর জন্য। সামগ্রিকভাবে, এই কৌশলটি পরিমাণগত ট্রেডিংয়ের জন্য চিন্তাভাবনার একটি উপায় সরবরাহ করে, তবে এখনও অনুশীলনে অনুকূলিত এবং পরিমার্জন করা দরকার।
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Improved MACD and RSI Trading Strategy", overlay=true, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.01, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // MACD 設置 fast_length = input(12, title="MACD Fast Length") slow_length = input(26, title="MACD Slow Length") signal_smoothing = input(9, title="MACD Signal Smoothing") // RSI 設置 input_rsi_length = input.int(14, title="RSI Length") input_rsi_source = input(close, "RSI Source") RSI = ta.rsi(input_rsi_source, input_rsi_length) // 計算MACD和信號線 [macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_smoothing) // 自然交易理論:利用MACD和RSI的結合 ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) maTypeInput = input.string("SMA", title="Moving Average Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings") maLengthInput = input.int(14, title="Moving Average Length", group="MA Settings") macdMA = ma(macdLine, maLengthInput, maTypeInput) // 設置交易信號 longCondition = ta.crossover(macdLine, signalLine) and macdLine > macdMA and RSI < 70 shortCondition = ta.crossunder(macdLine, signalLine) and macdLine < macdMA and RSI > 30 // 定義時間框架 tf_15m = ta.change(RSI, 15) > 0 ? 1 : 0 tf_30m = ta.change(RSI, 30) > 0 ? 1 : 0 tf_1h = ta.change(RSI, 60) > 0 ? 1 : 0 tf_2h = ta.change(RSI, 120) > 0 ? 1 : 0 tf_4h = ta.change(RSI, 240) > 0 ? 1 : 0 tf_6h = ta.change(RSI, 360) > 0 ? 1 : 0 tf_8h = ta.change(RSI, 480) > 0 ? 1 : 0 tf_12h = ta.change(RSI, 720) > 0 ? 1 : 0 tf_1d = ta.change(RSI, 1440) > 0 ? 1 : 0 // 設置開倉、平倉和空倉條件 if (longCondition and tf_1h and RSI > 50) strategy.entry("Long", strategy.long) if (shortCondition and tf_1h and RSI < 50) strategy.entry("Short", strategy.short) if (tf_1h and RSI > 70) strategy.close("Long") if (tf_1h and RSI < 30) strategy.close("Short") // 加入其他策略 // 定義加權平均價格 wma(source, length) => wma = 0.0 sum = 0.0 sum_wts = 0.0 for i = 0 to length - 1 wts = (length - i) * (length - i) sum := sum + source[i] * wts sum_wts := sum_wts + wts wma := sum / sum_wts wmaLength = input.int(20, title="WMA Length", group="Other Strategies") wmaValue = wma(close, wmaLength) // 設置交易信號 longWMACondition = close > wmaValue shortWMACondition = close < wmaValue if (longWMACondition and tf_1h and RSI > 50) strategy.entry("Long WMA", strategy.long) if (shortWMACondition and tf_1h and RSI < 50) strategy.entry("Short WMA", strategy.short) if (tf_1h and RSI > 70) strategy.close("Long WMA") if (tf_1h and RSI < 30) strategy.close("Short WMA") // 繪製MACD和RSI plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.red, title="Signal Line")