वी-आकार के रिवर्सल इंडिकेटर पर आधारित एसएमए रणनीति


निर्माण तिथि: 2024-02-18 15:04:34 अंत में संशोधित करें: 2024-02-18 15:04:34
कॉपी: 0 क्लिक्स: 351
1
ध्यान केंद्रित करना
1166
समर्थक

वी-आकार के रिवर्सल इंडिकेटर पर आधारित एसएमए रणनीति

अवलोकन

वी-आधारित रिवर्सिंग एसएमए रणनीति शेयर की कीमतों के 14 दिन के उच्चतम मूल्य और पिछले दिन के निम्नतम मूल्य और 14 दिन के निम्नतम मूल्य और पिछले दिन के उच्चतम मूल्य के बीच पूर्ण अंतर की गणना करके, और फिर 14 दिन की सरल चलती औसत की गणना करके, क्रमशः VI+ और VI- वक्र बनाते हैं। VI- को VI+ पर पार करते समय एक मल्टीहेड सिग्नल के रूप में। VI- को VI+ से पार करते समय एक खाली सिर सिग्नल के रूप में।

रणनीति सिद्धांत

इस रणनीति के मुख्य संकेतकों में VI+ और VI- शामिल हैं, जिसमें VI+ बहुमुखी शक्ति को दर्शाता है, और VI- खाली शक्ति को दर्शाता है। गणना के लिए सूत्र इस प्रकार हैः

VMP = SUM(ABS(HIGH - LOW[1]),14)
VMM = SUM(ABS(LOW - HIGH[1]),14)  
STR = SUM(ATR(1),14)
VI+ = VMP/STR  
VI- = VMM/STR

