স্বল্পমেয়াদী ট্রেডিং কৌশল অনুসরণ করে প্রবণতা

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

img

সারসংক্ষেপ

এই কৌশলটি একটি স্বল্পমেয়াদী ট্রেডিং কৌশল যা একাধিক সূচকের উপর ভিত্তি করে প্রবণতা চিহ্নিত করে। এটি প্রবণতার দিক নির্ধারণ এবং তদনুসারে ট্রেডিং সিদ্ধান্ত গ্রহণের জন্য WOW, BMA, BarColor, SuperTrend, DI, TTS, RSI এবং WTO সহ 8 টি সূচককে একত্রিত করে।

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

কৌশলটি প্রথমে ৮টি সূচক - WOW, BMA, BarColor, SuperTrend, DI, TTS, RSI এবং WTO এর প্রবণতা দিকনির্দেশনা গণনা করে এবং বিচার করে।

WOW সূচক শরীরের অবস্থানের উপর ভিত্তি করে উত্থান বা হ্রাস প্রবণতা বিচার করে। উপরের ব্যান্ডের কাছাকাছি শরীর উত্থান নির্দেশ করে যখন নিম্ন ব্যান্ডের কাছাকাছি শরীর হ্রাস নির্দেশ করে।

বিএমএ সূচকটি খোলা এবং বন্ধের এসএমএর মধ্যে সম্পর্কের ভিত্তিতে প্রবণতা বিচার করে। খোলা এসএমএর উপরে বন্ধ এসএমএর ক্রসিং উত্থানকে নির্দেশ করে এবং নীচে ক্রসিং হ্রাসকে নির্দেশ করে।

বারকোলার সূচকটি মোমবাতিগুলির রঙের উপর ভিত্তি করে প্রবণতা বিচার করে। অবিচ্ছিন্ন হলুদ মোমবাতিগুলি উত্থানের পরামর্শ দেয় এবং কালো মোমবাতিগুলি হ্রাসের পরামর্শ দেয়।

সুপারট্রেন্ড সূচকটি গড় পরিসরের তুলনায় মূল্যের অবস্থানের উপর ভিত্তি করে প্রবণতা বিচার করে। উপরের ব্যান্ডের উপরে মূল্য উত্থান নির্দেশ করে এবং নিম্ন ব্যান্ডের নীচে মূল্য হ্রাসের ইঙ্গিত দেয়।

ডিআই সূচক ইতিবাচক এবং নেতিবাচক দিকনির্দেশক আন্দোলনের মধ্যে সম্পর্ক দ্বারা প্রবণতা বিচার করে। নেতিবাচক ডিআই এর চেয়ে বেশি ইতিবাচক ডিআই উত্থানের পরামর্শ দেয় এবং বিপরীতভাবে হ্রাসের পরামর্শ দেয়।

টিটিএস সূচকটি মুভিং মিডিয়ার তুলনায় মূল্যের অবস্থানের উপর ভিত্তি করে প্রবণতা বিচার করে।

আরএসআই সূচকটি আপেক্ষিক শক্তি সূচকের স্তরের উপর ভিত্তি করে প্রবণতার দিকনির্দেশনা নির্ধারণ করে।

ডব্লিউটিও সূচকটি তরঙ্গ প্রবণতা দোলকের উপর ভিত্তি করে প্রবণতার দিকনির্দেশনা নির্ধারণ করে।

পরবর্তীতে, কৌশলটি ৮টি সূচক থেকে উত্থান সংকেত গণনা করে এবং সেই অনুযায়ী SILA সমর্থন এবং প্রতিরোধের লাইনগুলি গ্রাফ করে। আরও লাইন শক্তিশালী প্রবণতা সংকেত নির্দেশ করে।

যখন একাধিক সূচক উত্থানের ইঙ্গিত দেয়, যখন বন্ধটি সর্বনিম্ন সমর্থন লাইনের উপরে থাকে তখন ক্রয় সংকেত উত্পন্ন হয়। যখন একাধিক সূচক হ্রাসের ইঙ্গিত দেয়, তখন বন্ধটি সর্বনিম্ন প্রতিরোধের লাইনের নীচে থাকলে বিক্রয় সংকেত উত্পন্ন হয়।

