
সম্প্রতি, আমি পরিমাণগত ট্রেডিং সম্প্রদায়ে শেয়ার করা একটি আকর্ষণীয় “অস্থিরতা পরিসংখ্যানগত আরবিট্রেজ কৌশল” দেখেছি। যদিও এটিকে একটি আরবিট্রেজ কৌশল বলা হয়, সাবধানতার সাথে অধ্যয়নের পরে, আমি দেখতে পেয়েছি যে এই কৌশলটির মূল ধারণাটি আসলে একটি বিপরীত ট্রেডিং পদ্ধতির মতো, এবং কিছু লোক এটিকে “সুই-ক্যাচিং কৌশল” বলে।
মূল লেখকের মূল বক্তব্যটি সহজ:যখন বাজারের পতন হয় এবং অস্থিরতা অস্বাভাবিকভাবে বৃদ্ধি পায়, তখন প্রায়শই এর অর্থ প্যানিক সেলিং। এই সময়ে, প্রবণতার বিপরীতে দীর্ঘ সময় ধরে চলা ভালো রিটার্ন আনতে পারে।এই ধারণাটি যুক্তিসঙ্গত বলে মনে হচ্ছে। সর্বোপরি, আমরা প্রায়শই দেখতে পাই যে চরম আতঙ্কের পরে বাজারে একটি প্রযুক্তিগত প্রত্যাবর্তন ঘটবে।