वक्र के उतार-चढ़ाव को हटाने के लिए, क्रमशः VI+ और VI- के लिए 14-दिवसीय सरल चलती औसत की गणना की जाती है, जो SMA ((VI+) और SMA ((VI-)) को प्राप्त करता है। SMA ((VI+) पर SMA ((VI-) के माध्यम से मल्टीहेड सिग्नल उत्पन्न होता है; SMA ((VI-) के माध्यम से SMA ((VI+) के माध्यम से खाली सिर सिग्नल उत्पन्न होता है।

इसके अलावा, रणनीति VI+ और VI- की ऊपर और नीचे की स्थितियों के साथ एक प्रवृत्ति का आकलन करती है, जिससे फ़िल्टर किया जाता है, केवल जब प्रवृत्ति नीचे की ओर होती है, और जब प्रवृत्ति ऊपर होती है तो खाली होती है।

श्रेष्ठता विश्लेषण

इस रणनीति में प्रवृत्ति की स्थिति और VI सूचक के गोल्डन फोर्क को शामिल किया गया है, जिससे झूठे संकेतों को प्रभावी ढंग से फ़िल्टर किया जा सकता है, जिससे लाभ की संभावना बढ़ जाती है। सरल चलती औसत रणनीतियों की तुलना में, इसका ब्रेकआउट सिग्नल अधिक विश्वसनीय है।

जोखिम विश्लेषण

इस रणनीति में दो प्रमुख जोखिम हैंः

  1. VI संकेतक कुछ चक्रों के दौरान एक भ्रामक संकेत उत्पन्न करता है। इस समय ट्रेंड फ़िल्टरिंग और स्टॉप लॉस के संयोजन की आवश्यकता होती है ताकि जोखिम को नियंत्रित किया जा सके।

  2. उच्च लेनदेन शुल्क और स्लाइडिंग लागत वाले बाजार इस रणनीति के लिए उपयुक्त नहीं हैं, जो लाभ के लिए जगह को काफी कम कर देंगे।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. सूचकांक VI के चक्रों को अनुकूलित करें, सबसे अच्छा पैरामीटर संयोजन ढूंढें

  2. मशीन लर्निंग का उपयोग करके स्वचालित रूप से गुमराह करने वाले संकेतों की पहचान करें और संकेत की गुणवत्ता में सुधार करें।

  3. स्टॉप लॉस और फंड मैनेजमेंट के साथ ऑप्टिमाइज़्ड एक्जिट मैकेनिज्म, एकल लेनदेन के नुकसान को नियंत्रित करना।

  4. कम लागत वाले बाजारों को चुनने के लिए ट्रेडिंग किस्मों का अनुकूलन करें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//@author=SIDD
//Sidd-Vortex strategy is using Vortex formula  to generate 4 signals Bullish1 Bullish2 and Bearish1 Bearish2.

//Bullish1 signal is getting generated when smooth ma of VIP is crossing over smooth ma of VIM and smooth VIM is falling from previous bar smooth VIM

//Bullish2 signal is getting generated when smooth ma of VIP is crossing over smooth ma of VIM and smooth VIP is rising from previous bar smooth VIP

//Bearish1 signal is getting generated when smooth ma of VIM is crossing over smooth ma of VIP and smooth VIP is falling from previous bar smooth VIP

//Bearish2 signal is getting generated when smooth ma of VIM is crossing over smooth ma of VIP and smooth VIM is rising from previous bar smooth VIM

//This strategy can be converted into study un-commenting the plotshape and 15th line strategy replace with study and overlay=false

strategy(title = "SIDD-Vortex", shorttitle="SIDD-VORTEX", format=format.price, precision=4,overlay=true)
period_ = input(14, title="Period", minval=2)
len = input(14, minval=1, title="WMA Length")

VMP = sum( abs( high - low[1]), period_ ) // sum of absolute current high and previous low with 14 period default
VMM = sum( abs( low - high[1]), period_ ) // sum of absolute current low and previous high with 14 period default
STR = sum( atr(1), period_ )  //sum of daily atr for 14 days
VIP = VMP / STR
VIM = VMM / STR

simpleMAVIP=wma(VIP, len) 
smmaVIP = 0.0
smmaVIP := na(smmaVIP[1]) ? simpleMAVIP : (smmaVIP[1] * (len - 1) + VIP) / len // finding the Smoothing average 

simpleMAVIM=wma(VIM, len) 
smmaVIM = 0.0
smmaVIM := na(smmaVIM[1]) ? simpleMAVIM : (smmaVIM[1] * (len - 1) + VIM) / len // finding the Smoothing average 


risingVIP = rising(smmaVIP, 1)
fallingVIP = falling(smmaVIP, 1)

lineColorVIP = smmaVIP > 0.95 and risingVIP  ? color.lime : smmaVIP > 0.95 ? #d65240 : smmaVIP < 0.95 and fallingVIP ? color.red : color.olive

risingVIM = rising(VIM, 1)
fallingVIM = falling(VIM, 1)

lineColorVIM = smmaVIM > 0.95 and risingVIM  ? color.red : smmaVIM > 0.95 ? color.olive : smmaVIM < 0.95 and fallingVIM ? color.lime : #d65240

plot(VIP, title="VI +", color=lineColorVIP)
plot(VIM, title="VI -", color=lineColorVIM) 

longCondition = crossover(smmaVIP,smmaVIM)
shortCondition = crossover(smmaVIM,smmaVIP)


if (longCondition and fallingVIM)
    strategy.entry("Bullish1", strategy.long)
if (shortCondition and fallingVIP)
    strategy.entry("Bearish1", strategy.short)

if (longCondition and risingVIP)
    strategy.entry("Bullish2", strategy.long)
if (shortCondition and risingVIM)
    strategy.entry("Bearish2", strategy.short)
    
//plotshape(longCondition and fallingVIM, color=color.lime, location=location.belowbar, style=shape.triangleup,size= size.large,text="Bullish",offset=0,textcolor=color.white)
//plotshape(longCondition and risingVIP, color=color.lime, location=location.belowbar, style=shape.labelup,size= size.large,text="Bullish",offset=0,textcolor=color.white)
//plotshape(Diff > 0 and direction>0, color=color.lime, location=location.belowbar, style=shape.arrowup,size= size.normal,offset=0)
    
//plotshape(shortCondition and fallingVIP  , color=color.red, location=location.abovebar, style=shape.triangledown, size= size.large,text="Bearish",offset=0,textcolor=color.white)
//plotshape( shortCondition and risingVIM  , color=color.red, location=location.abovebar, style=shape.labeldown, size= size.large,text="Bearish",offset=0,textcolor=color.white)



//band1 = hline(1.0  , title="Upper Line", linestyle=hline.style_dashed, linewidth=3, color=color.red)
//band0 = hline(0.5, title="Lower Line", linestyle=hline.style_dashed, linewidth=3, color=color.lime)
//fill(band1, band0, color=color.purple, transp=70)