रॉक-सॉलिड वीआईपी मात्रात्मक रणनीति


निर्माण तिथि: 2023-12-19 13:54:05 अंत में संशोधित करें: 2023-12-19 13:54:05
कॉपी: 1 क्लिक्स: 665
1
ध्यान केंद्रित करना
1621
समर्थक

रॉक-सॉलिड वीआईपी मात्रात्मक रणनीति

अवलोकन

इस रणनीति को रॉक की तरह मजबूत वीआईपी क्वांटिटेटिव रणनीति कहा जाता है, यह एक स्थिर और विश्वसनीय क्वांटिटेटिव ट्रेडिंग फ्रेमवर्क बनाने के लिए संशोधित विलियम एसएमए (संशोधित डब्ल्यूएमए) और एसएसएल चैनल को जोड़ती है।

सिद्धांत

इस रणनीति में दो संकेतकों का संयोजन किया गया है, एक सुधारित विलियम एसएमए संकेत है, जो प्रत्येक के-लाइन के औसत मूल्य की गणना करके प्रवृत्ति की दिशा निर्धारित करता है, फिर सूचकांक चलती औसत विधि को लागू करता है। दूसरा एसएसएल चैनल संकेतक है, जो मूल्य चैनल को निर्धारित करने के लिए उच्चतम और निम्नतम कीमतों की चलती औसत का उपयोग करता है, जो वर्तमान प्रवृत्ति की स्थिति का आकलन करता है।

जब सुधारित विलियम एसएमए संकेतक खरीद संकेत देता है, तो हम एसएसएल चैनल संकेतक के साथ मिलकर यह निर्धारित करते हैं कि क्या चैनल के भीतर की कीमत उपयुक्त है, और हम उस बिंदु पर खरीदारी करते हैं जब K-लाइन इकाई पूरी तरह से चैनल की निचली सीमा से नीचे होती है।

लाभ

  1. दो संकेतकों के संयोजन से खरीदारी के संकेतों को अधिक विश्वसनीय बनाया जाता है, जिससे झूठे ब्रेक से बचा जा सकता है।
  2. सुधारित विलियम एसएमए सूचकांक प्रवृत्ति परिवर्तन बिंदुओं को अधिक सटीक रूप से निर्धारित करने में मदद करता है।
  3. एसएसएल चैनल सूचकांक मूल्य चैनल को स्पष्ट रूप से निर्धारित करता है और उच्च स्तर की खरीद से बचाता है।
  4. सूचकांक चलती औसत विधि का उपयोग करना दीर्घकालिक रुझानों के लिए अधिक अनुकूल है।

जोखिम और समाधान

  1. यदि आप एक चरम स्थिति का सामना करते हैं, तो स्टॉप लॉस पॉइंट को आसानी से ट्रिगर किया जा सकता है। स्टॉप लॉस रेंज को उचित रूप से छूट दी जा सकती है।
  2. चलती औसत प्रणाली अल्पकालिक बाजार के शोर के प्रति संवेदनशील है, जो गलत संकेत दे सकती है। औसत पैरामीटर को उचित रूप से बढ़ाया जा सकता है, जिससे फ़िल्टरिंग प्रभाव बढ़ सकता है।
  3. गलत पैरामीटर सेटिंग भी रणनीति के प्रदर्शन को प्रभावित कर सकती है। पैरामीटर को अनुकूलित करने के लिए, सबसे अच्छा पैरामीटर संयोजन खोजने के लिए, पैरामीटर को रीट्रेस किया जा सकता है।

अनुकूलन दिशा

  1. EMA, VWMA, आदि जैसे विभिन्न प्रकार के चलती औसत का परीक्षण किया जा सकता है ताकि सबसे अधिक मिलान करने वाले औसत को पाया जा सके।
  2. कम मात्रा वाले क्षेत्रों में सिग्नल को रोकने के लिए, यातायात सूचक को जोड़ा जा सकता है।
  3. विभिन्न प्रकार के मार्गों को आज़माया जा सकता है, जैसे कि डोनचियन मार्ग, जो मार्गों की सीमाओं को अधिक विश्वसनीय बनाता है।
  4. अन्य सहायक संकेतकों जैसे कि MACD, RSI आदि को जोड़कर खरीद के समय की पुष्टि की जा सकती है।

संक्षेप

इस रणनीति में सुधार विलियम SMA सूचकांक और एसएसएल चैनल सूचकांक के एक चतुर संयोजन के माध्यम से एक स्थिर, विश्वसनीय मात्रात्मक व्यापार ढांचे का निर्माण. यह बाजार के शोर को फ़िल्टर करने की एक मजबूत क्षमता है, लेकिन यह भी उच्च स्तर के खरीदने के जोखिम से बचने के लिए. यह एक बहुत ही Outperforming रणनीति अगर पैरामीटर सही ढंग से सेट है, और कुछ अनुकूलन के साथ जोड़ा जाएगा.

