RSI এবং চলমান গড় উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-22 11:00:20 অবশেষে সংশোধন করুন: 2024-01-22 11:00:20
অনুলিপি: 0 ক্লিকের সংখ্যা: 700
1
ফোকাস
1617
অনুসারী

RSI এবং চলমান গড় উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি র্যান্ডম সূচক আরএসআই, মুভিং এভারেজ এসএমএ এবং ভারী মুভিং এভারেজ ডাব্লুএমএ এর সাথে মিলিত হয়ে ক্রয়-বিক্রয় সংকেত খুঁজে বের করে। এটি একই সাথে 5 মিনিটের এবং 1 ঘন্টা সময় ফ্রেমে প্রবণতার দিক নির্ধারণ করে। একটি স্থিতিশীল প্রবণতার মধ্যে, যখন ফাস্ট লাইন আরএসআই একটি ধীর লাইন অতিক্রম করে বা অতিক্রম করে তখন একটি লেনদেনের সংকেত তৈরি করে।

কৌশল নীতি

এই কৌশলটি প্রথমে 144 চক্রের ওজনের চলমান গড় WMA এবং 5 চক্রের সরল চলমান গড় SMA কে 1 ঘন্টা এবং 5 মিনিটের দুটি সময় ফ্রেমে গণনা করে। এটি কেবলমাত্র যখন 5 মিনিটের SMA WMA এর উপরে থাকে তখনই এটি একটি মাল্টি-হেড মার্কেট হিসাবে বিবেচিত হয়। তারপরে কৌশলটি RSI এর পলিফোনিয়াল সূচক, এবং এর সাথে সম্পর্কিত K লাইন এবং D লাইন গণনা করে। যখন K লাইনটি ওভারবয় অঞ্চল থেকে D লাইন অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়; যখন K লাইনটি ওভারবয় অঞ্চল থেকে D লাইন অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়।

সামর্থ্য বিশ্লেষণ

এটি একটি খুব কার্যকর ট্রেন্ড ট্র্যাকিং কৌশল। এটি একই সাথে দুটি টাইম ফ্রেম ট্রেন্ডের বিচার করে এবং খুব কার্যকরভাবে ভুল সংকেতগুলি হ্রাস করে। এছাড়াও, এটি আরএসআই, এসএমএ এবং ডাব্লুএমএ সহ একাধিক সূচককে ফিল্টার করে, যাতে সংকেতগুলি আরও নির্ভরযোগ্য হয়। আরএসআইকে কেডিজে চালিত করে, এটি সাধারণ কেডিজে কৌশলগুলিতে সহজে উত্পন্ন মিথ্যা সংকেত সমস্যাগুলিও সংশোধন করে। এছাড়াও, কৌশলটি লাভের জন্য লকিংয়ের জন্য স্টপ এবং লস স্টপ সেটিং রয়েছে, যা কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে।

ঝুঁকি বিশ্লেষণ

এই কৌশলটির সবচেয়ে বড় ঝুঁকি হ’ল প্রবণতা বিচার করা ভুল। বাজারের পালা বিন্দুতে, স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী গড়গুলি একই সাথে উপরে বা নীচে উঠতে পারে, যার ফলে ভুল সংকেত তৈরি হয়। এছাড়াও, অস্থিরতার সময়, আরএসআই আরও বেশি জড়িয়ে থাকা অস্পষ্ট ট্রেডিং সংকেত তৈরি করতে পারে। তবে এই ঝুঁকিগুলি এসএমএ এবং ডাব্লুএমএ চক্র এবং আরএসআই প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করে হ্রাস করা যেতে পারে।

অপ্টিমাইজেশান দিক

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ 1) বিভিন্ন দৈর্ঘ্যের এসএমএ, ডাব্লুএমএ এবং আরএসআই পরীক্ষা করে সেরা প্যারামিটার সমন্বয় খুঁজে বের করুন 2) সংকেতের নির্ভরযোগ্যতা যাচাই করার জন্য MACD, বুলিন লাইন ইত্যাদির মতো অন্যান্য সূচক যুক্ত করা ৩) স্টপ-অফ-লস কৌশলকে অপ্টিমাইজ করা, ফিক্সড রেট স্টপ, ব্যালেন্স স্লাইড পয়েন্ট স্টপ, স্টপ-ট্র্যাকিং ইত্যাদির মতো পদ্ধতি পরীক্ষা করা ৪) একটি তহবিল ব্যবস্থাপনা মডিউল যোগ করুন, একক বিনিয়োগের আকার এবং সামগ্রিক ঝুঁকি ফাঁক নিয়ন্ত্রণ করুন ৫) মেশিন লার্নিং অ্যালগরিদম যুক্ত করুন, যাতে বিপুল পরিমাণে পুনরাবৃত্তির মাধ্যমে সর্বোত্তম পারফরম্যান্স পাওয়া যায়

সারসংক্ষেপ

