JBravo मात्रात्मक प्रवृत्ति रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-27 14:53:07
टैगः

रणनीति का अवलोकन

जेब्रावो मात्रात्मक प्रवृत्ति रणनीति चलती औसत पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है। यह बाजार की प्रवृत्ति दिशा, साथ ही अंतिम खरीद और बिक्री संकेतों को निर्धारित करने के लिए 9-दिवसीय सरल चलती औसत, 20-दिवसीय घातीय चलती औसत और 180-दिवसीय सरल चलती औसत का उपयोग करता है।

रणनीति का नाम कार्टून चरित्र जॉनी ब्रावो से प्रेरित है, जो एक आत्मविश्वास और निर्णायक व्यापारिक निर्णय का प्रतिनिधित्व करता है।

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

खरीद संकेत तब उत्पन्न होता है जब समापन मूल्य 9-दिवसीय सरल चलती औसत से ऊपर जाता है; बिक्री संकेत तब उत्पन्न होता है जब समापन मूल्य 20-दिवसीय घातीय चलती औसत से नीचे जाता है।

यदि 9-दिवसीय, 20-दिवसीय और 180-दिवसीय चलती औसत सभी ऊपर की ओर बढ़ रहे हैं, और 9-दिवसीय चलती औसत 20-दिवसीय चलती औसत से ऊपर है, तो 20-दिवसीय चलती औसत 180-दिवसीय चलती औसत से ऊपर है, एक मजबूत खरीद संकेत उत्पन्न होता है।

यदि 9-दिवसीय, 20-दिवसीय और 180-दिवसीय चलती औसत सभी नीचे की ओर बढ़ रहे हैं, और 9-दिवसीय चलती औसत 20-दिवसीय चलती औसत से नीचे है, तो 20-दिवसीय चलती औसत 180-दिवसीय चलती औसत से नीचे है, एक मजबूत बिक्री संकेत उत्पन्न होता है।

जब वॉल्यूम वेटेड एवरेज प्राइस लाइन 20 दिन के एक्सपोनेंशियल मूविंग एवरेज को ऊपर की ओर पार करती है, तो एक GoGo Long सिग्नल उत्पन्न होता है; जब वॉल्यूम वेटेड एवरेज प्राइस लाइन 20 दिन के एक्सपोनेंशियल मूविंग एवरेज को नीचे की ओर पार करती है, तो एक GoGo शॉर्ट सिग्नल उत्पन्न होता है।

लाभ विश्लेषण

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

अकेले चलती औसत का उपयोग करने की तुलना में, यह रणनीति GoGo Juice के आक्रामक प्रवेश तंत्र को जोड़ती है, जो मजबूत रुझानों में उच्च रिटर्न प्राप्त कर सकती है।

कुल मिलाकर, इस रणनीति में छोटे drawdowns और स्थिर लाभप्रदता है।

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

यद्यपि यह रणनीति प्रविष्टियों की ताकत को बढ़ाती है, लेकिन साइडवेज बाजारों में स्टॉप लॉस पॉइंट्स अक्सर ट्रिगर किए जा सकते हैं। इसके अलावा, मूविंग एवरेज में ही उच्च जड़ता होती है और वे समय के साथ मूल्य परिवर्तनों को नहीं पकड़ सकते हैं।

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

जोखिम को कम करने के लिए, हम उचित रूप से चलती औसत के चक्र को समायोजित कर सकते हैं; या एक स्टॉप लॉस मॉड्यूल जोड़ सकते हैं जब हानि एक निश्चित स्तर तक पहुंच जाती है।

अनुकूलन दिशाएँ

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

  1. अनुकूलित पैरामीटर संयोजन खोजने के लिए चलती औसत मापदंडों को समायोजित करें और चक्र मापदंडों का अनुकूलन करें

  2. भारी मूल्य उतार-चढ़ाव के समय झूठे संकेतों से बचने के लिए वॉल्यूम संकेतक जोड़ें

  3. स्टॉप लॉस मॉड्यूल बढ़ाएं और प्रति ट्रेड हानि को नियंत्रित करने के लिए बाहर निकलने के नियम निर्धारित करें

  4. रणनीतियों को अधिक लक्षित बनाने के लिए बाजार के गर्म क्षेत्रों के चयन को मिलाएं

  5. खोलने की स्थिति अनुपात अनुकूलित, विभिन्न मापदंडों के लिए विभिन्न पैमाने अनुकूलित

