
La stratégie combine les caractéristiques de l’indicateur AlphaTrend et de la stratégie des bandes de Boehringer. L’indicateur AlphaTrend est utilisé pour capturer les tendances du marché, tandis que la stratégie des bandes de Boehringer est utilisée pour capturer les caractéristiques de la régression moyenne du marché. L’idée principale de la stratégie est de faire plus lorsque le prix franchit les bandes de Boehringer et que l’indicateur AlphaTrend est à la hausse.
La stratégie combine le suivi de la tendance et la régression de la valeur moyenne, suit la tendance lorsque la tendance est évidente et tire des bénéfices supplémentaires dans les marchés instables. L’indicateur AlphaTrend est capable de s’adapter de manière flexible aux mouvements de prix et est mieux adapté à la tendance.
Les mesures suivantes peuvent être prises pour contrer ces risques:
Il y a encore beaucoup de place pour l’optimisation de la stratégie. L’optimisation des paramètres et le filtrage des signaux peuvent améliorer intuitivement la performance de la stratégie. L’introduction de la gestion des positions peut aplanir la courbe des gains.
Cette stratégie combine habilement les deux idées de stratégie quantitative courantes de suivi de la tendance et de retour à la moyenne, tout en utilisant l’indicateur AlphaTrend et l’indicateur classique des bandes de Brin. L’indicateur AlphaTrend tire pleinement parti des informations sur les prix et le volume d’échanges, s’adapte bien au rythme du marché tout en capturant la tendance.
La logique globale de la stratégie est claire, la configuration des paramètres est flexible et facile à optimiser pour différentes variétés et cycles. Les points de risque de la stratégie sont également plus évidents, la gestion des positions et le stop loss nécessitent une optimisation supplémentaire. En outre, pour améliorer encore la fiabilité du signal, il est possible d’envisager l’introduction d’indicateurs de type tendance tels que l’ADX, les indicateurs de dynamique tels que le RSI, etc.
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © brlu99
//@version=5
strategy(title="AlphaTrend and Bollinger Bands 120324 Strategy", shorttitle="AT_BB120324", overlay=true, format=format.price, precision=2, pyramiding=0)
// AlphaTrend Indicator
coeff = input.float(1, 'Multiplier', step=0.1)
AP = input(14, 'Common Period')
ATR = ta.sma(ta.tr, 20)
src = input(close)
novolumedata = input(title='Change calculation (no volume data)?', defval=false)
upT = low - ATR * coeff
downT = high + ATR * coeff
AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT
// Bollinger Bands Strategy
BBPeriod = input.int(20, title="BB Period", minval=1)
BBMultiplier = input.float(2.0, title="BB Multiplier", minval=0.1)
basis = ta.sma(close, BBPeriod)
dev = ta.stdev(close, BBPeriod)
upper = basis + BBMultiplier * dev
lower = basis - BBMultiplier * dev
// Strategy Conditions
longCondition = ta.crossover(close, upper) and ta.crossover(AlphaTrend, AlphaTrend[1])
shortCondition = ta.crossunder(close, lower) and ta.crossunder(AlphaTrend, AlphaTrend[1])
// Exit conditions for Strategy 6
longExit_AT_6 = ta.crossover(close, AlphaTrend)
shortExit_AT_6 = ta.crossunder(close, AlphaTrend)
// Exit condition series
exit1 = input.bool(true, title="Enable Exit Condition for Strategy 1")
// Define exit conditions for each strategy
exit1_condition = close < AlphaTrend ? 1.0 : na
// Strategy Actions
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)
// Exit conditions for Strategy 1
strategy.exit("Buy", "longExit_AT_6", stop = exit1_condition, when =shortExit_AT_6 )
strategy.exit("Sell", "shortExit_AT_6", stop = exit1_condition, when =longExit_AT_6)
// Plotting
plot(AlphaTrend, color=color.blue, title="AlphaTrend")
plot(upper, color=color.green, title="Upper Bollinger Band")
plot(lower, color=color.red, title="Lower Bollinger Band")
// Alerts
alertcondition(longCondition, title='Potential Buy Signal', message='AlphaTrend crossed above Upper Bollinger Band')
alertcondition(shortCondition, title='Potential Sell Signal', message='AlphaTrend crossed below Lower Bollinger Band')