
এই কৌশলটি বিভিন্ন বাজারগুলির মধ্যে আরবিট্রেডিংয়ের জন্য অভিযোজিত নিয়মিত চলমান গড় গণনা করে। এই কৌশলটি ক্রস-বাজার আরবিট্রেডিং, গতিশীল প্যারামিটার সমন্বয় এবং ঝুঁকি নিয়ন্ত্রণের মতো বৈশিষ্ট্য রয়েছে।
এই কৌশলটি প্রথমে একটি স্কেল মিনিম্যাক্স ফাংশন সংজ্ঞায়িত করে যা টাইম সিকোয়েন্সকে একটি নির্দিষ্ট পরিসরে মানক করে। তারপর একটি স্বনিয়ন্ত্রিত নিয়মিত চলমান গড় রেমা ফাংশন সংজ্ঞায়িত করে যা সিগন্যাল লাইনকে সমতল করার পরে গণনা করে। সিগন্যাল লাইনটি গণনা করা হয়ঃ
সিগন্যাল লাইন পাওয়ার পর, কৌশলটি সিগন্যাল লাইনের সাথে দামের গোল্ডেন ফর্ক ডেড ফর্কের বিচার করে ডোফার সিদ্ধান্ত নেয়। বিশেষ করেঃ
এছাড়া, এই কৌশলটির জন্য একটি মসৃণকরণ ফ্যাক্টর যোগ করা হয়েছে, যার সাহায্যে কৌশলটি আরও নমনীয় হয়ে উঠতে পারে।
ঐতিহ্যগত মুভিং এভারেজ কৌশলগুলির তুলনায় এই কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
দ্বিপাক্ষিক ক্রসিংয়ের ত্রুটিযুক্ত সংকেত হওয়ার সম্ভাবনা বেশি। সমাধানটি হ’ল সঠিকভাবে মসৃণকরণ প্যারামিটারগুলি সামঞ্জস্য করা এবং সংকেত লাইনের ঝাঁকুনি এড়ানো।
ক্রস-মার্কেট আরবিটারেজ নিশ্চিত করতে হবে যে দুটি বাজার মূল্যের সাথে সম্পর্কিত এবং একই গতিতে চলছে। সমাধানটি হ’ল উচ্চ-প্রাসঙ্গিকতার বাজার বেছে নেওয়া।
প্যারামিটার অপ্টিমাইজেশনের জন্য পর্যাপ্ত ঐতিহাসিক ডেটা সংগ্রহ করা প্রয়োজন। সমাধান হল প্যারামিটারগুলিকে বাস্তব লেনদেনের সময় সাবধানে সামঞ্জস্য করা।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকেও উন্নত করা যেতে পারেঃ
প্যারামিটার নির্বাচনের জন্য, মেশিন লার্নিং অ্যালগরিদমের সাথে প্যারামিটার প্যারেন্টিংয়ের স্বয়ংক্রিয় অপ্টিমাইজেশান অন্তর্ভুক্ত করা যেতে পারে।
সিগন্যাল জেনারেশনের ক্ষেত্রে, আরও সূচক যুক্ত করা যেতে পারে, যাতে আরও স্থিতিশীল ট্রেডিং সিগন্যাল তৈরি করা যায়।
ঝুঁকি নিয়ন্ত্রণে, স্টপ লস লাইনটি একক ক্ষতি নিয়ন্ত্রণের জন্য সেট করা যেতে পারে
ক্রস-মার্কেট অ্যাবারেটিং এর ক্ষেত্রে, এটি আরও প্রাসঙ্গিক ট্রেডিং প্রকারের জন্য প্রসারিত করা যেতে পারে।
এই কৌশলটি স্বয়ংক্রিয়ভাবে চলমান গড় গণনা করে ক্রস-মার্কেট অ্যারেজিংয়ের ট্রেডিংকে সক্ষম করে। ঐতিহ্যগত চলমান গড় কৌশলগুলির তুলনায়, এটির প্যারামিটার স্বয়ংক্রিয়তা, মসৃণ প্রক্রিয়াকরণ এবং ক্রস-মার্কেট অ্যারেজিংয়ের মতো সুবিধাগুলি রয়েছে। পরবর্তী ধাপে, মেশিন লার্নিং, সংমিশ্রণ সংকেত এবং ঝুঁকি ব্যবস্থাপনা ইত্যাদির মাধ্যমে এই কৌশলটি আরও অপ্টিমাইজ করা হবে।
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Crossover82%", overlay=true)
//
// Functions
//
scaleMinimax(X, p, min, max) =>
hi = highest(X, p), lo = lowest(X, p)
(max - min) * (X - lo)/(hi - lo) + min
rema(ts, p) => // regularized ma
rm = 0.0, lambda = .5, a = 2 / (p + 1)
rm := (nz(rm[1]) + a * (ts - nz(rm[1])) + lambda * (2 * nz(rm[1]) - nz(rm[2]))) / (lambda + 1)
rm
//
// Inputs
//
X = input(close, title="Data source")
smooth = input(2, title="REMA smooth factor")
show_line = input(true, title="Show signal line")
//
// Main
//
p = 5
sig = rema(scaleMinimax(pow(X*p,-X) - 0.1, 100, lowest(X, 100), highest(X, 100)), smooth)
plot(show_line ? sig : na, linewidth=1)
plot(cross(sig, X) ? ohlc4 : na, style=circles, linewidth=8, color=blue, transp=50)
longCondition = crossover(sig, X)
if (longCondition)
strategy.entry("LE", strategy.long)
shortCondition = crossunder(sig, X)
if (shortCondition)
strategy.entry("SE", strategy.short)