এই কৌশলটি গতিশীলতার সূচককে তুলনামূলকভাবে শক্তিশালী সূচক ((আরএসআই) এর সাথে একত্রিত করে, ট্রেন্ডের দিকটি ক্যাপচার করার জন্য এবং ঝুঁকি নিয়ন্ত্রণের জন্য একটি ট্র্যাকযোগ্য স্টপ লস মেশিনের সাহায্যে। যখন দাম শক্তিশালী থাকে, তখন বেশি কিনুন; যখন দাম দুর্বল থাকে, তখন শূন্যে বিক্রি করুন। কৌশলটি একই সাথে স্টপ লস শর্তাবলী সেট করে, সর্বোচ্চ লাভের স্তরের ট্র্যাকিংয়ের জন্য স্টপ লস ব্যবহার করে, মুনাফা লক করতে এবং ক্ষতি হ্রাস করতে সক্ষম।
গতিশীলতার সূচক ADX ব্যবহার করে মূল্যের প্রবণতা নির্দেশ করুন
ADX 20 এর চেয়ে বড় হলে ট্রেন্ড দেখা যায়
যখন + ডিআই লাইনে-ডিআই লাইনে প্রবেশ করা হয়, তখন একটি প্রস্রাব সংকেত দেখাবে
যখন-ডিআই লাইন + ডিআই লাইন অতিক্রম করে তখন বিপরীতমুখী সংকেত
আরএসআই সূচক ওভারবয় ওভারসোল্ড
আরএসআই ৭০ এর উপরে ওভার-বয় জোন, নেমে যাওয়ার সংকেত
আরএসআই ৩০ এর নিচে ওভারসোল্ডের সংকেত
যখন ADX একটি প্রবণতা নির্ধারণ করে এবং RSI একটি নিশ্চিতকরণ সংকেত প্রদান করে, তখন এটি একটি প্রাসঙ্গিক পল্টো অপারেশন করে।
এই কৌশলটি একটি গতিশীলভাবে সামঞ্জস্যযোগ্য কন্ট্রোল স্টপ-ড্যামেজ মেশিন ব্যবহার করে, যার মধ্যে দুটি প্যারামিটার রয়েছেঃ
অ্যাক্টিভেশন অনুপাতঃ পজিশন খোলার পরে যখন দাম সেট অনুপাতে পৌঁছায় তখন অ্যাক্টিভেশন অনুসরণ করে স্টপ লস
ট্র্যাকিং অনুপাতঃ সর্বশেষ সর্বোচ্চ লাভের অনুপাত থেকে ট্র্যাকিং ক্ষতির অনুপাত
যখন দাম অ্যাক্টিভেশন শর্তে পৌঁছায়, তখন স্টপ লস লাইন অনুসরণ করে সর্বোচ্চ মুনাফা স্তরটি অনুসরণ করে। যখন দাম ফিরে আসে, তখন স্টপ লস লাইনটি অনুসরণ করে। যদি রিটার্নটি সেট করা ট্র্যাকিং অনুপাতের চেয়ে বেশি হয়, তবে স্টপ লস লাইনটি ট্রিগার করা হবে এবং সমস্ত অবস্থান বন্ধ করা হবে।
প্রবণতা নির্দেশকগুলি ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে এবং ব্যবসায়িক প্রচেষ্টা এড়ায়
RSI সূচকগুলি নিশ্চিত করে যে আপনি বিপরীতমুখী হওয়ার সুযোগটি মিস করবেন না
স্টপ লস ট্র্যাকিং, মুনাফা লক করা এবং ক্ষতি হ্রাস করা
কৌশলগুলি পরিষ্কার, সংক্ষিপ্ত এবং সহজেই বোঝা যায়
বিভিন্ন বাজার এবং সময়কালের জন্য ব্যাপকভাবে প্রযোজ্য
এডিএক্স ভুয়া ব্রেকিংয়ের জন্য ভুল সংকেত দিয়েছে
RSI একাধিক মিথ্যা সংকেত তৈরি করে
ভুলভাবে সেট করা বিন্যাসযোগ্য ক্ষতির প্যারামিটার
বড় আকারের উড়োজাহাজের ক্ষতি
ADX এবং RSI প্যারামিটারগুলির বিভিন্ন সংমিশ্রণ পরীক্ষার জন্য প্রবেশের অনুকূলিতকরণ
বিভিন্ন স্টপ লস অ্যাক্টিভেশন পয়েন্ট এবং ট্র্যাকিং ভলিউম সনাক্তকরণ সর্বোত্তম প্যারামিটার খুঁজুন
সিগন্যালের গুণগত মান উন্নত করতে অন্যান্য সূচক যুক্ত করার জন্য ফিল্টারিং বিবেচনা করুন
বিভিন্ন বাজার পরীক্ষা করে সাধারণ প্যারামিটার সেটিং নির্ধারণ করা
এই কৌশলটি গতিশীলতা বিশ্লেষণ, আরএসআই সূচক এবং অনুসরণীয় স্টপ লস মেশিনকে সংহত করে, যা প্রবণতার দিকনির্দেশনা, বিপরীত পয়েন্ট সনাক্তকরণ এবং ট্রেডিং ঝুঁকি নিয়ন্ত্রণে কার্যকরভাবে সহায়তা করে। কৌশলটি পরিষ্কার, বাস্তবায়নের জন্য সহজ এবং স্টক, ফরেক্স, ডিজিটাল মুদ্রা ইত্যাদির মতো বাজারে প্রবণতা ব্যবসায়ের জন্য ব্যাপকভাবে ব্যবহৃত হয়। প্যারামিটার অপ্টিমাইজেশন এবং সূচক ফিল্টারিংয়ের মাধ্যমে কৌশলটির কার্যকারিতা আরও উন্নত করা যেতে পারে। এই কৌশলটি ব্যবসায়ীদের একটি সহজ এবং নির্ভরযোগ্য পরিমাণযুক্ত ট্রেডিং প্রোগ্রাম সরবরাহ করে।
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trailing Stop with RSI", overlay=true)
length = input.int(12, "Momentum Length")
price = close
momentum(seria, length) =>
mom = seria - seria[length]
mom
mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)
rsiLength = input.int(14, "RSI Length")
rsiOverbought = input(70, "RSI Overbought Level")
rsiOversold = input(30, "RSI Oversold Level")
rsiValue = ta.rsi(close, rsiLength)
tsact = input.float(0.0, "Trailing Stop Activation (%)", group="strategy", tooltip="Activates the Trailing Stop once this PnL is reached.") / 100
tsact := tsact ? tsact : na
ts = input.float(0.0, "Position Trailing Stop (%)", group="strategy", tooltip="Trails your position with a stop loss at this distance from the highest PnL") / 100
ts := ts ? ts : na
in_long = strategy.position_size > 0
in_short = strategy.position_size < 0
var ts_ = array.new_float()
ts_size = array.size(ts_)
ts_get = ts_size > 0 ? array.get(ts_, ts_size - 1) : 0
if in_long
if tsact and high > strategy.position_avg_price + strategy.position_avg_price * tsact
if ts_size > 0 and ts_get < high
array.push(ts_, high)
if ts_size < 1
array.push(ts_, high)
if not tsact
if ts_size > 0 and ts_get < high
array.push(ts_, high)
if ts_size < 1
array.push(ts_, high)
if in_short
if tsact and low < strategy.position_avg_price - strategy.position_avg_price * tsact
if ts_size > 0 and ts_get > low
array.push(ts_, low)
if ts_size < 1
array.push(ts_, low)
if not tsact
if ts_size > 0 and ts_get > low
array.push(ts_, low)
if ts_size < 1
array.push(ts_, low)
trail = in_long and ts_size > 0 ? low < ts_get - ts_get * ts : in_short and ts_size > 0 ? high > ts_get + ts_get * ts : na
if (mom0 > 0 and mom1 > 0)
strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
strategy.cancel("MomLE")
if (mom0 < 0 and mom1 < 0)
strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
strategy.cancel("MomSE")
tsClose = in_long ? ts_get - ts_get * ts : in_short ? ts_get + ts_get * ts : na
if trail
strategy.close_all()
if not strategy.opentrades
array.clear(ts_)
rsiOverboughtCondition = rsiValue >= rsiOverbought
rsiOversoldCondition = rsiValue <= rsiOversold
if rsiOverboughtCondition
strategy.close("SHORT", "SX")
strategy.entry("LONG", strategy.long)
if rsiOversoldCondition
strategy.close("LONG", "LX")
strategy.entry("SHORT", strategy.short)
plotchar(ts_get, "GET", "")
plot(strategy.position_avg_price > 0 ? strategy.position_avg_price : na, "Average", color.rgb(251, 139, 64), 2, plot.style_cross)
plot(tsClose > 0 ? tsClose : na, "Trailing", color.rgb(251, 64, 64), 2, plot.style_cross)
plot(strategy.position_avg_price - strategy.position_avg_price * tsact > 0 ? strategy.position_avg_price - strategy.position_avg_price * tsact : na, "TS Activation", color.fuchsia, 2, plot.style_cross)