এমএসিডি আরএসআই স্বল্পমেয়াদী ব্রেকআউট কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১০-০৭ ১৬ঃ০৮ঃ৫৩
ট্যাগঃ

সারসংক্ষেপ

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

কৌশলগত যুক্তি

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

বিশেষ করে, যখন ১ মিনিটের এমএসিডি হিস্টোগ্রাম নিম্নতম ব্যান্ডের নিচে থাকে এবং আরএসআই ৫১ এর উপরে থাকে তখন লম্বা যান এবং যখন এমএসিডি হিস্টোগ্রাম উপরের ব্যান্ডের উপরে থাকে এবং আরএসআই ৪৯ এর নিচে থাকে তখন শর্ট যান। এটিতে ৯ দিনের, ৫০ দিনের এবং ২০০ দিনের চলমান গড়ের ব্যবসায়ের আগে অনুকূল ট্রেন্ড ট্রেডিং এড়াতে হবে।

এটি স্থির লাভ এবং স্টপ লস প্রস্থান নেয়। মুনাফা 0.5% বা ক্ষতি 0.3% পৌঁছানোর পরে অবস্থান বন্ধ করুন।

সুবিধা বিশ্লেষণ

কৌশলটি প্রবণতা বিচার এবং অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় বিচারকে একত্রিত করে, যা কার্যকরভাবে মিথ্যা ব্রেকআউটগুলি ফিল্টার করতে পারে। স্থির টিপি / এসএল প্রতিটি ব্যবসায়ের একটি নির্দিষ্ট মুনাফা প্রত্যাশা পরিচালনা করে।

এর সুবিধাগুলো হল:

  1. এমএসিডি ট্রেন্ডের দিকনির্দেশনা এবং আরএসআই দীর্ঘ/স্বল্প গতির মূল্যায়ন করে, যা কার্যকরভাবে ট্রেন্ডের বিরুদ্ধে ট্রেডিং এড়াতে পারে।

  2. ব্রেকআউট সিগন্যাল বিচার করার জন্য বোলিংজার ব্যান্ড একত্রিত করা মিথ্যা ব্রেকআউট ফিল্টার করতে পারে।

  3. স্থির TP/SL গ্রহণ করে, প্রতিটি ব্যবসায়ের একটি নির্দিষ্ট মুনাফা প্রত্যাশা রয়েছে, যা একক ব্যবসায়ের ক্ষতি নিয়ন্ত্রণ করে।

  4. ট্রেডিং ফ্রিকোয়েন্সি বেশি, যা স্বল্পমেয়াদী ট্রেডিংয়ের জন্য উপযুক্ত।

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

এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ

  1. স্থির TP/SL বাজারের পরিবর্তনের ভিত্তিতে সামঞ্জস্য করা যায় না, যার ফলে SL খুব ছোট এবং TP খুব বড় হতে পারে।

  2. এটি একাধিক ফিল্টারযুক্ত সংকেতগুলির উপর নির্ভর করে, যা পরিসীমা-বান্ধব বাজারে একাধিক এসএল ট্রিগার করতে পারে।

  3. উচ্চ ট্রেডিং ফ্রিকোয়েন্সি ভারী কমিশন ফি নিয়ে আসে।

  4. এমএসিডি এবং আরএসআই পরামিতিগুলির আরও অপ্টিমাইজেশনের প্রয়োজন, বর্তমান পরামিতিগুলি অনুকূল নাও হতে পারে।

নিম্নলিখিত দিকগুলি আরও অপ্টিমাইজ করা যেতে পারেঃ

  1. ডায়নামিক TP/SL গ্রহণ করুন, ATR ইত্যাদির উপর ভিত্তি করে অনুপাতগুলি সামঞ্জস্য করুন।

  2. চ্যানেলটি সংকীর্ণ করার জন্য বোলিংজার ব্যান্ডগুলি প্রসারিত করুন, ট্রিগারিং ফ্রিকোয়েন্সি হ্রাস করুন।

  3. সেরা সমন্বয় খুঁজে পেতে MACD এবং RSI পরামিতি অপ্টিমাইজ করুন।

  4. ট্রেন্ডের বিরুদ্ধে ট্রেডিং এড়ানোর জন্য উচ্চতর সময়সীমার প্রবণতার উপর ভিত্তি করে ফিল্টার করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 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/