উপরন্তু, কৌশলটি প্রত্যাহারের সুযোগগুলি খুঁজে পেতে এবং প্রবেশের পয়েন্টগুলি উন্নত করতে মোমবাতি প্যাটার্নগুলিও ব্যবহার করে।

কৌশলটির সুবিধা

  1. একাধিক সূচক একত্রিত করা সঠিকতা উন্নত করে

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

  1. সিআইএলএ সিস্টেম সিগন্যালের শক্তি চিহ্নিত করে

SILA সমর্থন / প্রতিরোধের লাইনগুলি উত্থান / হ্রাস সংকেতগুলির সংখ্যা প্রতিফলিত করে। আরও লাইন শক্তিশালী সংকেত নির্দেশ করে। এটি ব্যবসায়ীদের ট্রেডিং সংকেতগুলির শক্তি আরও মূল্যায়ন করতে সহায়তা করে।

  1. মোমবাতি প্যাটার্নগুলি প্রবেশের পয়েন্টগুলি উন্নত করে

কৌশলটি প্রবণতা বিপরীত হলে আরও ভাল প্রবেশের পয়েন্টগুলি খুঁজে পেতে মোমবাতি প্যাটার্নের উপর ভিত্তি করে প্রত্যাহারের সুযোগগুলি সন্ধান করে।

কৌশলটির ঝুঁকি

  1. সূচকগুলির মধ্যে সম্ভাব্য দ্বন্দ্ব

একাধিক সূচক কখনও কখনও বিরোধী সংকেত তৈরি করতে পারে, যা সিদ্ধান্ত গ্রহণকে আরও কঠিন করে তোলে।

  1. প্যারামিটার অপ্টিমাইজেশান প্রয়োজন হতে পারে

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

  1. সিস্টেমিক ঝুঁকি বিবেচনা করুন

ব্ল্যাক সোয়ান ইভেন্টগুলি স্বাভাবিক প্রযুক্তিগত সংকেতগুলিকে অকার্যকর করতে পারে। বাজারের সিস্টেমিক ঝুঁকিগুলি মূল্যায়ন করা উচিত।

  1. ব্যবহারের ঝুঁকি

এই প্রবণতা অনুসরণ করে বাজারের সংশোধন চলাকালীন বৃহত্তর ড্রডাউন হতে পারে। ড্রডাউন সীমিত করার জন্য বাণিজ্যের আকার পরিচালনা করা উচিত।

কৌশল উন্নতকরণ

  1. সূচক পরামিতি অপ্টিমাইজ করুন

সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে সময়কাল এবং মানের স্তরের মতো পরামিতিগুলিকে পদ্ধতিগতভাবে পরীক্ষা এবং অনুকূলিত করুন।

  1. স্টপ লস পদ্ধতি যোগ করুন

ড্রাউনডাউন নিয়ন্ত্রণের জন্য চলমান বা শতাংশ স্টপ লস যোগ করার কথা বিবেচনা করুন।

  1. ভলিউম সূচক অন্তর্ভুক্ত করুন

কৌশলগত সিদ্ধান্তের উন্নতি করতে প্রবণতা সূচকগুলিকে এমএভিপি এবং ওবিভির মতো ভলিউম সূচকগুলির সাথে একত্রিত করুন।

  1. অবস্থান আকার পরিচালনা করুন

বিভিন্ন বাজারের পর্যায়ে সর্বোত্তম পজিশনের আকার গবেষণা করুন এবং প্রবণতা আরও স্পষ্ট হয়ে উঠলে আকার বাড়ান।

সিদ্ধান্ত

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


/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// (c) Noro
//2017

//@version=2

strategy(title="Noro's SILA v1.6L Strategy", shorttitle="SILA v1.6L str", overlay=true)

