ट्रेंड ट्रैकिंग रिवर्सल रणनीति 15 मिनट के एनक्यू वायदा पर आधारित एक अल्पकालिक ट्रेंड ट्रेडिंग रणनीति है। यह ट्रेंड फ़िल्टरिंग और रिवर्सल पैटर्न मान्यता के माध्यम से ट्रेडिंग अवसरों की पहचान करती है। यह सरल लेकिन प्रभावी रणनीति सक्रिय अल्पकालिक व्यापारियों के लिए उपयुक्त है।
यह रणनीति मुख्य रूप से निम्नलिखित सिद्धांतों पर काम करती हैः
मुख्य ट्रेंड फिल्टर के रूप में 8 अवधि के ईएमए का प्रयोग करें, जिसमें ईएमए के ऊपर लंबे संकेत और ईएमए के नीचे छोटे संकेत हों।
प्रवेश संकेतों के रूप में विशिष्ट मोमबत्ती उलट पैटर्न की पहचान करें, जिसमें लंबे संकेतों के लिए लंबी हरी मोमबत्तियां और छोटे संकेतों के लिए छोटी लाल मोमबत्तियां और छोटे संकेतों के लिए छोटी हरी मोमबत्तियों के बाद लंबी लाल मोमबत्तियां शामिल हैं। ये पैटर्न एक संभावित प्रवृत्ति उलट का सुझाव देते हैं।
प्रवेश बिंदुओं को रिवर्स कैंडल के उच्च/निम्न के पास सेट किया जाता है, जिसमें रिवर्स कैंडल के उच्च/निम्न पर स्टॉप लॉस स्तर होते हैं, जिससे कुशल जोखिम/लाभ अनुपात की अनुमति मिलती है।
मोमबत्ती संबंध नियमों का उपयोग करके उलट संकेतों को मान्य करें, उदाहरण के लिए लाल मोमबत्ती का ओपन प्राइस अंतिम हरी मोमबत्ती के शरीर से ऊपर है, शोर को फ़िल्टर करने के लिए शरीर पूरी तरह से निगल जाता है।
केवल विशिष्ट व्यापारिक घंटों के दौरान रणनीति का संचालन करें, असामान्य मूल्य क्रिया से अनावश्यक नुकसान से बचने के लिए प्रमुख अनुबंध रोलओवर आदि के आसपास अस्थिर अवधि से बचें।
इस रणनीति के मुख्य लाभों में निम्नलिखित शामिल हैंः
सरल और प्रभावी सिग्नल लॉजिक जिसे समझना और निष्पादित करना आसान हो।
ट्रेंड और रिवर्स आधारित, बुल और भालू बाजारों से झटके से बचने के लिए।
पूंजी संरक्षण के लिए उचित स्टॉप लॉस प्लेसमेंट के साथ जोखिम नियंत्रण।
कम डेटा आवश्यकताएं विभिन्न प्लेटफार्मों और उपकरणों के लिए उपयुक्त हैं।
उच्च व्यापारिक आवृत्ति सक्रिय अल्पकालिक व्यापारिक शैली के अनुकूल है।
कुछ जोखिमों पर ध्यान देंः
अपर्याप्त उलट अवसर और सीमित संकेत। अधिक संकेतों की अनुमति देने के लिए उलट मापदंडों को ढीला करें।
कभी-कभी झूठी पलायन. संयोजन तर्क के लिए अधिक फिल्टर जोड़ें.
रात भर और गैर-मुख्य सत्रों में अस्थिरता।
सीमित अनुकूलन लचीलापन. बेहतर पैरामीटर ट्यूनिंग के लिए मशीन लर्निंग पर विचार करें.
अनुकूलन के लिए जगह हैः
प्रवृत्ति परिभाषा में सुधार के लिए लंबी ईएमए अवधि का परीक्षण करें।
इक्विटी इंडेक्स फिल्टर को पूरक ट्रेंड फिल्टर के रूप में जोड़ें।
मशीन लर्निंग तकनीक का उपयोग करके ऑटो-ट्यून एंट्री और स्टॉप लॉस लेवल।
अस्थिरता से समायोजित स्थिति आकार और गतिशील स्टॉप का परिचय दें।
एकल परिसंपत्ति प्रणालीगत जोखिमों को विविधता प्रदान करने के लिए क्रॉस-एसेट आर्बिट्रेज का अन्वेषण करना।
ट्रेंड ट्रैकिंग रिवर्सल रणनीति एक बहुत ही व्यावहारिक अल्पकालिक रणनीति ढांचा प्रदान करती है जिसे सीमित मापदंडों और अच्छे व्यक्तिगत जोखिम नियंत्रण के साथ लागू करना आसान है। यह दिन के व्यापार मंचों पर सक्रिय अल्पकालिक व्यापारियों के लिए उपयुक्त है। आगे के अनुसंधान और विकास के साथ, यह संभावित रूप से मध्यम-लंबे समय के एल्गोरिथम ट्रेडिंग के लिए लागू हो सकता है, जो मजबूत बहुमुखी प्रतिभा और विकास क्षमता का प्रदर्शन करता है।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © bdrex95 //@version=5 // Rob Reversal Strategy - Official // Using Rob Reversal Indicator: Original // Description // This indicator is based on the strategy created by Trader Rob on the NQ 15m chart. // // Timeframe for trading is 8:30am-1:15pm Central. // // Above the EMA line, look for a long position. You will have a short candle, then a long candle that opens below the short candle. It will have a lower high and a lower low. Once the long candle closes, your entry will be 1 tick above the wick (green line) and stop loss will be at the bottom of the bottom wick (red line). // // Below the EMA line, look for a short position. You will have a long candle, then a short candle that opens above the long candle. It will have a higher high and a higher low. Once the short candle closes, your entry will be 1 tick below the wick (green line) and stop loss will be at the top of the top wick (red line). // strategy("Trader Rob Reversal Strategy NQ 15min", shorttitle="Official Rob Rev Strat", overlay=true) //--- Session Input --- sess = input(defval = "0930-1415", title="Trading Session") t = time(timeframe.period, sess) sessionOpen = na(t) ? false : true flat_time = input(defval = "1515-1558", title="Close All Open Trades") ft = time(timeframe.period, flat_time) flatOpen = na(ft) ? false : true // Calculate start/end date and time condition startDate = input(timestamp('2018-12-24T00:00:00'),group = "ALL STRATEGY SETTINGS BELOW") finishDate = input(timestamp('2029-02-26T00:00:00'),group = "ALL STRATEGY SETTINGS BELOW") time_cond = true emaColor = input.color(color.orange, title="EMA Color") emaLength = input.int(8, title="EMA Length") emaInd = ta.ema(close, emaLength) rr = input(1.0,"Enter RR",group = "TP/SL CONDITION INPUTS HERE") sellShapeInput = input.string("Arrow", title="Sell Entry Shape", options=["Arrow", "Triangle"]) buyShapeInput = input.string("Arrow", title="Buy Entry Shape", options=["Arrow", "Triangle"]) sellShapeOption = switch sellShapeInput "Arrow" => shape.arrowdown "Triangle" => shape.triangledown buyShapeOption = switch buyShapeInput "Arrow" => shape.arrowup "Triangle" => shape.triangleup O = open C = close H = high L = low sellEntry = (C[1] > O[1]) and (C < O) and (H[1] < H) and (C < H[1]) and (C > L[1]) and (L > L[1]) and (C < emaInd) and sessionOpen and time_cond buyEntry = (C[1] < O[1]) and (C > O) and (H[1] > H) and (L[1] > L) and (C < H[1]) and (C > L[1]) and (C > emaInd) and sessionOpen and time_cond sellEntry_index = ta.valuewhen(sellEntry,bar_index,0) sellEntry_hi = ta.valuewhen(sellEntry,high,0) sellEntry_low = ta.valuewhen(sellEntry,low,0) buyEntry_index = ta.valuewhen(buyEntry,bar_index,0) buyEntry_hi = ta.valuewhen(buyEntry,high,0) buyEntry_lo = ta.valuewhen(buyEntry,low,0) plotshape(buyEntry, color = color.green, location = location.belowbar, style = buyShapeOption, size = size.small) plotshape(sellEntry, color = color.red, location = location.abovebar, style = sellShapeOption, size = size.small) plot(emaInd, color=emaColor) // Risk Management entry_price_long = (buyEntry_hi + syminfo.mintick) entry_price_short = (sellEntry_low - syminfo.mintick) long_sl_price = (buyEntry_lo-syminfo.mintick) short_sl_price = (sellEntry_hi + syminfo.mintick) long_tp_price = ((entry_price_long - long_sl_price)*rr) + entry_price_long short_tp_price = entry_price_short - ((short_sl_price - entry_price_short)*rr) long_sl_ticks = (entry_price_long - long_sl_price) / syminfo.mintick short_sl_ticks = (short_sl_price - entry_price_short) / syminfo.mintick long_tp_ticks = (long_tp_price - entry_price_long) / syminfo.mintick short_tp_ticks = (entry_price_short - short_tp_price) / syminfo.mintick // Positions if (buyEntry) strategy.entry("Long", strategy.long,stop = H + syminfo.mintick) if strategy.position_size > 0 strategy.exit("Long Ex","Long", loss = long_sl_ticks, profit = long_tp_ticks, comment_loss = "SL Long", comment_profit = "TP Long") if (sellEntry) strategy.entry("Short", strategy.short,stop = L - syminfo.mintick) if strategy.position_size < 0 strategy.exit("Short Ex","Short",loss = short_sl_ticks, profit = short_tp_ticks, comment_loss = "SL Short", comment_profit = "TP Short") // Cancel order if close beyond ema if (C < emaInd) strategy.cancel("Long") if (C > emaInd) strategy.cancel("Short") // Go flat at close (for futures funded account) if strategy.position_size > 0 and flatOpen strategy.close_all(comment = "EOD Flat") if strategy.position_size < 0 and flatOpen strategy.close_all(comment = "EOD Flat") //END