स्केलेबिलिटी के साथ ब्रेकआउट ट्रेडिंग रणनीति

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

img

अवलोकन

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

यह कैसे काम करता है

इस रणनीति में सबसे पहलेswings()लुकबैक अवधि के आधार पर स्विंग उच्च और निम्न की गणना करने के लिए कार्य। लुकबैक अवधि को लुकबैक अवधि के साथ सेट किया जाता हैswingLookbackपैरामीटर, डिफ़ॉल्ट 20 बार पर. लंबे संकेत तब ट्रिगर किए जाते हैं जब कीमत स्विंग उच्च से ऊपर टूट जाती है, और छोटे संकेत तब ट्रिगर किए जाते हैं जब कीमत स्विंग निम्न से नीचे टूट जाती है.

विशेष रूप से, एक लंबा संकेत तब ट्रिगर किया जाता है जब बंद मूल्य स्विंग उच्च मूल्य से अधिक या उसके बराबर होता है। एक छोटा संकेत तब ट्रिगर किया जाता है जब बंद मूल्य स्विंग निम्न मूल्य से कम या उसके बराबर होता है।

इस रणनीति में एक स्टॉप लक्ष्य भी निर्धारित किया गया है।stopTargetPercentस्टॉप लॉस के स्तर को परिभाषित करने के लिए पैरामीटर। उदाहरण के लिए, लंबी स्टॉप लॉस को स्विंग हाई से 5% नीचे और छोटी स्टॉप लॉस को स्विंग लो से 5% ऊपर सेट किया जा सकता है।

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

लाभ

  • सरल ब्रेकआउट तर्क, समझने और लागू करने में आसान
  • लुकबैक अवधि पैरामीटर को अनुकूलित करने और व्यापार आवृत्ति को नियंत्रित करने की अनुमति देती है
  • आसानी से स्टॉप लॉस, ट्रेलिंग स्टॉप और अन्य जोखिम प्रबंधन को एकीकृत करता है
  • फ़िल्टर जोड़ने और लाभप्रदता में सुधार करने के लिए अत्यधिक विस्तार योग्य
  • दिन के भीतर या स्विंग ट्रेडिंग के लिए किसी भी समय सीमा पर लागू

जोखिम और न्यूनीकरण

  • बहुत कम पुनरीक्षण अवधि से ओवरट्रेडिंग हो सकती है
  • बहुत लंबी पुनरीक्षण अवधि व्यापार के अवसरों को खो सकती है
  • बहुत बड़ा स्टॉप लॉस लाभ क्षमता को कम करता है
  • स्टॉप लॉस बहुत सख्त हो सकता है अक्सर बंद हो जाता है

शमन उपाय:

  • इष्टतम मापदंडों को खोजने के लिए विभिन्न लुकबैक अवधि का परीक्षण करें
  • लाभ बनाम जोखिम नियंत्रण को संतुलित करने के लिए स्टॉप लॉस स्तर को अनुकूलित करें
  • लाभ में लॉक करने के लिए ट्रेलिंग स्टॉप या झूमर बाहर जोड़ें
  • ट्रेडिंग संकेतों की गुणवत्ता में सुधार के लिए फ़िल्टर जोड़ें
  • बैकटेस्टिंग के माध्यम से मापदंडों का अनुकूलन करें

बढ़ोतरी के अवसर

इस रणनीति को कई तरीकों से बढ़ाया जा सकता हैः

  1. इष्टतम मापदंडों को खोजने के लिए विभिन्न लुकबैक अवधि मानों का परीक्षण करें।

  2. सर्वोत्तम समय सीमा निर्धारित करने के लिए 5 मीटर, 15 मीटर, 1 घंटे जैसे विभिन्न समय सीमाओं का परीक्षण करें।

  3. लाभ क्षमता और जोखिम प्रबंधन के बीच संतुलन बनाने के लिए स्टॉप लॉस प्रतिशत को अनुकूलित करें।

  4. कम सेटअप को कम करने के लिए वॉल्यूम, अस्थिरता जैसे फ़िल्टर जोड़ें।

  5. अधिक जोखिम प्रबंधन तंत्र जैसे कि अनुवर्ती स्टॉप, लाभ लेने को एकीकृत करें।

  6. पैरामीटर अनुकूलन पैदल आगे विश्लेषण और मशीन सीखने के माध्यम से।

  7. मापदंडों के स्वतः अनुकूलन के लिए एआई/मशीन लर्निंग का परिचय दें।

निष्कर्ष

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


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
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/
// © deperp

//@version=5
// strategy("Range Breaker", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.07, pyramiding=0)

// Backtest Time Period

useDateFilter = input.bool(true, title="Begin Backtest at Start Date",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2020"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")

inTradeWindow = true

swingLookback = input.int(20, title="Swing Lookback", minval=3)
stopTargetPercent = input.float(5, title="Stop Target Percentage", step=0.1)

// Calculate lockback swings
swings(len) =>
    var highIndex = bar_index
    var lowIndex = bar_index
    var swingHigh = float(na)
    var swingLow = float(na)
    
    upper = ta.highest(len)
    lower = ta.lowest(len)
    
    if high[len] > upper
        highIndex := bar_index[len]
        swingHigh := high[len]

    if low[len] < lower
        lowIndex := bar_index[len]
        swingLow := low[len]

    [swingHigh, swingLow, highIndex, lowIndex]


// Strategy logic
[swingHigh, swingLow, highIndex, lowIndex] = swings(swingLookback)
longCondition = inTradeWindow and (ta.crossover(close, swingHigh))
shortCondition = inTradeWindow and (ta.crossunder(close, swingLow))

if longCondition
    strategy.entry("Long", strategy.long)
if shortCondition
    strategy.entry("Short", strategy.short)

longStopTarget = close * (1 + stopTargetPercent / 100)
shortStopTarget = close * (1 - stopTargetPercent / 100)

strategy.exit("Long Stop Target", "Long", limit=longStopTarget)
strategy.exit("Short Stop Target", "Short", limit=shortStopTarget)

// Plot break lines
// line.new(x1=highIndex, y1=swingHigh, x2=bar_index, y2=swingHigh, color=color.rgb(255, 82, 82, 48), width=3, xloc=xloc.bar_index, extend=extend.right)
// line.new(x1=lowIndex, y1=swingLow, x2=bar_index, y2=swingLow, color=color.rgb(76, 175, 79, 47), width=3, xloc=xloc.bar_index, extend=extend.right)


// Alert conditions for entry and exit
longEntryCondition = inTradeWindow and (ta.crossover(close, swingHigh))
shortEntryCondition = inTradeWindow and (ta.crossunder(close, swingLow))

longExitCondition = close >= longStopTarget
shortExitCondition = close <= shortStopTarget

alertcondition(longEntryCondition, title="Long Entry Alert", message="Enter Long Position")
alertcondition(shortEntryCondition, title="Short Entry Alert", message="Enter Short Position")
alertcondition(longExitCondition, title="Long Exit Alert", message="Exit Long Position")
alertcondition(shortExitCondition, title="Short Exit Alert", message="Exit Short Position")

अधिक