
यह रणनीति K लाइन के महत्वपूर्ण स्तंभों को निर्धारित करके रुझानों की भविष्यवाणी करती है, और ब्रेकआउट सिग्नल के साथ एक व्यापारिक संकेत भेजती है। रणनीति बहुत छोटी K लाइनों को फ़िल्टर करती है, केवल महत्वपूर्ण स्तंभों के महत्वपूर्ण स्तंभों का विश्लेषण करती है, जो बहुत बार छोटे उतार-चढ़ाव से बाधित होने से बच सकती है, जिससे संकेत अधिक स्थिर और विश्वसनीय हो सकता है।
यदि वर्तमान K रेखा का इकाई लंबाई निकाय पिछले 6 K रेखा निकायों के औसत से 3 गुना अधिक है, तो इसे एक सार्थक स्तंभ रेखा माना जाता है।
यदि लगातार 3 तारों का अर्थ है कि स्तंभों की पंक्तियाँ सूर्य की हैं, तो इसे बहु-हेड संकेत माना जाता है; यदि लगातार 3 तारों का अर्थ है कि स्तंभों की पंक्तियाँ सूर्य की हैं, तो इसे खाली सिर संकेत माना जाता है।
सिग्नल का आकलन करने के साथ, यदि कीमत टूटने से पहले उच्च या निम्न है, तो अतिरिक्त ट्रेडिंग सिग्नल भी उत्पन्न होते हैं।
एक फ़िल्टर के रूप में SMA औसत रेखा का उपयोग करें, केवल तभी स्थिति खोलें जब कीमत SMA को तोड़ दे।
स्थिति रखने के बाद, यदि कीमत फिर से प्रवेश बिंदु या SMA औसत रेखा को तोड़ देती है, तो स्थिति को समाप्त कर दिया जाता है।
अर्थपूर्ण स्तंभों का उपयोग करके प्रवृत्ति का आकलन करें, अनावश्यक हस्तक्षेप को फ़िल्टर करें और सिग्नल को स्पष्ट करें।
ट्रेंड सिग्नल और ब्रेकआउट सिग्नल के संयोजन से सिग्नल की गुणवत्ता में सुधार होता है और झूठे सिग्नल को कम किया जाता है।
SMA औसत फ़िल्टरिंग उच्च और निम्न के पीछा करने से बचता है। बंद होने से नीचे खरीदें, बंद होने से ऊपर बेचें, सिग्नल की विश्वसनीयता बढ़ाएं।
स्टॉप लॉस की शर्तें निर्धारित करें, ताकि स्टॉप लॉस को समय पर बंद किया जा सके, जिससे धन की बचत हो सके।
यह रणनीति अधिक कट्टरपंथी है और 3 के-लाइन निर्णय संकेतों का उपयोग करती है, जो अल्पकालिक झटके को रुझान उलट के रूप में गलत कर सकती है।
परीक्षण डेटा अपर्याप्त है और विभिन्न किस्मों और विभिन्न चक्रों के प्रभाव में भिन्नता हो सकती है।
रात के डिस्क पर रात के स्थानों के नियंत्रण में शामिल नहीं होने के कारण रात के स्थानों के जोखिम हैं।
इस तरह के पैरामीटर को और अधिक अनुकूलित किया जा सकता है, जैसे कि निर्णय की गई K लाइनों की संख्या, या इस तरह के पैरामीटर की परिभाषा।
प्रभाव पर विभिन्न चक्रों के प्रभावों का परीक्षण करके, इष्टतम चक्र की तलाश करें।
जोखिम को नियंत्रित करने के लिए एटीआर रोक को जोड़ा जा सकता है।
रातोंरात स्थिति नियंत्रण तर्क को शामिल करने पर विचार किया जा सकता है
इस रणनीति का उपयोग कर एरियल अर्थ स्तंभ रेखा फ़िल्टर लहर और प्रवृत्ति निर्णय, के साथ संयुक्त व्यापार संकेतों के निर्माण के लिए, यह अधिक से अधिक अनावश्यक छोटे उतार-चढ़ाव को प्रभावी ढंग से फ़िल्टर कर सकता है, संकेत अधिक स्पष्ट और विश्वसनीय है. लेकिन क्योंकि निर्णय चक्र कम है, कुछ गलत निर्णय जोखिम हो सकता है. यह पैरामीटर अनुकूलन और हवा नियंत्रण के माध्यम से और अधिक परिष्कृत किया जा सकता है.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//AlexInc
//2018
// закрытие - вычислить и в течение скольки-то баров его добиваться
// если нет, то по первому противоположному
// по стоп-лоссу в любом случае - стоп вычислить
//@version=2
strategy(title = "AlexInc's Bar v1.2", shorttitle = "AlexInc Bar 1.2", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(false, defval = false, title = "Use Martingale")
tryprofitbars = input(6, defval = 6, minval = 1, maxval = 100, title = "Number of candles to take profit anyway")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
useSMAfilter = input(false, defval = true, title = "Use SMA filter")
SMAlimit = input(10, defval = 10, minval = 1, maxval = 30, title = "SMA filter limit")
bodysizeMlt = input(3, defval = 3, minval = 1, maxval = 10, title = "Body Size Multiplier")
meanfulbardiv = input(3, title = "Meanful Bar size Divider")
showarr = input(false, defval = false, title = "Show Arrows")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//SMA #
index = 0
index := barstate.isfirst ==true ? 0 : nz(index[1])+1
buyindex = 0
buyindex := barstate.isfirst ==true ? 0 : buyindex[1]
sellindex = 0
sellindex := barstate.isfirst ==true ? 0 : sellindex[1]
//predictprofit = barstate.isfirst ==true ? 0 : predictprofit[1]
smafilter = sma(close, SMAlimit)
//Body
body = abs(close - open)
range = abs(high - low)
abody = sma(body, 6)
max3 = 0
if body >= body[1] and body >= body[2]
max3 := body
else
if body[1] >= body and body[1] >= body[2]
max3 := body[1]
else
if body[2] >= body and body[2] >= body[1]
max3 := body[2]
prevmax3 = 0
prevmax3 := nz(max3[1])
bar = close > open ? 1 : close < open ? -1 : 0
firstbullishopen = 0
firstbullishopen := bar == 1 and bar[1] != 1 ? open : nz(firstbullishopen[1])
firstbearishopen = 0
firstbearishopen := bar == -1 and bar[1] != -1 ? open : nz(firstbearishopen[1])
meanfulbar = body > abody / meanfulbardiv
meanfulbearish = 0
meanfulbearish := nz(meanfulbearish[1])
meanfulbullish = 0
meanfulbullish := nz(meanfulbullish[1])
if meanfulbar
if bar == 1
meanfulbullish := 1 + meanfulbullish
meanfulbearish := 0
else
if bar == -1
meanfulbearish := 1 + meanfulbearish
meanfulbullish := 0
plot(min(low, high)-10, style=circles, color = meanfulbar ? yellow:black, linewidth=3)
//Signals
up1 = (meanfulbearish >= 3) and (close < firstbullishopen or 1) and (strategy.position_size == 0 or close < strategy.position_avg_price) and body > abody / 5 and (useSMAfilter == false or close < smafilter)
if up1 == true
predictprofit = sma(body, 3)
up2 = sma(bar, 1) == -1 and body > prevmax3 * bodysizeMlt and (strategy.position_size == 0 or close < strategy.position_avg_price) and body > abody / 5 and (useSMAfilter == false or close < smafilter)
if up2 == true
predictprofit = body * 0.5
plot(min(low, high), style=circles, color = up1?blue:up2?green:gray, linewidth=3)
dn1 = (meanfulbullish >= 3) and (close > firstbearishopen or 1) and (strategy.position_size == 0 or close > strategy.position_avg_price) and body > abody / 5 and (useSMAfilter==false or close > smafilter)
if dn1 ==true
predictprofit = sma(body, 3)
dn2 = sma(bar, 1) == 1 and body > prevmax3 * bodysizeMlt and (strategy.position_size == 0 or close > strategy.position_avg_price) and body > abody / 5 and (useSMAfilter==false or close > smafilter)
if dn2 ==true
predictprofit = body * 0.5
plot(max(low, high), style=circles, color = dn1?blue:dn2?green:gray, linewidth=3)
exit = (((strategy.position_size > 0 and bar == 1 ) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2 )
// or index >= buyindex (or sellindex) + tryprofitbars
//Arrows
col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na
needup = up1 or up2
needdn = dn1 or dn2
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)
//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]
if up1 or up2
if strategy.position_size < 0
strategy.close_all()
buyindex = index
sellindex = index
if strategy.position_size == 0
buyindex = index
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot )
if dn1 or dn2
if strategy.position_size > 0
strategy.close_all()
buyindex = index
sellindex = index
if strategy.position_size == 0
sellindex = index
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot )
if exit
strategy.close_all()