La stratégie d'inversion des hausses et baisses consécutives est une stratégie de trading quantitative basée sur la continuité des hausses et baisses de prix. La stratégie identifie le schéma des X bougies consécutives en baisse qui brisent le point le plus bas, suivies de Y bougies consécutives en hausse, pour saisir les opportunités d'inversion de tendance à court terme. L'idée principale derrière la stratégie est qu'après que le prix ait connu des baisses consécutives, elle indique que l'élan baissier a été libéré. Par la suite, si des hausses consécutives se produisent, elle suggère que la force haussière commence à s'accumuler et que le prix peut déclencher un rebond. Par conséquent, cette stratégie tente de saisir l'opportunité d'inversion du prix de baissier à haussier, générant ainsi des profits.
Le principe de la stratégie d'inversion des baisses consécutives peut être divisé en les étapes suivantes:
Cette stratégie utilise le schéma de baisses et de hausses consécutives pour tenter de saisir les opportunités de renversement de la baisse à la hausse.
La stratégie d'inversion des baisses consécutives présente les avantages suivants:
Bien que la stratégie d'inversion des baisses consécutives présente certains avantages, elle comporte toujours les risques suivants:
Pour faire face à ces risques, les mesures d'optimisation suivantes peuvent être envisagées:
La stratégie d'inversion des décroissances consécutives comporte les orientations d'optimisation suivantes:
Grâce aux mesures d'optimisation susmentionnées, la stratégie d'inversion des baisses consécutives peut mieux s'adapter aux changements du marché, contrôler les risques et améliorer la rentabilité et la stabilité.
La stratégie d'inversion des hausses et baisses consécutives est une stratégie de négociation quantitative basée sur la continuité des prix. En identifiant le schéma des hausses et baisses consécutives, elle capte les opportunités d'inversion du marché à court terme. Les règles de la stratégie sont simples et claires, relativement sensibles aux changements des tendances des prix et ont des conditions de stop loss strictes pour contrôler les risques.
Cependant, la stratégie comporte également certains risques, tels que des transactions fréquentes, un placement de stop loss potentiellement trop strict et éventuellement de mauvaises performances sur des marchés à forte tendance.
En outre, la stratégie comporte certaines directions d'optimisation, telles que l'introduction de plus d'indicateurs, l'optimisation du stop loss et du take profit, l'adaptation à différents environnements de marché, l'intégration de la taille des positions et la combinaison avec d'autres stratégies.
Dans l'ensemble, la stratégie d'inversion consécutive vers le bas fournit une idée de trading simple et efficace en saisissant les opportunités d'inversion de marché à court terme pour générer des bénéfices.
En conclusion, la stratégie d'inversion des baisses-hausses consécutives offre une approche simple pour tirer profit des inversions de marché à court terme. Mais dans la mise en œuvre du monde réel, elle nécessite une optimisation et une adaptation appropriées basées sur les conditions du marché et la tolérance individuelle au risque pour maximiser son efficacité en tant que stratégie de trading quantitative.
/*backtest start: 2023-03-02 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bottom Out Strategy", overlay=true) consecutiveBarsUp = input(2) consecutiveBarsDown = input(3) price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 var entry_bar_index = 1000000 var active = false var stop_loss = 0.0 // === INPUT BACKTEST RANGE === i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From") i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru") // === FUNCTION EXAMPLE === date() => true entry_condition() => date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active exit_condition() => date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7)) if (entry_condition()) strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry") entry_bar_index := bar_index active := true stop_loss := math.min(close, close[1], close[2]) // log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss) if (exit_condition()) strategy.close("ConsDnLong", comment = "CDLClose") // log.info("Close at bar {0}", bar_index) entry_bar_index := 1000000 active := false // if (dns >= consecutiveBarsDown) // strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr) plot(high - 2* ta.atr(7))