अल्पकालिक ट्रेडिंग रणनीति के बाद की प्रवृत्ति

लेखक:चाओझांग, दिनांकः 2023-11-16 11:11:32
टैगः

img

अवलोकन

यह रणनीति एक अल्पकालिक ट्रेडिंग रणनीति है जो कई संकेतकों के आधार पर प्रवृत्ति की पहचान करती है। यह प्रवृत्ति की दिशा निर्धारित करने और तदनुसार व्यापारिक निर्णय लेने के लिए WOW, BMA, BarColor, SuperTrend, DI, TTS, RSI और WTO सहित 8 संकेतकों को जोड़ती है।

रणनीति तर्क

इस रणनीति में सबसे पहले 8 संकेतकों - WOW, BMA, BarColor, SuperTrend, DI, TTS, RSI और WTO की प्रवृत्ति दिशा की गणना और मूल्यांकन किया जाता है।

WOW संकेतक शरीर के स्थान के आधार पर तेजी या गिरावट की प्रवृत्ति का आकलन करता है। ऊपरी बैंड के पास का शरीर तेजी का संकेत देता है जबकि निचले बैंड के पास का शरीर गिरावट का संकेत देता है।

बीएमए संकेतक खुले और बंद के एसएमए के बीच संबंध द्वारा प्रवृत्ति का न्याय करता है। ओपन एसएमए के ऊपर बंद एसएमए क्रॉसिंग तेजी का संकेत देती है जबकि नीचे क्रॉसिंग मंदी का संकेत देती है।

BarColor सूचक मोमबत्तियों के रंग से प्रवृत्ति का न्याय करता है। निरंतर पीली मोमबत्तियां तेजी का संकेत देती हैं जबकि काली मोमबत्तियां मंदी का संकेत देती हैं।

सुपरट्रेंड संकेतक औसत सीमा के मुकाबले मूल्य स्थान के आधार पर प्रवृत्ति का आकलन करता है। ऊपरी बैंड से ऊपर की कीमत तेजी का संकेत देती है जबकि निचले बैंड से नीचे की कीमत मंदी का संकेत देती है।

डीआई संकेतक सकारात्मक और नकारात्मक दिशात्मक आंदोलन के बीच संबंध द्वारा प्रवृत्ति का न्याय करता है। नकारात्मक डीआई से अधिक सकारात्मक डीआई तेजी का सुझाव देता है जबकि इसके विपरीत मंदी का सुझाव देता है।

टीटीएस संकेतक मूल्य स्थान बनाम चलती औसत के आधार पर प्रवृत्ति का आकलन करता है।

आरएसआई संकेतक सापेक्ष शक्ति सूचकांक के स्तर के आधार पर प्रवृत्ति की दिशा का आकलन करता है।

डब्ल्यूटीओ संकेतक लहर प्रवृत्ति थरथरानवाला के आधार पर प्रवृत्ति दिशा का आकलन करता है।

रणनीति तब 8 संकेतकों से तेजी के संकेतों की संख्या को गिनती करती है और तदनुसार SILA समर्थन और प्रतिरोध रेखाओं को ग्राफ करती है। अधिक रेखाएं मजबूत प्रवृत्ति संकेत का संकेत देती हैं।

जब कई संकेतक तेजी का संकेत देते हैं, तो खरीद संकेत तब उत्पन्न होता है जब बंद सबसे कम समर्थन रेखा से ऊपर होता है। जब कई संकेतक मंदी का सुझाव देते हैं, तो बिक्री संकेत तब उत्पन्न होता है जब बंद सबसे कम प्रतिरोध रेखा से नीचे होता है।

इसके अतिरिक्त, रणनीति वापस लेने के अवसरों को खोजने और प्रवेश बिंदुओं को बेहतर बनाने के लिए कैंडलस्टिक पैटर्न का भी उपयोग करती है।

रणनीति के फायदे

  1. कई संकेतकों का संयोजन सटीकता में सुधार करता है

