प्रवृत्ति ब्रेकआउट - लंबी छाया रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-15 16:43:17
टैगः

img

यह रणनीति तेजी/बैरिश छाया लंबाई के अनुपात की गणना करके वर्तमान प्रवृत्ति की दिशा का आकलन करती है, और एटीआर संकेतक के साथ प्रवृत्ति की पहचान करती है। यह ब्रेकआउट बिंदुओं पर रिवर्स स्थिति खोलती है और अल्पकालिक रुझानों को पकड़ने के लिए स्टॉप लॉस और ले लाभ सेट करती है।

रणनीति तर्क

रणनीति मुख्य रूप से तेजी/बिरिश छाया अनुपात की गणना करके वर्तमान प्रवृत्ति का आकलन करती है। लंबी मंदी नीचे की प्रवृत्ति को दर्शाती है जबकि लंबी तेजी ऊपर की प्रवृत्ति को दर्शाती है।

विशिष्ट तर्क यह हैः

  1. मंदी की छाया की गणना करें: बंद - निम्न
  2. तेजी की छाया की गणना करें: उच्च - खुला
  3. छाया की लंबाई के रूप में मंदी और तेजी की छाया का अधिकतम लें
  4. मोमबत्ती शरीर की लंबाई की गणना करेंः उच्च - निम्न
  5. छाया और शरीर की लंबाई के बीच अनुपात की गणना करें
  6. यदि अनुपात > 0.5 और मंदी > तेजी है, तो नीचे की ओर रुझान और लंबी स्थिति का न्याय करें
  7. यदि अनुपात > 0.5 और तेजी > मंदी है, तो ऊपर की ओर रुझान और छोटी स्थिति का न्याय करें
  8. मोमबत्ती की लंबाई > 0.75 * एटीआर के साथ ब्रेकआउट को मान्य करें
  9. स्टॉप लॉस सेट करें और 2: 1 अनुपात के साथ प्रवेश के बाद लाभ लें

उपरोक्त बुनियादी ट्रेडिंग तर्क है, रुझान का पता लगाने के साथ रिवर्स ब्रेकआउट बिंदुओं की पहचान करना और स्टॉप लॉस/टेक प्रॉफिट के साथ लाभ का अनुकूलन करना।

लाभ

  1. छाया अनुपात प्रवृत्ति का सही आकलन करता है
  2. एटीआर झूठे पलायन संकेतों को फ़िल्टर करता है
  3. स्टॉप लॉस और ले लाभ जोखिम का प्रबंधन करता है
  4. 2:1 जोखिम-लाभ अनुपात क्वांट ट्रेडिंग मानक को पूरा करता है
  5. उच्च अस्थिरता वाले शेयरों पर अल्पकालिक व्यापार के लिए उपयुक्त
  6. सरल और स्पष्ट तर्क, समझने में आसान

जोखिम

  1. मूल्य में उतार-चढ़ाव स्टॉप लॉस को प्रभावित कर सकता है और नुकसान बढ़ा सकता है
  2. प्रदर्शन पैरामीटर ट्यूनिंग पर बहुत निर्भर करता है
  3. रुझान के उलटने से नुकसान हो सकता है
  4. स्टॉप लॉस/टेक प्रॉफिट बढ़ाने से नुकसान की संभावना बढ़ सकती है
  5. असफल पलायन से भारी नुकसान हो सकता है

जोखिमों को उचित स्टॉप लॉस, पैरामीटर अनुकूलन और समय पर स्थिति से बाहर निकलने से प्रबंधित किया जा सकता है।

सुधार

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

  1. सर्वोत्तम मूल्य के लिए छाया अनुपात पैरामीटर अनुकूलित करें
  2. सर्वोत्तम मोमबत्ती लंबाई के लिए एटीआर पैरामीटर अनुकूलित करें
  3. अधिकतम जोखिम-लाभ के लिए स्टॉप लॉस/टेक प्रॉफिट गुणांक का अनुकूलन
  4. स्थिति आकार जैसे क्रमिक स्थिति वृद्धि जोड़ें
  5. लाभ संरक्षण के लिए ट्रेलिंग स्टॉप लॉस जोड़ें
  6. फ़िल्टर संकेतों में अन्य संकेतक जोड़ें
  7. बैकटेस्ट समय अवधि को अनुकूलित करें और विभिन्न बाजार चरणों का परीक्षण करें

बहुआयामी परीक्षण और अनुकूलन के साथ, रणनीति प्रदर्शन को अधिकतम किया जा सकता है।

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


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 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/
// © ondrej17

//@version=4
strategy("longWickstrategy", overlay=true )
 
// Inputs
st_yr_inp = input(defval=2020, title='Backtest Start Year')
st_mn_inp = input(defval=01, title='Backtest Start Month')
st_dy_inp = input(defval=01, title='Backtest Start Day')
en_yr_inp = input(defval=2025, title='Backtest End Year')
en_mn_inp = input(defval=01, title='Backtest End Month')
en_dy_inp = input(defval=01, title='Backtest End Day')
sltp_inp = input(defval=0.8, title='N - % offset for N*SL and (2N)*TP')/100
 
// Dates
start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp,00,00)
end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp,00,00)
canTrade = time >= start and time <= end
// Indicators Setup


 
// Strategy Calcuations
lowerWick = (open > close) ? close-low : open - low
upperWick = (open > close) ? high-open : high-close
wickLength = max(lowerWick,upperWick)
candleLength = high-low
wickToCandleRatio = wickLength / candleLength
entryFilterCandleLength = candleLength > 0.75*atr(48)


// Entries and Exits
 
longCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick > upperWick and canTrade and strategy.position_size == 0
shortCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick < upperWick and canTrade and strategy.position_size == 0

strategy.entry("pendingLong", strategy.long, limit=low+wickLength/2, when = longCondition)
strategy.entry("pendingShort", strategy.short, limit=high-wickLength/2, when = shortCondition)

longStop = strategy.position_size > 0 ? strategy.position_avg_price*(1-sltp_inp) : na
longTP = strategy.position_size > 0 ? strategy.position_avg_price*(1+2*sltp_inp) : na
shortStop = strategy.position_size < 0 ? strategy.position_avg_price*(1+sltp_inp) : na
shortTP = strategy.position_size < 0 ? strategy.position_avg_price*(1-2*sltp_inp) : na

strategy.exit("longSLTP","pendingLong", stop=longStop, limit = longTP)
strategy.exit("shortSLTP","pendingShort", stop=shortStop, limit = shortTP)  
 

plot(longStop, color=color.red, style=plot.style_linebr, linewidth=2)
plot(shortStop, color=color.red, style=plot.style_linebr, linewidth=2)
plot(longTP, color=color.green, style=plot.style_linebr, linewidth=2)
plot(shortTP, color=color.green, style=plot.style_linebr, linewidth=2)

plotLongCondition = longCondition ? high+abs(open-close) : na
plot(plotLongCondition, style=plot.style_circles, linewidth=4, color=color.green)
plotShortCondition = shortCondition ? high+abs(open-close) : na
plot(plotShortCondition, style=plot.style_circles, linewidth=4, color=color.red)



अधिक