BankNifty सुपरट्रेंड ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-29 17:09:57
टैगः

img

अवलोकन

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

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

रणनीति पहले इनपुट चर जैसे ट्रेडिंग सत्र और दिनांक सीमाओं को परिभाषित करती है। ट्रेडिंग सत्र भारतीय ट्रेडिंग सत्र के लिए 9:15 बजे से 3:10 बजे तक सेट किया जाता है।

इसके बाद यह सुपरट्रेंड इंडिकेटर और उसकी दिशा की गणना करता है। सुपरट्रेंड इंडिकेटर ट्रेंड की दिशा की पहचान कर सकता है।

प्रत्येक ट्रेडिंग सत्र की शुरुआत में, रणनीति ट्रेड में प्रवेश करने पर विचार करने से पहले 3 मोमबत्तियों के बनने का इंतजार करती है। यह झूठे ब्रेकआउट को फ़िल्टर करने के लिए है।

लंबा संकेत तब होता है जब सुपरट्रेंड सूचक की दिशा नीचे से ऊपर की ओर बदल जाती है; छोटा संकेत तब होता है जब सुपरट्रेंड की दिशा ऊपर से नीचे की ओर बदल जाती है।

प्रवेश करने के बाद, स्टॉप लॉस सेट किया जाएगा. दोनों स्थिर स्टॉप लॉस बिंदु और ट्रेलिंग स्टॉप लॉस प्रतिशत इनपुट चर के माध्यम से समायोजित किया जा सकता है.

ट्रेडिंग सत्र के अंत में, रणनीति सभी खुले पदों को बंद कर देगी।

रणनीति के फायदे

यह एक सरल व्यापारिक रणनीति है जो रुझानों की पहचान करने के लिए संकेतकों का उपयोग करती है। इसके निम्नलिखित फायदे हैंः

  1. प्रवृत्ति की दिशा का आकलन करने के लिए सुपरट्रेंड संकेतक का उपयोग करें, जो प्रवृत्तियों की प्रभावी ढंग से पहचान कर सकता है
  2. ट्रेडिंग सत्रों को मिलाकर सबसे अस्थिर उद्घाटन और समापन सत्र से बचा जा सकता है
  3. मुनाफे में लॉक करने के लिए ट्रैलिंग स्टॉप लॉस सेट करें
  4. कई मापदंडों को इनपुट चर के माध्यम से स्वतंत्र रूप से समायोजित किया जा सकता है, उच्च अनुकूलन क्षमता

रणनीति के जोखिम

इस रणनीति में कुछ जोखिम भी हैं:

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

इन जोखिमों को सुपरट्रेंड सूचक के मापदंडों को अनुकूलित करके या अन्य सूचक निर्णयों को जोड़कर कम किया जा सकता है।

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

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

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

निष्कर्ष

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


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

//@version=5
strategy("BankNifty 5min Supertrend Based Strategy, 09:15 Entry with Date Range and Risk Management")

// Session and date range input variables
session = input("0915-1510", "Session", group="Indian Session Time")
start_date = input(title="Start Date", defval=timestamp("01 Jan 2022 00:00:00"), group="Backtest Specific Range")
end_date = input(title="End Date", defval=timestamp("01 Dec 2023 23:59:59"))
atrPeriod = input(50, "ATR Length", group="SuperTrend Setting")
factor = input.float(3.0, "Factor", step=0.1)

useDelay = input(true, "Use Delay?", group="Delay at Session Start")
Delay = useDelay ? input(10, title="Delay N numbers of candle", group="Delay at Session Start") : na

useDelay_stopLoss = input(true, "Use Stoploss Points?", group="Risk Management")
stopLoss = useDelay_stopLoss ? input(100, "Stop Loss Points", group="Risk Management"): na

useDelay_stopLossPerc1 = input(true, "Use Stoploss Trail?", group="Risk Management")
stopLossPerc1 =useDelay_stopLossPerc1 ? input.float(0.1, "Stop Loss Trail%", step=0.1,maxval = 1, group="Risk Management"): na
// Check if current time is within the specified session and date range
inSession = true

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

// Wait for 3 candles to form at the start of every session
var candlesFormed = 0
if inSession and not inSession[1]
    candlesFormed := 1
else if inSession and candlesFormed > 0
    candlesFormed := candlesFormed + 1
else
    candlesFormed := 0


//

// Only enter trades if 3 candles have formed at the start of the session
entryce = (ta.change(direction) < 0) or (candlesFormed >= Delay and direction < 0)
exitce = ta.change(direction) > 0
entrype = (ta.change(direction) > 0) or (candlesFormed >= Delay and direction > 0)
exitpe = ta.change(direction) < 0
var entryPrice = 0.0
if entryce and inSession
    // Enter long trade
    onePercent = strategy.position_avg_price *stopLossPerc1
    entryPrice := close
    strategy.entry("My Long Entry Id", strategy.long, comment="long" )
    // Set stop loss at x% below entry price
    strategy.exit("My Long Exit Id", "My Long Entry Id", stop=(entryPrice - stopLoss),trail_points=onePercent )
    
if entrype and inSession
    onePercent1 = strategy.position_avg_price *stopLossPerc1
    entryPrice := close
    // Enter short trade
    strategy.entry("My Short Entry Id", strategy.short, comment="short")
    // Set stop loss at x% above entry price
    strategy.exit("My Short Exit Id", "My Short Entry Id", stop=(entryPrice + stopLoss),trail_points=onePercent1)

// Close all trades at end of session
if not inSession and strategy.opentrades > 0
    strategy.close_all()

// Plot Supertrend with changing colors
plot(supertrend, title="Supertrend", color=direction == 1 ? color.red : color.green, linewidth=2)





अधिक