শেখার উদ্দেশ্যে, আমি এই ধারণাটি যাচাই করার জন্য একটি কৌশল লেখার সিদ্ধান্ত নিয়েছি। যদিও এটি মূল লেখকের পরিশীলিত কৌশল থেকে একটু আলাদা হতে পারে, আমি মনে করি ম্যানুয়াল পুনরুৎপাদনের মাধ্যমে ক্লাসিক ধারণাগুলি শেখা নিজেই একটি অত্যন্ত মূল্যবান প্রক্রিয়া।
এই কৌশলের মূল যুক্তি আসলে খুবই সহজ এবং কয়েকটি বাক্যে সংক্ষিপ্ত করা যেতে পারে:
আচরণগত অর্থায়নের দৃষ্টিকোণ থেকে, এই কৌশলটি বাজারের অনুভূতির চরম অবস্থাকে ধারণ করে। যখন দামের পতনের সাথে উচ্চ অস্থিরতা থাকে, তখন এর প্রায়শই অর্থ হয়:
অবশ্যই, এটি কেবল একটি তাত্ত্বিক অনুমান, এবং প্রকৃত প্রভাব এখনও তথ্য দ্বারা যাচাই করা প্রয়োজন।
আমি আগেও বেশ কিছু পরিমাণগত প্ল্যাটফর্ম ব্যবহার করেছি। FMZ এর পাইন স্ক্রিপ্ট সাপোর্ট আরও ভালো, এবং এটি সরাসরি একাধিক এক্সচেঞ্জের সাথে সংযুক্ত করা যেতে পারে, যা ব্যাকটেস্টিং এবং রিয়েল ট্রেডিংয়ের জন্য সুবিধাজনক।
1. প্যারামিটার সেটিং জট
উপযুক্ত ATR চক্র সেটিং কী? একাধিক থ্রেশহোল্ড সেটিং কী? এই পরামিতিগুলির জন্য কোনও আদর্শ উত্তর নেই, এবং আপনি কেবল বারবার পরীক্ষার মাধ্যমে তুলনামূলকভাবে উপযুক্ত মানগুলি খুঁজে পেতে পারেন। অবশেষে আমি বেছে নিলাম:
ঝুঁকি নিয়ন্ত্রণের গুরুত্ব
এই প্রবণতার বিরুদ্ধে ট্রেড করার সবচেয়ে বড় ঝুঁকি হল “পাহাড়ের মাঝখান দিয়ে নীচের অংশ কেনা”। তাই আমি সুরক্ষার কয়েকটি স্তর যুক্ত করেছি:
৩. প্রস্থান প্রক্রিয়ার নকশা
এটি কৌশলের একটি গুরুত্বপূর্ণ অংশ। আমি তিনটি প্রস্থান পরিকল্পনা করেছি:
// 核心判断逻辑
atr = ta.atr(atr_period)
atr_ma = ta.sma(atr, mean_period)
price_ma = ta.sma(close, mean_period)
// 开仓条件:下跌 + 高波动
high_volatility = atr > atr_ma * atr_multiplier
price_decline = close < price_ma
long_condition = price_decline and high_volatility
এই কোডটি কৌশলটির মূল বিষয়, যুক্তিটি খুবই সহজ, কোনও অভিনব কিছু নয়। বিশেষ করে:
ধাপ ১: মৌলিক সূচক গণনা করুন
atr = ta.atr(atr_period): বর্তমান ATR মান গণনা করুন, এই সূচকটি মূল্যের ওঠানামার পরিসর প্রতিফলিত করেatr_ma = ta.sma(atr, mean_period): ATR এর চলমান গড় গণনা করে, যা “স্বাভাবিক” অস্থিরতার স্তরকে প্রতিনিধিত্ব করে।price_ma = ta.sma(close, mean_period): ট্রেন্ডের দিক নির্ধারণ করতে মূল্যের চলমান গড় গণনা করুন।ধাপ ২: ট্রিগার শর্তগুলি সংজ্ঞায়িত করুন
high_volatility = atr > atr_ma * atr_multiplier:বর্তমান অস্থিরতা কি অস্বাভাবিকভাবে বেশি? যদি বর্তমান ATR ATR গড়ের (ডিফল্ট) 2 গুণ বেশি হয়, তাহলে এটি “অস্বাভাবিক অস্থিরতা” হিসাবে বিবেচিত হবে।price_decline = close < price_ma:দাম কি কমছে? যদি বর্তমান দাম চলমান গড়ের নিচে থাকে, তাহলে তা পতনশীল বলে বিবেচিত হবে।long_condition = price_decline and high_volatility: আরও খোলার জন্য একই সাথে দুটি শর্ত পূরণ করা হয়মূল ধারণার মূর্ত প্রতীক এই কোড লাইনগুলি কৌশলটির মূল ধারণাটি প্রতিফলিত করে: আমরা সর্বদা প্রবণতার বিরুদ্ধে যাই না, বরং সেই মুহুর্তের জন্য অপেক্ষা করি যখন “দাম কমছে, কিন্তু অস্থিরতা হঠাৎ বেড়ে যায়”। এই মুহূর্তটির অর্থ প্রায়শই হঠাৎ ঘটনা বা আতঙ্ক দেখা দেয় এবং দামগুলি অতিরিক্ত প্রতিক্রিয়া দেখাতে পারে, যা আমাদেরকে প্রবণতা-বিরোধী ট্রেডিংয়ের সুযোগ প্রদান করে।

XRP ব্যাকটেস্ট পারফরম্যান্স:

ETH ব্যাকটেস্ট পারফরম্যান্স:

