এই কৌশলটি এমএসিডি সূচক-ভিত্তিক ট্রেডিং কৌশলটির একটি উন্নত সংস্করণ। এটি এমএসিডি সূচকের প্রবণতা অনুসরণকারী বৈশিষ্ট্যগুলিকে গতির ব্যবসায়ের ধারণাগুলির সাথে একত্রিত করে, দ্রুত এবং ধীর চলমান গড়ের মধ্যে পার্থক্য বিশ্লেষণ করে ট্রেডিং সংকেত উত্পন্ন করে। এদিকে, কৌশলটি প্রবণতা নিশ্চিতকরণ, সংকেত বিলম্ব নিশ্চিতকরণ, স্থির শতাংশ স্টপ-লস এবং লাভ গ্রহণের মতো অপ্টিমাইজেশন পদ্ধতিও প্রবর্তন করে, কৌশলটির দৃust়তা এবং লাভজনকতা উন্নত করতে।
এই কৌশলটির মূলটি হল এমএসিডি সূচক, যা দ্রুত চলমান গড় (ইএমএ) এবং ধীর চলমান গড় (ইএমএ) এর মধ্যে পার্থক্য নিয়ে গঠিত। যখন দ্রুত ইএমএ ধীর EMA অতিক্রম করে, এটি একটি ক্রয় বা বিক্রয় সংকেত উত্পন্ন করে। বিশেষত, যখন এমএসিডি লাইন সিগন্যাল লাইনটি নীচে থেকে উপরের দিকে ভেঙে যায়, এটি একটি ক্রয় সংকেত উত্পন্ন করে; যখন এমএসিডি লাইনটি উপরের থেকে নীচে সিগন্যাল লাইনের নীচে পড়ে, এটি একটি বিক্রয় সংকেত উত্পন্ন করে।
মৌলিক এমএসিডি ক্রসওভার সংকেত ছাড়াও, কৌশলটি একটি প্রবণতা নিশ্চিতকরণ প্রক্রিয়াও প্রবর্তন করে। এটি বর্তমান বাজারটি একটি আপট্রেন্ড বা ডাউনট্রেন্ডে রয়েছে কিনা তা নির্ধারণ করতে সহজ চলমান গড় (এসএমএ) এর সাথে তুলনা করে। কেবলমাত্র যখন একটি ক্রয় সংকেত একটি আপট্রেন্ডে উপস্থিত হয়, বা একটি বিক্রয় সংকেত একটি ডাউনট্রেন্ডে উপস্থিত হয়, তখনই ট্রেডিং অপারেশনটি কার্যকর করা হবে। এটি কার্যকরভাবে একটি দোলন বাজারে উত্পন্ন মিথ্যা সংকেত এড়ায়।
উপরন্তু, কৌশলটি সংকেত নিশ্চিতকরণ সময় উইন্ডো প্রসারিত করে। অর্থাৎ, কেবলমাত্র যখন বর্তমান মোমবাতি ক্রয় বা বিক্রয় শর্ত পূরণ করে এবং পূর্ববর্তী মোমবাতিও একই শর্ত পূরণ করে, তখন সংশ্লিষ্ট লেনদেন কার্যকর করা হবে। এটি সংকেতগুলির নির্ভরযোগ্যতা আরও উন্নত করে।
অবশেষে, কৌশলটি নির্দিষ্ট শতাংশ স্টপ-লস এবং লাভের স্তর নির্ধারণ করে। একবার একটি বাণিজ্য সম্পন্ন হলে, স্টপ-লস এবং লাভের দাম প্রবেশ মূল্যের উপর ভিত্তি করে গণনা করা হবে, এবং এই দামগুলি পৌঁছে গেলে অবস্থানটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে। এটি একটি একক লেনদেনের ঝুঁকি এবং রিটার্ন নিয়ন্ত্রণ করতে সহায়তা করে।
এই কৌশলটি এমএসিডি সূচকের উপর ভিত্তি করে একটি উন্নত ট্রেডিং কৌশল। প্রবণতা নিশ্চিতকরণ, সংকেত বিলম্ব নিশ্চিতকরণ, স্থির স্টপ-লস এবং লাভ গ্রহণ এবং অন্যান্য পদ্ধতির মাধ্যমে, এটি কৌশলটির স্থিতিশীলতা এবং লাভের সম্ভাবনা উন্নত করে। তবে এটি প্যারামিটার অপ্টিমাইজেশন, প্রবণতা স্বীকৃতি, একক সূচক, ব্যাকটেস্টিং ডেটা এবং অন্যান্য দিকগুলিতে ঝুঁকির মুখোমুখি হয়। ভবিষ্যতে, আমরা অন্যান্য সূচক, গতিশীল স্টপ-লস এবং লাভ গ্রহণ, অবস্থান পরিচালনা এবং মেশিন লার্নিং এর ব্যবহারিক প্রয়োগের প্রভাব আরও উন্নত করার মতো দিক থেকে কৌশলটি অনুকূলিতকরণ বিবেচনা করতে পারি।
/*backtest start: 2023-05-08 00:00:00 end: 2024-05-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © sligetit //@version=5 strategy("Improved MACD_VXI Strategy", overlay=true) // Calculate MACD and Signal Line fastLength = input.int(13, title="Fast Length") slowLength = input.int(21, title="Slow Length") signalLength = input.int(8, title="Signal Length") fastMA = ta.ema(close, fastLength) slowMA = ta.ema(close, slowLength) macd = fastMA - slowMA signal = ta.sma(macd, signalLength) // Plot MACD and Signal Line plot(macd, color=color.red, linewidth=1) plot(signal, color=color.blue, linewidth=2) // Calculate Cross Signals with Trend Confirmation smaPeriod = input.int(50, title="SMA Period") sma = ta.sma(close, smaPeriod) trendUp = close > sma trendDown = close < sma crossOver = ta.crossover(signal, macd) crossUnder = ta.crossunder(signal, macd) buySignal = crossOver and trendUp sellSignal = crossUnder and trendDown // Execute Buy/Sell Operations if buySignal strategy.entry("Buy", strategy.long) if sellSignal strategy.entry("Sell", strategy.short) // Extend Signal Confirmation Time Window longSignal = crossOver[1] and trendUp[1] shortSignal = crossUnder[1] and trendDown[1] if longSignal strategy.entry("Buy", strategy.long) if shortSignal strategy.entry("Sell", strategy.short) // Set Fixed Percentage Stop Loss and Take Profit stopLossPercent = input.float(1, title="Stop Loss (%)") / 100 takeProfitPercent = input.float(2, title="Take Profit (%)") / 100 stopLossPrice = strategy.position_avg_price * (1 - stopLossPercent) takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPercent) strategy.exit("Stop Loss/Profit", "Buy", stop=stopLossPrice, limit=takeProfitPrice) strategy.exit("Stop Loss/Profit", "Sell", stop=stopLossPrice, limit=takeProfitPrice)