এই কৌশলটি লিনিয়ার রিগ্রেশন লাইন এবং চলমান গড় রেখার উপর ভিত্তি করে একটি সহজ ট্রেডিং সিস্টেম অনুসরণ করে। লিনিয়ার রিগ্রেশন লাইনটি চলমান গড়ের উপরে অতিক্রম করার সময় এটি দীর্ঘ হয় এবং লিনিয়ার রিগ্রেশন লাইনটি নীচে অতিক্রম করার সময় এটি সংক্ষিপ্ত হয়। এদিকে, এটি কিছু ট্রেডিং সংকেত ফিল্টার করার জন্য রিগ্রেশন লাইনের ঢাল ব্যবহার করে এবং কেবল তখনই প্রবেশ করে যখন প্রবণতার দিকটি মেলে।
রিগ্রেশন ট্রেডিং কৌশল অনুসরণ করে প্রবণতা
এই কৌশলটির মূল উপাদানগুলির মধ্যে রয়েছেঃ
লিনিয়ার রিগ্রেশন লাইন সাম্প্রতিক সময়কালে প্রবণতার দিকের সাথে ভালভাবে ফিট করতে পারে। এটি সামগ্রিক প্রবণতার দিক বিচার করতে সহায়তা করতে পারে। যখন দাম এসএমএ লাইনের মধ্য দিয়ে ভেঙে যায়, তখন আমাদের আরও নির্ধারণ করতে হবে যে লিনিয়ার রিগ্রেশন লাইনের দিকটি এই ব্রেকআউটের সাথে সামঞ্জস্যপূর্ণ কিনা। কেবলমাত্র যখন দুটি দিক সামঞ্জস্যপূর্ণ হয়, তখন একটি ট্রেডিং সংকেত তৈরি হয়। এটি কিছু মিথ্যা ব্রেকআউট ফিল্টার করতে পারে।
স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস স্টপ লস
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
এই কৌশলের কিছু ঝুঁকিও রয়েছে:
এই ঝুঁকিগুলি সম্পর্কে, আমরা নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করতে পারিঃ
কৌশলটি আরও উন্নত করার জন্য প্রধান দিকগুলির মধ্যে রয়েছেঃ
এই কৌশলটি গতিশীল গড়ের প্রবণতা অনুসরণ ফাংশন এবং রৈখিক রিগ্রেশনের প্রবণতা বিচার করার ক্ষমতাকে একীভূত করে, একটি তুলনামূলকভাবে সহজ প্রবণতা অনুসরণকারী ট্রেডিং সিস্টেম গঠন করে। এটি শক্তিশালী প্রবণতা বাজারে ভাল ফলাফল অর্জন করতে পারে। আমাদের এখনও প্যারামিটার এবং নিয়মগুলিতে ব্যাপক ব্যাকটেস্টিং এবং অপ্টিমাইজেশান এবং সঠিক ঝুঁকি নিয়ন্ত্রণের প্রয়োজন। তারপরে এই কৌশলটি স্থিতিশীল বিনিয়োগ রিটার্ন পেতে সক্ষম হওয়া উচিত।
/*backtest start: 2023-11-17 00:00:00 end: 2023-12-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Regression Trading Strategy", shorttitle="RTS", overlay=true) // Input parameters n = input(14, title="SMA Period") stop_loss_percentage = input(2, title="Stop Loss Percentage") take_profit_percentage = input(2, title="Take Profit Percentage") // Calculate the SMA sma = sma(close, n) // Linear regression function linear_regression(src, length) => sumX = 0.0 sumY = 0.0 sumXY = 0.0 sumX2 = 0.0 for i = 0 to length - 1 sumX := sumX + i sumY := sumY + src[i] sumXY := sumXY + i * src[i] sumX2 := sumX2 + i * i slope = (length * sumXY - sumX * sumY) / (length * sumX2 - sumX * sumX) intercept = (sumY - slope * sumX) / length line = slope * length + intercept line // Calculate the linear regression regression_line = linear_regression(close, n) // Plot the SMA and regression line plot(sma, title="SMA", color=color.blue) plot(regression_line, title="Regression Line", color=color.red) // Trading strategy conditions long_condition = crossover(close, sma) and close > regression_line short_condition = crossunder(close, sma) and close < regression_line // Exit conditions stop_loss_price = close * (1 - stop_loss_percentage / 100) take_profit_price = close * (1 + take_profit_percentage / 100) // Plot entry and exit points on the chart plotshape(series=long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) plotshape(series=crossunder(close, stop_loss_price), title="Stop Loss", location=location.abovebar, color=color.red, style=shape.labeldown, text="SL") plotshape(series=crossover(close, take_profit_price), title="Take Profit", location=location.belowbar, color=color.green, style=shape.labelup, text="TP") // Strategy orders strategy.entry("Long", strategy.long, when = long_condition) strategy.entry("Short", strategy.short, when = short_condition) strategy.exit("Exit", from_entry = "Long", when = crossover(close, stop_loss_price) or crossover(close, take_profit_price)) strategy.exit("Exit", from_entry = "Short", when = crossunder(close, stop_loss_price) or crossunder(close, take_profit_price))