মূলধারার এবং তুলনামূলকভাবে স্থিতিশীল জাতগুলির জন্য, পদ খোলার সুযোগ কম থাকেETH-এর মতো মূলধারার মুদ্রা খুব কমই প্রয়োজনীয়তা পূরণ করে।
ছোট মুদ্রায় আরও সুযোগ থাকে। XRP এর মতো মুদ্রার অস্থিরতা বেশি থাকে এবং ঘন ঘন পরিস্থিতি তৈরি করে।
৫ মিনিটের চক্র বেশি উপযুক্তস্বল্প সময়ের শব্দ খুব বেশি হয়, দীর্ঘ সময়ের প্রতিক্রিয়া খুব ধীর হয়।
হ্যান্ডলিং ফি এমন একটি খরচ যা উপেক্ষা করা যায় না।বিশেষ করে উচ্চ-ফ্রিকোয়েন্সি ট্রেডিংয়ের জন্য, হ্যান্ডলিং ফি চূড়ান্ত লাভের উপর উল্লেখযোগ্যভাবে প্রভাব ফেলবে।
এই কৌশল পুনরুৎপাদন আমাকে বেশ কিছু গুরুত্বপূর্ণ বিষয় শিখিয়েছে:
১. সরল যুক্তি প্রায়শই বেশি কার্যকর এই কৌশলের মূল যুক্তি খুবই সহজ, কিন্তু এটি নির্দিষ্ট বাজার পরিবেশে কিছু সুযোগকে কাজে লাগাতে পারে। জটিলতা মানে কার্যকারিতা নয়, এবং কখনও কখনও সহজ এবং সরাসরি পদ্ধতিগুলি আরও ব্যবহারিক।
2. প্যারামিটার অপ্টিমাইজেশন একটি প্রযুক্তিগত কাজ একই যুক্তি, ভিন্ন প্যারামিটার সেটিংস সম্পূর্ণ ভিন্ন ফলাফলের দিকে নিয়ে যেতে পারে। এর জন্য প্রচুর পরীক্ষা-নিরীক্ষা এবং বাজার সম্পর্কে গভীর ধারণা প্রয়োজন।
৩. ঝুঁকি নিয়ন্ত্রণ সর্বদা প্রথমে আসে এই প্রবণতার বিপরীতে ট্রেডিং স্বভাবতই উচ্চ ঝুঁকিপূর্ণ, এবং কঠোর ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা প্রয়োজন। শুধুমাত্র সাফল্যের কারণে ঝুঁকি ব্যবস্থাপনাকে উপেক্ষা করা যাবে না।
এই অনুশীলনের মাধ্যমে, আমি এই কৌশলের কিছু সীমাবদ্ধতাও দেখতে পেয়েছি:
যদি আমরা এই কৌশলটি অপ্টিমাইজ করতে চাই, তাহলে আমার মনে হয় আমরা বিভিন্ন দিক থেকে শুরু করতে পারি:
মূল লেখকের কাছে আমি অত্যন্ত কৃতজ্ঞ, তাঁর ধারণাগুলি ভাগ করে নেওয়ার জন্য, যা আমাকে শেখার একটি ভালো সুযোগ দিয়েছে। যদিও আমার বাস্তবায়ন কঠিন হতে পারে এবং মূল লেখকের পরিমার্জিত কৌশলের সাথে একটি ফাঁক রয়েছে, এই ম্যানুয়াল পুনরুৎপাদন প্রক্রিয়াটি আমাকে গড় বিপরীত কৌশল সম্পর্কে আরও গভীর ধারণা দিয়েছে।
এভাবেই পরিমাণগত ট্রেডিং শেখা যায়। অনুকরণ দিয়ে শুরু করুন, বাস্তবে চিন্তা করুন এবং ব্যর্থতার মধ্য দিয়ে বড় হোন।কোনও নিখুঁত কৌশল নেই, কেবল ক্রমাগত শেখা এবং উন্নতির মাধ্যমে ধীরে ধীরে বাজারের সত্যের কাছে যাওয়ার একটি প্রক্রিয়া।
যেসব বন্ধুরা পরিমাণগত ট্রেডিং শিখছেন, তাদের জন্য আমার পরামর্শ হল:
আমি আশা করি এই অনুসন্ধান সকলের জন্য সহায়ক হবে। বাজার সর্বদা পরিবর্তনশীল, এবং আমাদের শেখা সর্বদা এগিয়ে চলেছে।
এই নিবন্ধটি শুধুমাত্র শেখা এবং যোগাযোগের জন্য এবং এটি বিনিয়োগ পরামর্শ গঠন করে না। পরিমাণগত ট্রেডিং ঝুঁকিপূর্ণ এবং বাজারে প্রবেশের সময় আপনার সতর্ক থাকা উচিত।
/*backtest
start: 2025-01-01 00:00:00
end: 2025-06-24 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","tradesMode":"1"}]
args: [["v_input_float_4",0.5],["v_input_float_5",1.5],["RunMode",1,358374]]
*/
//@version=5
strategy(title="逆势短线均值回归策略", overlay=false, pyramiding=5)
// ===== INPUT PARAMETERS =====
// 风险管理参数
risk_per_trade = input.float(2.0, title="单次交易风险 (%)", minval=0.1, maxval=10.0, step=0.1)
max_position_size = input.float(10.0, title="最大仓位大小 (%)", minval=1.0, maxval=50.0, step=1.0)
// ATR和波动率参数
atr_period = input.int(14, title="ATR周期", minval=5, maxval=50)
atr_multiplier = input.float(2.0, title="ATR倍数阈值", minval=1.0, maxval=5.0, step=0.1)
mean_period = input.int(20, title="均值回归周期", minval=5, maxval=100)
// 止盈止损参数
use_stop_loss = input.bool(true, title="使用止损")
stop_loss_pct = input.float(3.0, title="止损百分比 (%)", minval=0.5, maxval=10.0, step=0.1)
use_take_profit = input.bool(true, title="使用止盈")
take_profit_pct = input.float(6.0, title="止盈百分比 (%)", minval=1.0, maxval=20.0, step=0.1)
// ATR回归平仓参数
use_atr_exit = input.bool(true, title="使用ATR回归平仓")
atr_exit_threshold = input.float(1.0, title="ATR退出阈值", minval=0.5, maxval=3.0, step=0.1)
// ===== CALCULATIONS =====
// ATR计算
atr = ta.atr(atr_period)
atr_ma = ta.sma(atr, mean_period)
// 价格均线
price_ma = ta.sma(close, mean_period)
// 波动率判断
high_volatility = atr > atr_ma * atr_multiplier
// 下跌判断
price_decline = close < price_ma
// 价格距离均线的偏离度
price_deviation = math.abs(close - price_ma) / price_ma
// ===== ENTRY CONDITIONS =====
// 开多条件:下跌行情 + 高波动率
long_condition = price_decline and high_volatility and strategy.position_size < max_position_size
// ===== EXIT CONDITIONS =====
// ATR回归均值退出条件
atr_mean_reversion = atr <= atr_ma * atr_exit_threshold
// 止损止盈条件
long_stop_loss = strategy.position_avg_price * (1 - stop_loss_pct / 100)
long_take_profit = strategy.position_avg_price * (1 + take_profit_pct / 100)
// ===== STRATEGY EXECUTION =====
// 开多仓
if long_condition
strategy.entry("Long", strategy.long, qty=risk_per_trade, comment="逆势开多")
// 平仓条件
if strategy.position_size > 0
// ATR回归平仓
if use_atr_exit and atr_mean_reversion
strategy.close("Long", comment="ATR回归平仓")
// 止损
if use_stop_loss and close <= long_stop_loss
strategy.close("Long", comment="止损平仓")
// 止盈
if use_take_profit and close >= long_take_profit
strategy.close("Long", comment="止盈平仓")
// ===== PLOTTING =====
// 绘制均线
plot(price_ma, color=color.blue, linewidth=2, title="价格均线", overlay=true)
// 绘制ATR
plotchar(high_volatility, "高波动", "▲", location.belowbar, color=color.red, size=size.small)
// 绘制开仓信号
plotshape(long_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.normal, title="开多信号")
// 绘制止盈止损线
if strategy.position_size > 0
plot(long_stop_loss, color=color.red, style=plot.style_linebr, linewidth=1, title="止损线")
plot(long_take_profit, color=color.green, style=plot.style_linebr, linewidth=1, title="止盈线")
// ATR指标显示
plot(atr, color=color.purple, title="ATR")
plot(atr_ma, color=color.orange, title="ATR均线")
// ===== ALERTS =====
// 开仓提醒
if long_condition
alert("逆势开多信号触发", alert.freq_once_per_bar)
// 平仓提醒
if strategy.position_size > 0 and atr_mean_reversion
alert("ATR回归,建议平仓", alert.freq_once_per_bar)