এই নিবন্ধটি একটি পরিমাণগত ট্রেডিং কৌশল সম্পর্কে বিস্তারিতভাবে আলোচনা করবে যা একই সময়ে গড় মানের রিটার্ন এবং প্রবণতা ট্র্যাকিং প্রযুক্তি ব্যবহার করে। এই কৌশলটি প্রবণতার পরিস্থিতিতে বিপরীত ট্রেডিং এবং প্রবণতা ট্র্যাকিংয়ের জন্য একই দিকে ট্রেডিং করার উদ্দেশ্যে।
১, কৌশলগত নীতি
এই কৌশলটি মূলত সরল মুভিং এভারেজ এবং RSI সূচকের মাধ্যমে ট্রেডিং সিগন্যাল তৈরি করেঃ
যখন দাম ২০০ চক্রের মুভিং এভারেজের নিচে থাকে, তখন এটিকে নিম্নমুখী বলে মনে করা হয়;
যখন RSI 20 এর নিচে থাকে, তখন বিপরীতমুখী গড়ের রিটার্ন ট্রেডিং করা হয়;
যখন দাম 200 চক্রের চলমান গড়ের উপরে থাকে, তখন এটিকে উচ্চ পর্যায়ে রয়েছে বলে বিবেচনা করা হয়;
ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং ট্রেডিং
সমতল অবস্থানের শর্ত হল আরএসআই ৮০ এর উপরে বা দাম চলমান গড়ের নীচে একটি নির্দিষ্ট পরিমাণ।
ট্রেডিং পজিশনের জন্য গড় মানের রিটার্ন এবং ট্রেন্ড ট্র্যাকিং আলাদাভাবে সেট করা যেতে পারে।
এই কৌশলটি সমন্বিতভাবে গড় মানের রিগ্রেশন এবং প্রবণতা ট্র্যাকিং প্রযুক্তি ব্যবহার করে, বিভিন্ন পর্যায়ে যথাযথ অপারেশন করে।
দ্বিতীয়, কৌশলগত সুবিধা
এই কৌশলটির প্রধান সুবিধাগুলো হলঃ
দুইটি ভিন্ন প্রযুক্তির সমন্বয়ে কৌশলগুলিকে আরও বেশি অভিযোজিত করা যায়।
ট্রেন্ডিং বা অস্থির বাজার উভয় ক্ষেত্রেই ট্রেডিংয়ের সুযোগ পাওয়া যায়।
বিভিন্ন পজিশনের ঝুঁকি নিয়ন্ত্রণের জন্য পজিশনের পরিবর্তন করা যেতে পারে।
প্যারামিটার সেটিং সহজ এবং বাস্তবায়ন করা সহজ।
তৃতীয়, সম্ভাব্য ঝুঁকি
কিন্তু এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ
মুভিং এভারেজ এবং আরএসআই এর মতো সূচকগুলি মিথ্যা ব্রেকআউটের ঝুঁকিতে রয়েছে;
দুইটি লেনদেনের পদ্ধতির মধ্যে পরিবর্তন হতে পারে;
দীর্ঘমেয়াদী সুবিধার জন্য কিছু টাকা প্রত্যাহার করতে হবে।
বিষয়বস্তুঃ
এই নিবন্ধে একটি পরিমাণগত ট্রেডিং কৌশল সম্পর্কে বিস্তারিতভাবে আলোচনা করা হয়েছে যা গড় মানের রিটার্ন এবং প্রবণতা ট্র্যাকিং প্রযুক্তি ব্যবহার করে। এই কৌশলটি বিভিন্ন বাজারের পর্যায়ে ট্রেড করতে পারে, যা অভিযোজনযোগ্যতা বাড়ায়। তবে সূচক ব্যর্থতা এবং মডেল স্যুইচিংয়ের পিছনে ঝুঁকি রোধ করার প্রয়োজন রয়েছে। সামগ্রিকভাবে, এটি বিভিন্ন প্রযুক্তির সাথে একটি নমনীয় কৌশলগত ধারণা সরবরাহ করে।
/*backtest
start: 2022-09-07 00:00:00
end: 2023-04-05 00:00:00
period: 1d
basePeriod: 1h
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/
// © I11L
//@version=5
strategy("Mean Reversion and Trendfollowing", overlay=true, pyramiding=1, default_qty_value=100000, initial_capital=100000, default_qty_type=strategy.cash, process_orders_on_close=false, calc_on_every_tick=false)
// Input for the starting date
start_date = input(timestamp("1 Feb 2000 12:00"), title="Starting Date")
enableMeanReversion = input.bool(true)
enableTrendfollowing = input.bool(true)
trendPositionFactor = input.float(1)
meanReversionPositionFactor = input.float(0.5)
// Convert the input string to a timestamp
start_ts = timestamp(year(start_date), month(start_date), dayofmonth(start_date), 0, 0)
// Check if the current bar's time is greater than or equal to the start timestamp
start_condition = time >= start_ts
var tradeOrigin = ""
sma200 = ta.sma(close,200)
rsi2 = ta.rsi(close,2)
isMeanReversionMode = close < sma200 or not(enableTrendfollowing)
isTrendfollowingMode = close > sma200 or not(enableMeanReversion)
isRsiBuy = rsi2 < 20 and enableMeanReversion
isRsiClose = rsi2 > 80 and enableMeanReversion
isSmaBuy = close > sma200 and enableTrendfollowing
isSmaClose = close < sma200 * 0.95 and enableTrendfollowing
isBuy = (isMeanReversionMode and isRsiBuy) or (isTrendfollowingMode and isSmaBuy)
positionSizeFactor = isSmaBuy ? trendPositionFactor : meanReversionPositionFactor
// Only execute the strategy after the starting date
if (start_condition)
if (isBuy and strategy.opentrades == 0)
tradeOrigin := isSmaBuy ? "SMA" : "RSI"
strategy.entry("My Long Entry Id", strategy.long, qty=(strategy.equity / close) * positionSizeFactor, comment=str.tostring(positionSizeFactor))
isClose = tradeOrigin == "SMA" ? isSmaClose : isRsiClose
if (isClose)
strategy.exit("Exit", limit = close)
plot(sma200)
plot(sma200 * 0.95, color=color.orange)