// © pluckyCraft54926

//@version=5
strategy("5 Minute Scalp", overlay=true, margin_long=100, margin_short=100)

fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input.string(title="Oscillator MA Type",  defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])
// Plot colors
col_macd = input(#2962FF, "MACD Line  ", group="Color Settings", inline="MACD")
col_signal = input(#FF6D00, "Signal Line  ", group="Color Settings", inline="Signal")
col_grow_above = input(#26A69A, "Above   Grow", group="Histogram", inline="Above")
col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above")
col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below")
col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below")
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
hist_1m = request.security(syminfo.tickerid,"1",hist [barstate.isrealtime ? 1 : 0])
hline(0, "Zero Line", color=color.new(#787B86, 50))
////////////////////////////////////////////////////
//plotting emas on the chart
len1 = input.int(9, minval=1, title="Length")
src1 = input(close, title="Source")
offset1 = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out1 = ta.ema(src1, len1)
plot(out1, title="EMA9", color=color.blue, offset=offset1)

len2 = input.int(50, minval=1, title="Length")
src2 = input(close, title="Source")
offset2 = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out2 = ta.ema(src2, len2)
plot(out2, title="EMA50", color=color.yellow, offset=offset2)

len3 = input.int(200, minval=1, title="Length")
src3 = input(close, title="Source")
offset3 = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out3 = ta.ema(src3, len3)
plot(out3, title="EMA200", color=color.white, offset=offset3)
//////////////////////////////////////////////////////////////////
//Setting up the BB
/////////////////////////////////////////////////////////////
srcBB = hist_1m
lengthBBLong = input.int(94,title = "LengthBB Long", minval=1)
lengthBBShort = input.int(83,title = "LengthBB Short", minval=1)
multBB = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basisBBLong = ta.sma(srcBB, lengthBBLong)
basisBBShort = ta.sma(srcBB, lengthBBShort)
devBBLong = multBB * ta.stdev(srcBB, lengthBBLong)
devBBShort = multBB * ta.stdev(srcBB, lengthBBShort)
upperBB = basisBBShort + devBBShort
lowerBB = basisBBLong - devBBLong
offsetBB = input.int(0, "Offset", minval = -500, maxval = 500)

/////////////////////////////////////////
//aetting up rsi
///////////////////////////////////////////
rsilengthlong = input.int(defval = 11, title = "Rsi Length Long", minval = 1)
rlong=ta.rsi(close,rsilengthlong)
rsilengthshort = input.int(defval = 29, title = "Rsi Length Short", minval = 1)
rshort=ta.rsi(close,rsilengthshort)
///////////////////////////
//Only taking long and shorts, if RSI is above 51 or bellow 49
rsilong = rlong >= 51
rsishort = rshort <= 49
//////////////////////////////////////
//only taking trades if all 3 emas are in the correct order
long = out1 > out2 and out2 > out3
short = out1 < out2 and out2 < out3
/////////////////////////////////////


///////////////////////////////////////////
//setting up TP and SL
TP = input.float(defval = 0.5, title = "Take Profit %",step = 0.1) / 100
SL = input.float(defval = 0.3, title = "Stop Loss %", step = 0.1) / 100

longCondition = hist_1m <= lowerBB
longhight = input(defval=-10,title = "MacdTick Low")
if (longCondition and long and rsilong and hist_1m <= longhight) 
    strategy.entry("Long", strategy.long)

if (strategy.position_size>0)
    longstop = strategy.position_avg_price * (1-SL)
    longprofit = strategy.position_avg_price * (1+TP)
    strategy.exit(id ="close long",from_entry="Long",stop=longstop,limit=longprofit)

shortCondition = hist_1m >= upperBB
shorthight = input(defval=35,title = "MacdTick High")
if (shortCondition and short and rsishort and hist_1m >= shorthight)
    strategy.entry("short ", strategy.short)

shortstop = strategy.position_avg_price * (1+SL)
shortprofit = strategy.position_avg_price * (1-TP)

if (strategy.position_size<0)
    strategy.exit(id ="close short",stop=shortstop,limit=shortprofit)





আরো