रणनीति स्रोत कोड
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © Darshana_Alwis

//@version=5
strategy("VIP", overlay=true, initial_capital=1000,currency=currency.USD,default_qty_type=strategy.percent_of_equity,default_qty_value=100,pyramiding=0)
//SSS = Sultan+Saud Strategy

//The original idea of the code belonges to saudALThaidy
//The strategy code is basically made out of two other indicators, edited and combined by me.
// 1- NSDT HAMA Candles => https://www.tradingview.com/script/k7nrF2oI-NSDT-HAMA-Candles/
// 2- SSL Channel => https://www.tradingview.com/script/6y9SkpnV-SSL-Channel/


//MA INFO
WickColor = input.color(color.rgb(80, 80, 80, 100), title='Wick Color', tooltip='Suggest Full Transparency.')
LengthMA = input.int(100, minval=1, title='MA Line Length', inline='MA Info')
TakeProfit = input.float(1, minval=0, title='Take Profit Percentage', step=1)
UseStopLose = input.bool(false, title='Use Stop Percentage')
StopLose = input.float(1, minval=0, title='StopLose Percentage', step=1)

MASource = close

ma(source, length, type) =>
    type == "SMA" ? ta.sma(source, length) :
     type == "EMA" ? ta.ema(source, length) :
     type == "SMMA (RMA)" ? ta.rma(source, length) :
     type == "WMA" ? ta.wma(source, length) :
     type == "VWMA" ? ta.vwma(source, length) :
     na

ma1_color  = color.rgb(230, 172, 0)
ma1 = ma(high, 200, "SMA")

ma2_color  = color.red
ma2 = ma(low, 200, "SMA")

Hlv1 = float(na)
Hlv1 := close > ma1 ? 1 : close < ma2 ? -1 : Hlv1[1]
sslUp1   = Hlv1 < 0 ? ma2 : ma1
sslDown1 = Hlv1 < 0 ? ma1 : ma2

Color1 = Hlv1 == 1 ? ma1_color : ma2_color
fillColor1 = color.new(Color1, 90)

highLine1 = plot(sslUp1, title="UP", linewidth=2, color = Color1)
lowLine1 = plot(sslDown1, title="DOWN", linewidth=2, color = Color1)

OpenLength = 25
HighLength = 20
LowLength = 20
CloseLength = 20


     
SourceOpen = (open[1] + close[1]) / 2
SourceHigh = math.max(high, close)
SourceLow = math.min(low, close)
SourceClose = (open + high + low + close) / 4

funcCalcMA1(src1, len1) => ta.ema(src1, len1)
funcCalcOpen(SourceOpen, OpenLength) => ta.ema(SourceOpen, OpenLength)
funcCalcHigh(SourceHigh, HighLength) => ta.ema(SourceHigh, HighLength)
funcCalcLow(SourceLow, LowLength) => ta.ema(SourceLow, LowLength)
funcCalcClose(SourceClose, CloseLength) => ta.ema(SourceClose, CloseLength)

MA_1 = funcCalcMA1(MASource, LengthMA)

CandleOpen = funcCalcOpen(SourceOpen, OpenLength)
CandleHigh = funcCalcHigh(SourceHigh, HighLength)
CandleLow = funcCalcLow(SourceLow, LowLength)
CandleClose = funcCalcClose(SourceClose, CloseLength)

//PLOT CANDLES
//-------------------------------NSDT HAMA Candels
BodyColor = CandleOpen > CandleOpen[1] ? color.rgb(230, 172, 0) : color.red
barcolor(BodyColor)
plotcandle(CandleOpen, CandleHigh, CandleLow, CandleClose, color=BodyColor, title='HAMA Candles', wickcolor=WickColor, bordercolor=na)
plot(MA_1, title='MA Line', color=BodyColor, style=plot.style_line, linewidth=2)

//------------------------------SSL Channel


plot_buy = false
avg = ((high-low)/2)+low
LongCondition = (Hlv1 == 1 and Hlv1[1] == -1) and (BodyColor == color.rgb(230, 172, 0)) and (MA_1 < avg) and (CandleHigh < avg) and (strategy.opentrades == 0)
if LongCondition
    strategy.entry("BUY with VIP", strategy.long)
    plot_buy := true

base = strategy.opentrades.entry_price(0)
baseProfit = (base+((base/100)*TakeProfit))
baseLose = (base-((base/100)*StopLose))

strategy.exit("SELL with VIP","BUY with VIP",limit = baseProfit)
if UseStopLose and (close < MA_1)
    strategy.exit("SELL with VIP","BUY with VIP",stop = baseLose)
if not UseStopLose and (close < MA_1)
    strategy.exit("SELL with VIP","BUY with VIP", stop = close)
    
plotshape(plot_buy, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=Color1, textcolor=color.white)

fill(highLine1, lowLine1, color = fillColor1)