गति को उलटने की रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-13 10:02:25
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. इनपुट पैरामीटर x 5 मिनट की मोमबत्तियों के लिए 5 के डिफ़ॉल्ट के साथ जांच करने के लिए मोमबत्ती अवधि की संख्या का प्रतिनिधित्व करता है।

  2. वर्तमान समापन मूल्य के सापेक्ष समापन मूल्य x अवधियों पहले के प्रतिशत परिवर्तन की गणना करें, जिसे trueChange1 और trueChange2 के रूप में सहेजा गया है।

  3. इनपुट पैरामीटर %ChangePos और %ChangeNeg 0.4% और -0.4% के डिफ़ॉल्ट मानों के साथ सीमा प्रतिशत परिवर्तन का प्रतिनिधित्व करते हैं।

  4. जब trueChange1 प्रतिशतChangePos से अधिक होता है, तो एक खरीद संकेत खरीद उत्पन्न होता है. जब trueChange2 प्रतिशतChangeNeg से कम होता है, तो एक बेच संकेत बेच उत्पन्न होता है.

  5. खरीद और बिक्री स्थिति के लिए पाठ और पृष्ठभूमि रंग जोड़ें.

  6. संकेतों के आधार पर प्रवेश और निकास नियम निर्धारित करें।

  7. अलर्ट और चित्रों को कॉन्फ़िगर करें.

लाभ

  1. पूर्ण मूल्य परिवर्तन के बजाय प्रतिशत परिवर्तन का प्रयोग करें, जो विभिन्न स्टॉक के अनुकूल हो सकता है।

  2. बोलिंगर बैंड्स के ब्रेकआउट की पहचान करने के लिए सकारात्मक और नकारात्मक प्रतिशत सीमाएं लचीली रूप से निर्धारित करें।

  3. विभिन्न समय सीमाओं में रुझान परिवर्तनों की पहचान करने के लिए समायोज्य पता लगाने की अवधि

  4. महत्वपूर्ण संकेतों को पकड़ने के लिए कॉन्फ़िगर करने योग्य अलर्ट।

  5. सरल और सीधा सिग्नल तर्क, समझने और उपयोग करने में आसान।

  6. खुले बाजार में अल्पकालिक उलटफेर को पकड़ें।

जोखिम

  1. प्रतिशत परिवर्तन प्रवृत्ति की दिशा निर्धारित नहीं करता है, भ्रामक संकेत उत्पन्न कर सकता है।

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

  3. कोई स्टॉप लॉस नहीं, नुकसान को सीमित करने में असमर्थ।

  4. लगातार सिग्नल, संभावित रूप से उच्च व्यापार लागत।

  5. बाजार की संरचना निर्धारित करने में असमर्थ, विभिन्न बाजारों में झटके का सामना करना पड़ता है।

समाधान:

  1. समग्र प्रवृत्ति निर्धारित करने के लिए रैखिक प्रतिगमन जैसे प्रवृत्ति संकेतकों के साथ संयोजन करें।

  2. स्टॉक की विशेषताओं के आधार पर मापदंडों का अनुकूलन करें।

  3. उचित स्टॉप लॉस लागू करें।

  4. अत्यधिक व्यापार से बचने के लिए संकेतों को फ़िल्टर करें।

  5. ट्रेडिंग के लिए अधिक समय सीमाओं से बाजार संरचना को मापें।

सुधार

  1. घाटे को सीमित करने के लिए स्टॉप लॉस तंत्र जोड़ें जैसे ट्रैलिंग स्टॉप लॉस।

  2. वॉल्यूम, चलती औसत जैसे फ़िल्टर स्थितियों को जोड़ें ताकि whipsaws से बचा जा सके।

  3. एमएसीडी जैसे संकेतकों के साथ प्रवेश और निकास नियमों को अनुकूलित करें।

  4. स्वचालित रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग का उपयोग करें.

  5. बाजार की संरचना का विश्लेषण शामिल करें ताकि किसी भी प्रकार की समस्या से बचा जा सके।

  6. अस्थिरता और तरलता के आधार पर गतिशील रूप से निर्धारित मापदंड।

  7. समग्र प्रवृत्ति निर्धारित करने के लिए उच्च समय सीमा विश्लेषण के साथ संयोजन करें।

सारांश

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


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// created by Oliver
strategy("Percentage Change strategy w/BG color", overlay=true, scale=scale.none, precision=2)

x = input(5, title = 'x candles difference', minval = 1)
trueChange1 = (close - close[x]) / close[x] * 100
percentChangePos = input(0.4, title="Percent Change")

//if (percentChange > trueChange) then Signal  

plotChar1 = if percentChangePos > trueChange1
    false
else
    true

plotchar(series=plotChar1, char='🥶', color=color.green, location=location.top, size = size.tiny )

trueChange2 = (close - close[x]) / close[x] * 100
percentChangeNeg = input(-0.4, title="Percent Change")

plotChar2 = if percentChangeNeg < trueChange2
    false
else
    true
plotchar(series=plotChar2, char='🥵', color=color.red, location=location.top, size = size.tiny)

//------------------------------------------------------------------------
UpColor() => percentChangePos < trueChange1
DownColor() => percentChangeNeg > trueChange2

//Up = percentChangePos < trueChange1
//Down = percentChangeNeg > trueChange2


col = percentChangePos < trueChange1 ? color.lime : percentChangeNeg > trueChange2 ? color.red : color.white
//--------
condColor = percentChangePos < trueChange1 ? color.new(color.lime,50) : percentChangeNeg > trueChange2 ? color.new(color.red,50) : na
//c_lineColor = condUp ? color.new(color.green, 97) : condDn ? color.new(color.maroon, 97) : na
//barcolor(Up ? color.blue : Down ? color.yellow : color.gray, transp=70)

//Background Highlights
//bgcolor(condColor, transp=70)


//---------

barcolor(UpColor() ? color.lime: DownColor() ? color.red : na)
bgcolor(UpColor() ? color.lime: DownColor() ? color.red : na)

//------------------------------------------------------------------------

buy = percentChangePos < trueChange1
sell = percentChangeNeg > trueChange2


//------------------------------------------------------------------------
/////////////// Alerts /////////////// 
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')

//-------------------------------------------------

if (buy)
    strategy.entry("My Long Entry Id", strategy.long)

if (sell)
    strategy.entry("My Short Entry Id", strategy.short)


/////////////////// Plotting //////////////////////// 
plotshape(buy, title="buy", text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0)  //plot for buy icon
plotshape(sell, title="sell", text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0)


अधिक