
এই কৌশলটি MACD সূচকের গোল্ডেন ফর্ক ডেডফোর্কের মাধ্যমে প্রবণতার দিক নির্ধারণ করে, এটিআর সূচকের সাথে মিলিত হয় এবং স্টপ লস স্টপ করে, ট্রেন্ড ট্র্যাকিং ট্রেডিংয়ের জন্য। কৌশলটির নামের অর্থ হল গোল্ডেন ফর্ক ডেডফোর্ক।
যখন MACD লাইন নীচে থেকে সিগন্যাল লাইন অতিক্রম করে এবং ইতিবাচক হয়ে যায় তখন একটি কেনার সংকেত তৈরি হয়, এটি হল গোল্ডফোর্ক সংকেত, যা শেয়ারের দামের উচ্চতর প্রবণতা তৈরি করে। যখন MACD লাইন সিগন্যাল লাইন অতিক্রম করে এবং নেতিবাচক হয়ে যায় তখন বিক্রয় সংকেত তৈরি হয়, এটি হল ডাইফোর্ক সংকেত, যা শেয়ারের দামের নিম্নমুখী প্রবণতা তৈরি করে।
এই কৌশলটি হল এই নীতিটি ব্যবহার করা, গোল্ড ফর্কের সময় বেশি করা, মৃত ফর্কের সময় খালি করা, প্রবণতা অনুসরণ করা। একই সাথে, কৌশলটি এটিআর সূচকটি স্টপ লস স্টপ অবস্থান গণনা করার জন্য ট্রেডিং সিস্টেমের নির্মাণের জন্যও চালু করেছে।
বিশেষত, কৌশলটি প্রথমে দ্রুত চলমান গড়, ধীর চলমান গড়, MACD পার্থক্য, সিগন্যাল লাইন ইত্যাদি স্ট্যান্ডার্ড MACD সূচকগুলি গণনা করে। তারপরে পাঁচটি নির্বাচিত সংকেতের উপর ভিত্তি করে ((ট্রান্সট্রাকশন সিগন্যাল, রিটার্ন সিগন্যাল, পিলার গ্রাফ সিগন্যাল, MACD শূন্য অক্ষের ক্রস, সিগন্যাল শূন্য অক্ষের ক্রস) সিদ্ধান্ত নেওয়া হয়। অবশেষে এটিআর সূচকগুলির সাথে মিলিত হয়ে স্টপ লস সেট করুন, প্রবেশ এবং প্রস্থান লজিকটি সম্পন্ন করুন।
এই কৌশলটির সুবিধাগুলো হলঃ
MACD সূচক ব্যবহার করে ট্রেন্ডের দিকনির্দেশনা সঠিকভাবে এবং নির্ভরযোগ্যভাবে নির্ণয় করা হয়। বছরের পর বছর ধরে MACD সূচক ট্রেন্ডের দিকনির্দেশনায় বিশিষ্টভাবে সঞ্চালিত হয়েছে।
এটিআর সূচকের সাথে স্টপ লস স্টপ সেটআপগুলি একক ব্যবসায়ের রিস্ক-রিটার্ন অনুপাতকে কার্যকরভাবে নিয়ন্ত্রণ করতে এবং ক্ষতির সম্ভাবনা হ্রাস করতে পারে।
পাঁচটি বিকল্প সংকেত প্রদান করা হয়েছে, যা বিভিন্ন বাজারের জন্য আরও উপযুক্ত সংকেত ব্যবহার করে কৌশলগুলির অভিযোজনযোগ্যতা বাড়িয়ে তুলতে পারে
প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে আরও ভাল ট্রেডিং ফলাফল পেতে পারেন।
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
MACD সূচকগুলি ভুল সংকেত তৈরি করতে পারে এবং অপ্রয়োজনীয় ক্ষতির কারণ হতে পারে। অন্যান্য সূচকগুলির সাথে সংযুক্ত করা যেতে পারে ফিল্টারিং সংকেত।
এটিআর সূচকটি কেবলমাত্র সাম্প্রতিক সময়ের ওঠানামা মডেল করে এবং চরম পরিস্থিতিতে সঠিক স্টপ লস করতে পারে না। গতিশীল স্টপ লস চালু করা যেতে পারে।
নির্বাচিত সংকেতগুলির কার্যকারিতা অস্থির হতে পারে এবং সর্বোত্তম প্যারামিটারগুলি নির্ধারণের জন্য প্রচুর পরিমাণে পুনরাবৃত্তি প্রয়োজন।
সিগন্যাল প্যারামিটার এবং ঝুঁকি ব্যবস্থাপনা প্যারামিটারগুলিকে একসাথে অপ্টিমাইজ করা দরকার, অন্যথায় সর্বোত্তম ফলাফল পাওয়া কঠিন হবে। ধাপে ধাপে অপ্টিমাইজেশনের পদ্ধতিটি ব্যবহার করার পরামর্শ দেওয়া হয়েছে।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকেও উন্নত করা যেতে পারেঃ
অন্যান্য মুভিং এভারেজ যেমন টিএমএ, হুল এমএ ইত্যাদি চেষ্টা করুন, MACD সংকেত ফিল্টার করুন।
“আমি মনে করি, এই ধরনের ঘটনা ঘটার পর, আমাদেরকে আরও সতর্ক থাকতে হবে।
MACD সূচকের ঐতিহ্যবাহী প্যারামিটার সমন্বয়কে ধাপে ধাপে অপ্টিমাইজ করুন এবং আরও ভাল প্যারামিটার খুঁজুন।
মেশিন লার্নিং পদ্ধতি ব্যবহার করে সর্বোত্তম এটিআর গুণক খুঁজে বের করা, যা আরও ভাল ঝুঁকি ব্যবস্থাপনার জন্য ব্যবহার করা যেতে পারে।
পাঁচটি ধরণের সংকেতকে পৃথকভাবে পরীক্ষা করে সেরা সংকেত নির্ণয় করা হয়েছে।
নিউরাল নেটওয়ার্ককে প্রশিক্ষণ দেওয়া হয় সিগন্যালের ধরন নির্ণয় করতে এবং নতুন MACD-ভিত্তিক সিগন্যাল খুঁজে বের করতে।
এই MACD গোল্ডেন ফোরকাস্ট ট্রেন্ড ট্র্যাকিং কৌশলটি ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য MACD সূচক ব্যবহার করে, এটিআর সূচকের সাথে স্টপ লস স্টপ করে, কার্যকরভাবে ট্রেন্ড ট্রেডিংয়ের সুযোগ অর্জন করতে পারে। কৌশলটি সূচক প্যারামিটার অপ্টিমাইজযোগ্য, স্টপ লস প্রক্রিয়াটি সম্পূর্ণ, সংকেত প্রকারের পছন্দসই ইত্যাদির মতো একাধিক সুবিধা রয়েছে। পরবর্তী কাজটি সংকেত মানের উন্নতি, স্টপ লস প্রক্রিয়াটি উন্নত করা এবং প্যারামিটার নির্বাচন অপ্টিমাইজেশনের ক্ষেত্রে শুরু হবে, যাতে আরও ভাল প্রতিক্রিয়া এবং রিয়েল-ডিস্ক ফলাফল পাওয়া যায়।
/*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)