//settings
sensup = input(5, title="Uptrend-sensivity", minval = -8, maxval = 8)
sensdn = input(5, title="Downtrend-sensivity", minval = -8, maxval = 8)
usewow = input(true, title="Use trend-indicator WOW?")
usebma = input(true, title="Use trend-indicator BestMA?")
usebc = input(true, title="Use trend-indicator BarColor?")
usest = input(true, title="Use trend-indicator SuperTrend?")
usedi = input(true, title="Use trend-indicator DI?")
usetts = input(true, title="Use trend-indicator TTS?")
usersi = input(true, title="Use trend-indicator RSI?")
usewto = input(true, title="Use trend-indicator WTO?")
dist = input(100, title="Distance SILA-lines", minval = 0, maxval = 100)
usetl = input(true, title="Need SILA-lines?")
usebgup = input(true, title="Need uptrend-background?")
usebgdn = input(true, title="Need downtrend-background?")
usealw = input(true, title="Need background always?")
usearr = input(true, title="Need new-trend-arrows?")
useloco = input(true, title="Need locomotive-arrows?")
usemon = input(true, title="Need money?") //joke

// WOW 1.0 method
lasthigh = highest(close, 30)
lastlow = lowest(close, 30)
center = (lasthigh +lastlow) / 2
body = (open + close) / 2
trend1 = body > center ? 1 : body < center ? -1 : trend1[1]
trend2 = center > center[1] ? 1 : center < center[1] ? -1 : trend2[1]
WOWtrend = usewow == true ? trend1 == 1 and trend2 == 1 ? 1 : trend1 == -1 and trend2 == -1 ? -1 : WOWtrend[1] : 0

// BestMA 1.0 method
SMAOpen = sma(open, 30)
SMAClose = sma(close, 30)
BMAtrend = usebma == true ? SMAClose > SMAOpen ? 1 : SMAClose < SMAOpen ? -1 : BMAtrend[1] : 0

// BarColor 1.0 method
color = close > open ? 1 : 0
score = color + color[1] + color[2] + color[3] + color[4] + color[5] + color[6] + color[7]
BARtrend = usebc == true ? score > 5 ? 1 : score < 3 ? -1 : BARtrend[1] : 0

// SuperTrend mehtod
Up = hl2 - (7 * atr(3))
Dn = hl2 + (7 * atr(3))
TrendUp = close[1] > TrendUp[1] ? max(Up, TrendUp[1]) : Up
TrendDown = close[1] < TrendDown[1] ? min(Dn, TrendDown[1]) : Dn
SUPtrend = usest == true ? close > TrendDown[1] ? 1: close < TrendUp[1]? -1 : SUPtrend[1] : 0

//DI method
th = 20
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/14) + TrueRange
SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/14) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/14) + DirectionalMovementMinus
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DItrend = usedi == true ? DIPlus > DIMinus ? 1 : -1 : 0