रणनीति में कई पहलुओं से प्रवृत्ति निर्धारित करने के लिए 8 सामान्य प्रवृत्ति संकेतकों का उपयोग किया गया है, जिससे प्रवृत्ति निर्णय की सटीकता और विश्वसनीयता में सुधार हुआ है।

  1. एसआईएलए प्रणाली संकेतों की ताकत की पहचान करती है

SILA समर्थन/प्रतिरोध रेखाएं तेजी/बियर संकेतों की संख्या को दर्शाती हैं। अधिक रेखाएं मजबूत संकेतों को दर्शाती हैं। इससे व्यापारियों को व्यापार संकेतों की ताकत का और मूल्यांकन करने में मदद मिलती है।

  1. मोमबत्तियों के पैटर्न प्रवेश बिंदुओं में सुधार करते हैं

यह रणनीति मोमबत्तियों के पैटर्न के आधार पर वापस लेने के अवसरों की तलाश करती है ताकि जब प्रवृत्ति उलट जाए तो बेहतर प्रवेश बिंदु पाए जा सकें।

रणनीति के जोखिम

  1. संकेतकों के बीच संभावित संघर्ष

कई संकेतकों से कभी-कभी विरोधाभासी संकेत उत्पन्न हो सकते हैं, जिससे निर्णय लेने में कठिनाई होती है।

  1. पैरामीटर अनुकूलन की आवश्यकता हो सकती है

डिफ़ॉल्ट पैरामीटर इष्टतम नहीं हो सकते हैं. सर्वोत्तम परिणाम प्राप्त करने के लिए आगे अनुकूलन की आवश्यकता हो सकती है.

  1. प्रणालीगत जोखिमों पर विचार करें

ब्लैक स्वान घटनाएं सामान्य तकनीकी संकेतों को अमान्य कर सकती हैं। बाजार के प्रणालीगत जोखिमों का मूल्यांकन किया जाना चाहिए।

  1. उपयोग जोखिम

इस प्रवृत्ति का अनुसरण करने से बाजार सुधारों के दौरान अधिक ड्रॉआउट हो सकते हैं। ड्रॉआउट को सीमित करने के लिए ट्रेड आकार का प्रबंधन किया जाना चाहिए।

रणनीति का सुधार

  1. सूचक मापदंडों का अनुकूलन करें

अनुकूलित पैरामीटर संयोजन खोजने के लिए समय और मूल्य स्तर जैसे मापदंडों का व्यवस्थित रूप से परीक्षण और अनुकूलन करें।

  1. स्टॉप लॉस विधियाँ जोड़ें

नियंत्रण ड्रॉडाउन के लिए चलती या प्रतिशत स्टॉप लॉस जोड़ने पर विचार करें।

  1. मात्रा संकेतकों को शामिल करें

रणनीतिक निर्णयों में सुधार के लिए MAVP और OBV जैसे वॉल्यूम संकेतकों के साथ प्रवृत्ति संकेतकों को मिलाएं।

  1. स्थिति आकार प्रबंधन करें

विभिन्न बाजार चरणों के लिए इष्टतम स्थिति आकारों का शोध करें, और जब प्रवृत्ति अधिक स्पष्ट हो जाती है तो आकार बढ़ाएं।

निष्कर्ष

संक्षेप में, यह एक अल्पकालिक ट्रेडिंग रणनीति के बाद एक बहु-सूचक प्रवृत्ति है। यह कई संकेतकों का उपयोग करके प्रवृत्ति दिशा निर्धारित करता है और प्रवेश सुधार के लिए मोमबत्ती पैटर्न के साथ SILA प्रणाली के साथ संकेतों की ताकत की पहचान करता है। रणनीति सटीकता में सुधार कर सकती है लेकिन विरोधाभासी संकेतों के जोखिम पर ध्यान दिया जाना चाहिए। पैरामीटर अनुकूलन, स्टॉप लॉस अनुकूलन, वॉल्यूम शामिल करने आदि के माध्यम से और सुधार किए जा सकते हैं।


/*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)

अधिक