এই কৌশলটি ট্রেডিংয়ের পরে প্রবণতা বাস্তবায়নের জন্য ট্রেন্ডের দিক নির্ধারণ করতে এমএসিডি সূচকের সোনার ক্রস এবং ডেথ ক্রস ব্যবহার করে এবং স্টপ লস এবং লাভ নেওয়ার জন্য এটিআর সূচক ব্যবহার করে। কৌশলটির নাম এমএসিডি সূচকের সোনার ক্রস এবং ডেথ ক্রস সংকেতগুলির ব্যবহারকে তুলে ধরে।
যখন এমএসিডি লাইন নীচে থেকে সিগন্যাল লাইনের উপরে অতিক্রম করে এবং ইতিবাচক হয়ে যায়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়, যাকে সোনার ক্রস সংকেত বলা হয়, যা স্টক মূল্যের একটি ঊর্ধ্বমুখী প্রবণতা নির্দেশ করে। যখন এমএসিডি লাইন উপরে থেকে সিগন্যাল লাইনের নীচে অতিক্রম করে এবং নেতিবাচক হয়ে যায়, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়, যাকে ডেথ ক্রস সংকেত বলা হয়, যা স্টক মূল্যের একটি নিম্নমুখী প্রবণতা নির্দেশ করে।
কৌশলটি কেবল স্বর্ণের ক্রসগুলিতে দীর্ঘ এবং ট্রেডিংয়ের প্রবণতা অনুসরণ করার জন্য মৃত্যুর ক্রসগুলিতে সংক্ষিপ্ত হয়। একই সাথে, কৌশলটি স্টপ লস গণনা করতে এবং ট্রেডিং সিস্টেম তৈরির জন্য মুনাফা স্তর গ্রহণের জন্য এটিআর সূচকটিও প্রবর্তন করে।
বিশেষত, কৌশলটি প্রথমে দ্রুত চলমান গড়, ধীর চলমান গড়, এমএসিডি পার্থক্য, সিগন্যাল লাইন এবং অন্যান্য স্ট্যান্ডার্ড এমএসিডি সূচকগুলি গণনা করে। তারপরে, পাঁচটি সংকেত প্রকারের (ধারাবাহিক সংকেত, বিপরীত সংকেত, হিস্টোগ্রাম সংকেত, এমএসিডি শূন্য ক্রস, সিগন্যাল লাইন শূন্য ক্রস) এর মধ্যে নির্বাচিত একটির উপর ভিত্তি করে সোনার ক্রস এবং মৃত্যুর ক্রসগুলি নির্ধারণ করা হয়। অবশেষে, প্রবেশ এবং প্রস্থান যৌক্তিকতা সম্পূর্ণ করতে এটিআর সূচকের উপর ভিত্তি করে স্টপ লস এবং লাভ গ্রহণ সেট করা হয়।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
প্রবণতা দিক নির্ধারণের জন্য এমএসিডি সূচক ব্যবহার করা সঠিক এবং নির্ভরযোগ্য। এমএসিডি সূচকটি বছরের পর বছর ধরে প্রবণতা নির্ধারণে বিশিষ্ট ভূমিকা পালন করেছে।
এটিআর সূচক ভিত্তিক স্টপ লস এবং লাভ নেওয়ার সেটিংস কার্যকরভাবে একক ব্যবসায়ের ঝুঁকি-উপার্জনের অনুপাত নিয়ন্ত্রণ করতে পারে এবং ক্ষতির সম্ভাবনা হ্রাস করতে পারে।
পাঁচটি ইচ্ছাকৃত সংকেত টাইপ প্রদান করে বিভিন্ন বাজারের জন্য সবচেয়ে উপযুক্ত সংকেত ব্যবহার করা সম্ভব, কৌশলটির অভিযোজনযোগ্যতা উন্নত করা।
অনেকগুলি সামঞ্জস্যযোগ্য ইনপুট প্যারামিটার রয়েছে যা আরও ভাল ট্রেডিং পারফরম্যান্সের জন্য অনুকূলিত করা যেতে পারে।
এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ
এমএসিডি সূচক সহজেই মিথ্যা সংকেত তৈরি করতে পারে এবং অপ্রয়োজনীয় ক্ষতির কারণ হতে পারে। অন্যান্য সূচকগুলি সংকেতগুলি ফিল্টার করতে ব্যবহার করা যেতে পারে।
এটিআর সূচক শুধুমাত্র সাম্প্রতিক সময়ের ওঠানামা মডেল করে এবং চরম বাজারের অবস্থার মধ্যে সঠিকভাবে ক্ষতি বন্ধ করতে পারে না। এই সমস্যা সমাধানের জন্য গতিশীল স্টপ চালু করা যেতে পারে।
নির্বাচিত সংকেতগুলির পারফরম্যান্স স্থিতিশীল নাও হতে পারে। সর্বোত্তম পরামিতি নির্ধারণের জন্য বিস্তৃত ব্যাকটেস্টিং প্রয়োজন।
সিগন্যাল পরামিতি এবং ঝুঁকি ব্যবস্থাপনা পরামিতি একসাথে অপ্টিমাইজ করা প্রয়োজন, অন্যথায় বিশ্বব্যাপী সর্বোত্তম ফলাফল খুঁজে পাওয়া কঠিন। ধাপে ধাপে অপ্টিমাইজেশান পদ্ধতি সুপারিশ করা হয়।
কৌশলটি নিম্নলিখিত দিকগুলিতেও অপ্টিমাইজ করা যেতে পারেঃ
এমএসিডি সংকেত ফিল্টার করার জন্য টিএমএ, হাল এমএ ইত্যাদির মতো অন্যান্য চলমান গড়গুলি চেষ্টা করুন।
ডায়নামিক স্টপ মেকানিজম ব্যবহার করে দেখুন যা চরম বাজারের অবস্থার পরিবর্তনের সাথে আরও ভালোভাবে মোকাবিলা করতে পারে।
আরও ভাল সমন্বয় খুঁজে পেতে ঐতিহ্যবাহী MACD পরামিতিগুলি সম্পূর্ণরূপে অপ্টিমাইজ করুন।
মেশিন লার্নিং পদ্ধতি ব্যবহার করে ঝুঁকি ব্যবস্থাপনার জন্য সর্বোত্তম ATR গুণক খুঁজে বের করুন।
সর্বোত্তম সংকেত নির্ধারণের জন্য পাঁচটি সংকেত প্রকারের প্রত্যেকটি আলাদাভাবে ব্যাকটেস্ট করুন।
সিগন্যালের গুণমান বিচার করতে এবং MACD এর উপর ভিত্তি করে নতুন সিগন্যাল আবিষ্কার করতে নিউরাল নেটওয়ার্ককে প্রশিক্ষণ দিন।
এমএসিডি গোল্ডেন ক্রস ডেথ ক্রস ট্রেন্ড অনুসরণকারী কৌশলটি ট্রেন্ডের দিকনির্দেশ নির্ধারণ করতে এমএসিডি সূচক ব্যবহার করে এবং এটিআর সূচক দিয়ে স্টপ লস সেট করে এবং লাভ অর্জন করে, যা কার্যকরভাবে ট্রেন্ড ট্রেডিংয়ের সুযোগগুলি ক্যাপচার করতে পারে। কৌশলটিতে টিউনযোগ্য পরামিতি, সম্পূর্ণ স্টপ প্রক্রিয়া এবং alচ্ছিক সংকেত প্রকারের মতো একাধিক সুবিধা রয়েছে। পরবর্তী পদক্ষেপটি হ'ল আরও ভাল ব্যাকটেস্ট এবং লাইভ ফলাফল অর্জনের জন্য সংকেতের গুণমান, স্টপ লস প্রক্রিয়া এবং পরামিতি নির্বাচন অপ্টিমাইজেশন উন্নত করা।
/*backtest start: 2023-11-21 00:00:00 end: 2023-12-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © vuagnouxb //@version=4 strategy("BV's MACD SIGNAL TESTER", overlay=true) //------------------------------------------------------------------------ //---------- Confirmation Calculation ------------ INPUT //------------------------------------------------------------------------ // Getting inputs fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal // plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 ) // plot(macd, title="MACD", color=col_macd, transp=0) // plot(signal, title="Signal", color=col_signal, transp=0) // -- Trade entry signals signalChoice = input(title = "Choose your signal", defval = "Continuation", options = ["Continuation", "Reversal", "Histogram", "MACD Line ZC", "Signal Line ZC"]) continuationSignalLong = signalChoice == "Continuation" ? crossover(macd, signal) and macd > 0 : signalChoice == "Reversal" ? crossover(macd, signal) and macd < 0 : signalChoice == "Histogram" ? crossover(hist, 0) : signalChoice == "MACD Line ZC" ? crossover(macd, 0) : signalChoice == "Signal Line ZC" ? crossover(signal, 0) : false continuationSignalShort = signalChoice == "Continuation" ? crossunder(macd, signal) and macd < 0 : signalChoice == "Reversal" ? crossover(signal, macd) and macd > 0 : signalChoice == "Histogram" ? crossunder(hist, 0) : signalChoice == "MACD Line ZC" ? crossunder(macd, 0) : signalChoice == "Signal Line ZC" ? crossunder(signal, 0) : false longCondition = continuationSignalLong shortCondition = continuationSignalShort //------------------------------------------------------------------------ //---------- ATR MONEY MANAGEMENT ------------ //------------------------------------------------------------------------ SLmultiplier = 1.5 TPmultiplier = 1 JPYPair = input(type = input.bool, title = "JPY Pair ?", defval = false) pipAdjuster = JPYPair ? 1000 : 100000 ATR = atr(14) * pipAdjuster // 1000 for jpy pairs : 100000 SL = ATR * SLmultiplier TP = ATR * TPmultiplier //------------------------------------------------------------------------ //---------- TIME FILTER ------------ //------------------------------------------------------------------------ YearOfTesting = input(title = "How many years of testing ?" , type = input.integer, defval = 3) _time = 2020 - YearOfTesting timeFilter = (year > _time) //------------------------------------------------------------------------ //--------- ENTRY FUNCTIONS ----------- INPUT //------------------------------------------------------------------------ if (longCondition and timeFilter) strategy.entry("Long", strategy.long) if (shortCondition and timeFilter) strategy.entry("Short", strategy.short) //------------------------------------------------------------------------ //--------- EXIT FUNCTIONS ----------- //------------------------------------------------------------------------ strategy.exit("ATR", from_entry = "Long", profit = TP, loss = SL) strategy.exit("ATR", from_entry = "Short", profit = TP, loss = SL)