//TTS method (Trend Trader Strategy)
//Start of HPotter's code
//Andrew Abraham' idea
avgTR      = wma(atr(1), 21)
highestC   = highest(21)
lowestC    = lowest(21)
hiLimit = highestC[1]-(avgTR[1] * 3)
loLimit = lowestC[1]+(avgTR[1] * 3)
ret = iff(close > hiLimit and close > loLimit, hiLimit, iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
pos =	iff(close > ret, 1, iff(close < ret, -1, nz(pos[1], 0))) 
//End of HPotter's code

TTStrend = usetts == true ? pos == 1 ? 1 : pos == -1 ? -1 : TTStrend[1] : 0

//RSI method
RSIMain = (rsi(close, 13) - 50) * 1.5
rt = iff(RSIMain > -10, 1, iff(RSIMain < 10, -1, nz(pos[1], 0))) 
RSItrend = usersi == true ? rt : 0

//WTO ("WaveTrend Oscilator") method by LazyBear
//Start of LazyBear's code
esa = ema(hlc3, 10)
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
tci = ema(ci, 21)
//End of LazyBear's code

WTOtrend = usewto == true ? tci > 0 ? 1 : tci < 0 ? -1 : 0 : 0

//plots
trends = usemon == true ? WOWtrend + BMAtrend + BARtrend + SUPtrend + DItrend + TTStrend + RSItrend + WTOtrend: -1 * (WOWtrend + BMAtrend + BARtrend + SUPtrend + DItrend + TTStrend + RSItrend + WTOtrend)
pricehi = sma(high, 10)
pricelo = sma(low, 10)
per = usetl == 1 ? dist / 10000 : 0

color1 = usetl == true ? trends > 0 ? blue : na : na
plot(pricelo * (1 - per), color=color1, linewidth=1, title="SILA-line")
color2 = usetl == true ? trends > 1 ? blue : na : na
plot(pricelo * (1 - 2 * per), color=color2, linewidth=1, title="SILA-line")
color3 = usetl == true ? trends > 2 ? blue : na : na
plot(pricelo * (1 - 3 * per), color=color3, linewidth=1, title="SILA-line")
color4 = usetl == true ? trends > 3 ? blue : na : na
plot(pricelo * (1 - 4 * per), color=color4, linewidth=1, title="SILA-line")
color5 = usetl == true ? trends > 4 ? blue : na : na
plot(pricelo * (1 - 5 * per), color=color5, linewidth=1, title="SILA-line")
color6 = usetl == true ? trends > 5 ? blue : na : na
plot(pricelo * (1 - 6 * per), color=color6, linewidth=1, title="SILA-line")
color7 = usetl == true ? trends > 6 ? blue : na : na
plot(pricelo * (1 - 7 * per), color=color7, linewidth=1, title="SILA-line")
color8 = usetl == true ? trends > 7 ? blue : na : na
plot(pricelo * (1 - 8 * per), color=color8, linewidth=1, title="SILA-line")

color10 = usetl == true ? trends < 0 ? black : na : na
plot(pricehi * (1 + per), color=color10, linewidth=1, title="SILA-line")
color11 = usetl == true ? trends < -1 ? black : na : na
plot(pricehi * (1 + 2 * per), color=color11, linewidth=1, title="SILA-line")
color12 = usetl == true ? trends < -2 ? black : na : na
plot(pricehi * (1 + 3 * per), color=color12, linewidth=1, title="SILA-line")
color13 = usetl == true ? trends < -3 ? black : na : na
plot(pricehi * (1 + 4 * per), color=color13, linewidth=1, title="SILA-line")
color14 = usetl == true ? trends < -4 ? black : na : na
plot(pricehi * (1 + 5 * per), color=color14, linewidth=1, title="SILA-line")
color15 = usetl == true ? trends < -5 ? black : na : na
plot(pricehi * (1 + 6 * per), color=color15, linewidth=1, title="SILA-line")
color16 = usetl == true ? trends < -6 ? black : na : na
plot(pricehi * (1 + 7 * per), color=color16, linewidth=1, title="SILA-line")
color17 = usetl == true ? trends < -7 ? black : na : na
plot(pricehi * (1 + 8 * per), color=color17, linewidth=1, title="SILA-line")

//background
col = usebgup == true and trends >= sensup ? 1 : usebgdn == true and trends <= (-1 * sensdn) ? -1 : usealw == true ? col[1] : 0
bgcolor = col == 1 ? lime : col == -1 ? red : na
//bgcolor(bgcolor, transp=70)

//arrows
posi = trends >= sensup ? 1 : trends <= (-1 * sensdn) ? -1 : posi[1]
arr = usearr == true ? posi == 1 and posi[1] < 1 ? 1 : posi == -1 and posi[1] > -1 ? -1 : na : na
//plotarrow(arr == 1 ? 1 : na, title="UpArrow", colorup=blue, maxheight=60, minheight=50, transp=0)
//plotarrow(arr == -1 ? -1 : na, title="DnArrow", colordown=blue, maxheight=60, minheight=50, transp=0)

//locomotive
bar = close > open ? 1 : close < open ? -1 : 0
locotop = bar == -1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0
locobot = bar == 1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
entry = useloco == false ? 1 : posi == posi[1] ? (locotop == 1 and posi == -1) or (locobot == 1 and posi == 1) ? 1 : entry[1] : 0
//plotarrow(locobot == 1 and entry[1] == 0 and posi == 1 ? 1 : na, title="UpLocomotive", colorup=yellow, maxheight=60, minheight=50, transp=0)
//plotarrow(locotop == 1 and entry[1] == 0 and posi == -1 ? -1 : na, title="DnLocomotive", colordown=yellow, maxheight=60, minheight=50, transp=0)

longCondition = arr == 1
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = arr == -1
if (shortCondition)
    strategy.entry("Short", strategy.short)

আরো