निष्कर्ष

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

[/trans]


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 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/
// © bradvaughn

//@version=4
strategy("JBravo Swing", overlay = false)

var buy_in_progress = false


//Moving Averages
smaInput1 = input(title="Display SMA 9", type=input.bool, defval=true)
smaInput2 = input(title="Display EMA 20", type=input.bool, defval=true)
smaInput4 = input(title="Display SMA 180", type=input.bool, defval=true)
colored_180 = input(false, title="Color-code 180 trend direction")
vwapInput = input(title="Display VWAP", type=input.bool, defval=true)

sma9 = sma(close, 9)
ema20 = ema(close, 20)
sma180 = sma(close, 180)

//Plot Moving Averages
plot(smaInput1 ? sma9 : na, color= color.red, title="SMA 9")
plot(smaInput2 ? ema20 : na, color = color.yellow, title="EMA 20")

// Plot VWAP
vwap1 = vwap(hlc3)
plot(vwapInput ? vwap1 : na, color = color.blue, title="VWAP")
vwaplong = vwap1 > ema20
vwapshort = vwap1 < ema20

//Color SMA 180 trend direction if selected
sma180_uptrend = sma(close, 180) > sma(close[2], 180)
colr = sma180_uptrend == true or colored_180 == false ? color.white : colored_180 == true ? color.gray : na
plot(smaInput4 ? sma180 : na, color = colr, title="SMA 180")

//Get value of lower end of candle
buyLow = iff(lowest(open, 1) < lowest(close, 1), lowest(open, 1), lowest(close, 1))
sellLow = lowest(close, 1)

// Find the lower MA for crossover sell condition
sellma = iff((sma9<ema20), sma9, ema20)


//SMA 9 trend direction
sma9_uptrend = sma(close, 9) > sma(close[2], 9)
//EMA 20 trend direction
ema20_uptrend = ema(close, 20) > sma(close[2], 20)

//Buy or sell if conditions are met
// Buy when the candle low is above the SMA9
// Sell when the candle low is below the lower of SMA9 and EMA20
Buy = iff(buy_in_progress == false and buyLow > sma9 == true, true, false)
Sell = iff(buy_in_progress == true and sellLow < sellma == true, true, false)

// Determine stong buy and strong sell conditions.
// If moving averages are all up, then this will qualify a buy as a strong buy.
// If the moving averages are not up (ie. down) then this will qualify a sell as a strong sell
StrongBuy = iff (Buy and sma9_uptrend and sma180_uptrend and ema20_uptrend and (sma9 > ema20) and (ema20 > sma180), true, false)
StrongSell = iff (Sell and not sma9_uptrend and not sma180_uptrend and not ema20_uptrend and (sma9 < ema20) and (ema20 < sma180), true, false)

//Update Trading status if bought or sold
if Buy
    buy_in_progress := true
if Sell
    buy_in_progress := false
    
// Clear Buy and Sell conditions if StrongBuy or StrongSell conditions exist.  
// This disables plotting Buy and Sell conditions
if StrongBuy
    Buy := false
if StrongSell
    Sell := false
    

//Display BUY/SELL indicators

plotshape(Buy,title="Buy", color=color.green, style=shape.arrowup,location=location.belowbar, text="Buy")
plotshape(StrongBuy,title="Strong Buy", color=color.green, style=shape.arrowup,location=location.belowbar, text="Strong Buy")
plotshape(Sell,title="Sell", color=color.red, style=shape.arrowdown,text="Sell")
plotshape(StrongSell,title="Strong Sell", color=color.red, style=shape.arrowdown,text="Strong Sell")

strategy.entry("GoGo Long", strategy.long, 1, when=vwaplong and vwapInput)
strategy.entry("GoGo Short", strategy.short, 1, when=vwapshort and vwapInput)

strategy.close("GoGo Long", when = vwapshort and vwapInput)
strategy.close("GoGo Short", when = vwaplong and vwapInput)


alertcondition(Buy, title="Buy Signal", message="Buy")
alertcondition(Sell, title="Sell Signal", message="Sell")

अधिक