এই কৌশলটি চলমান গড় এবং এলোমেলো সূচকগুলির সুবিধাগুলি ব্যবহার করে একটি নির্ভরযোগ্য প্রবণতা ট্র্যাকিং সিস্টেম তৈরি করে। একাধিক সময়সীমা এবং সূচক যাচাইয়ের মাধ্যমে, এটি মধ্যম এবং দীর্ঘ রেখার প্রবণতার দিকটি সহজেই ধরতে পারে। এবং স্টপস্টপ সেটিংটি এটিকে কিছু পরিমাণে বাজার ঝাঁকুনি সহ্য করতে দেয়। তবে আরও সূচকগুলির পরীক্ষার মতো আরও উন্নতির জায়গা রয়েছে, মেশিন লার্নিং পদ্ধতি প্রবর্তন করা এবং সর্বোত্তম প্যারামিটারগুলি সন্ধান করা ইত্যাদি।

কৌশল সোর্স কোড
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
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/
// © bufirolas

// Works well with a wide stop with 20 bars lookback
// for the SL level and a 2:1 reward ratio Take Profit .
// These parameters can be modified in the Inputs section of the strategy panel.

// "an entry signal it's a cross down or up on
// the stochastics. if you're in a downtrend
// on the hourly time frame you
// must also be in a downtrend on the five
// minute so the five period has to be below the 144
// as long as the five period is still trading below
// the 144 period on both the hourly and the five minutes
// we are looking for these short signals crosses down
// in the overbought region of the stochastic. Viceversa for longs"

//@version=4
strategy("Stoch + WMA + SMA strat", overlay=true)

//SL & TP Inputs
i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLookback=input(20, title="Swing Lo/Hi Lookback")
i_SLExpander=input(defval=10, step=1, title="SL Expander")
i_TPExpander=input(defval=30, step=1, title="TP Expander")
i_reverse=input(false, title="Reverse Trades")
i_TStop =input(false, title="Use Trailing Stop")

//Strategy Inputs
src4 = input(close, title="RSI Source")
stochOS=input(defval=20, step=5, title="Stochastics Oversold Level")
stochOB=input(defval=80, step=5, title="Stochastics Overbought Level")

//Stoch rsi Calculations
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
rsi1 = rsi(src4, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
h0 = hline(80, linestyle=hline.style_dotted)
h1 = hline(20, linestyle=hline.style_dotted)

//MA
wmalen=input(defval=144, title="WMA Length")
WMA = security(syminfo.tickerid, "60", wma(close, wmalen))
SMA = security(syminfo.tickerid, "60", sma(close, 5))
minWMA = wma(close, wmalen)
minSMA = sma(close, 5)

//Entry Logic
stobuy = crossover(k, d) and k < stochOS
stosell = crossunder(k, d) and k > stochOB
mabuy = minSMA > minWMA
daymabuy = SMA > WMA

//SL & TP Calculations
SwingLow=lowest(i_SwingLookback)
SwingHigh=highest(i_SwingLookback)
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
lTP=(strategy.position_avg_price + (strategy.position_avg_price-(valuewhen(bought, SwingLow, 0)))+((valuewhen(bought, atr(14), 0)/5)*i_TPExpander))
sTP=(strategy.position_avg_price - (valuewhen(bought, SwingHigh, 0) - strategy.position_avg_price))-((valuewhen(bought, atr(14), 0)/5)*i_TPExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0

//TrailingStop
dif=(valuewhen(strategy.position_size>0 and strategy.position_size[1]<=0, high,0))
 -strategy.position_avg_price
trailOffset     = strategy.position_avg_price - LSL
var tstop = float(na)
if strategy.position_size > 0
    tstop := high- trailOffset - dif
    if tstop<tstop[1]
        tstop:=tstop[1]
else
    tstop := na
StrailOffset     = SSL - strategy.position_avg_price
var Ststop = float(na)
Sdif=strategy.position_avg_price-(valuewhen(strategy.position_size<0 
 and strategy.position_size[1]>=0, low,0))
if strategy.position_size < 0
    Ststop := low+ StrailOffset + Sdif
    if Ststop>Ststop[1]
        Ststop:=Ststop[1]
else
    Ststop := na
    
//Stop Selector
SL= islong ? LSL : isshort ? SSL : na
if i_TStop 
    SL:= islong ? tstop : isshort ? Ststop : na
TP= islong ? lTP : isshort ? sTP : na


//Entries
if stobuy and mabuy and daymabuy
    strategy.entry("long", long=not i_reverse?true:false)
if stosell and not mabuy and not daymabuy
    strategy.entry("short", long=not i_reverse?false:true)


//Exit
if i_SL
    strategy.exit("longexit", "long", stop=SL, limit=TP)
    strategy.exit("shortexit", "short", stop=SL, limit=TP)

//Plots
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross)
plot(i_SL ? TP : na, color=color.green, style=plot.style_cross)
plot(minWMA)
plot(minSMA, color=color.green)