
यह रणनीति एक ट्रेडिंग प्रणाली है जो मूल्य के ब्रेकआउट और गतिशील ट्रैकिंग स्टॉपलॉस पर आधारित है। यह पिछले एन चक्रों के उच्चतम और निम्नतम मूल्य की निगरानी करके व्यापार करता है जब कीमत इन महत्वपूर्ण स्तरों को तोड़ती है। रणनीति में एक बुद्धिमान स्टॉपलॉस तंत्र है, जो केवल 1% लाभ के बाद ट्रैक स्टॉपलॉस को सक्रिय करता है, जिससे लाभ को पूरी तरह से विकसित किया जा सकता है। साथ ही 1 घंटे के शीतलन समय को सेट करके ओवर-ट्रेडिंग से बचने के लिए प्रत्येक व्यापार की गुणवत्ता में सुधार करता है।
रणनीति के मूल तर्क में निम्नलिखित प्रमुख भाग शामिल हैं:
यह एक तर्कसंगत डिजाइन प्रवृत्ति ट्रैकिंग रणनीति है, जो कीमत के ब्रेकआउट और गतिशील स्टॉपलॉस के माध्यम से संयुक्त है, जो बड़े रुझानों को पकड़ने और जोखिम को प्रभावी ढंग से नियंत्रित करने में सक्षम है। रणनीति अनुकूलन योग्य है और पैरामीटर अनुकूलन के माध्यम से विभिन्न बाजार स्थितियों के लिए अनुकूल है। यह सलाह दी जाती है कि एक छोटे से स्थान से शुरू करें और धीरे-धीरे विभिन्न बाजार स्थितियों में रणनीति के प्रदर्शन को सत्यापित करें।
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=5
//TSLA has the buest results on the 5 min or 1 hour chart
//NQ 15 minute
strategy("!! 🔥 Breakout Strategy with Trailing Stop", overlay=true,
default_qty_type=strategy.percent_of_equity, default_qty_value=100,
pyramiding=100)
// User inputs
var int lookbackBars = input.int(10, title="Lookback Bars", minval=1)
var float breakoutThresholdPct = input.float(0.05, title="Breakout Threshold Percentage", minval=0.0001, maxval=5, step=0.01)
var float stopLossPct = input.float(0.2, title="Stop Loss Percentage", minval=0.1) / 100
// Adjusted: No longer directly using takeProfitPct for a fixed take profit level
var float trailStartPct = input.float(0.5, title="Trail Start at Profit Percentage", minval=0.001) / 100
// Tracking the last entry time
var float lastEntryTime = na
// Calculate the highest high and lowest low over the last N bars excluding the current bar
float previousHigh = ta.highest(high[1], lookbackBars)
float previousLow = ta.lowest(low[1], lookbackBars)
// Entry condition adjusted to compare current price against the previous period's high/low
bool breakoutHigh = close > previousHigh * (1 + breakoutThresholdPct / 100) and (na(lastEntryTime) or (time - lastEntryTime) > 3600000 )
bool breakoutLow = close < previousLow * (1 - breakoutThresholdPct / 100) and (na(lastEntryTime) or (time - lastEntryTime) > 3600000 )
// Execute strategy based on the breakout condition
if (breakoutHigh)
strategy.entry("Breakout Buy", strategy.long)
lastEntryTime := time
else if (breakoutLow)
strategy.entry("Breakout Sell", strategy.short)
lastEntryTime := time
// Exiting the strategy with a trailing stop that starts after reaching 1% profit
// Adjusted: Implementing a dynamic trailing stop that activates after a 1% profit
if strategy.position_size > 0
strategy.exit("Trailing Stop Exit", "Breakout Buy", trail_points = close * trailStartPct, trail_offset = close * stopLossPct)
if strategy.position_size < 0
strategy.exit("Trailing Stop Exit", "Breakout Sell", trail_points = close * trailStartPct, trail_offset = close * stopLossPct)
// Visualization for debugging and analysis
plot(previousHigh, color=color.green, linewidth=2, title="Previous High")
plot(previousLow, color=color.red, linewidth=2, title="Previous Low")
// plotshape(series=breakoutHigh, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
// plotshape(series=breakoutLow, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")