La force de la tendance confirme la stratégie des barres

Auteur:ChaoZhang est là., Date: 2024-01-16 15h22 et 53 min
Les étiquettes:

img

Résumé: Cette stratégie juge la direction de la tendance en fonction de la direction du prix de clôture de N bougies consécutives. Les signaux de trading sont générés lorsque les prix de clôture de N bougies consécutives répondent à la condition. La taille de N est définie par le paramètre d'entrée confirmBars. Cette stratégie utilise principalement la direction des prix de clôture de N bougies consécutives pour déterminer la force de la tendance.

Principe:
La stratégie suit la relation entre les prix de clôture du dernier chandelier et le précédent pour juger de la force des hausses et baisses de prix.

Lorsque bcount atteint la valeur définie par confirmBars, cela signifie que les prix de clôture des bougies consécutives confirmBars ont augmenté, générant un signal d'achat. Lorsque scount atteint la valeur définie par confirmBars, cela signifie que les prix de clôture des bougies consécutives confirmBars ont chuté, générant un signal de vente.

En jugeant de la direction des prix de clôture de plusieurs chandeliers consécutifs, les fluctuations à court terme du marché peuvent être efficacement filtrées et les signaux de négociation ne sont générés que sous des tendances de force relativement importante.

Analyse des avantages:

  1. Filtrer efficacement le bruit et confirmer les tendances
    Cette stratégie exige que les prix de clôture de N chandeliers consécutifs répondent aux conditions avant de générer des signaux de négociation.

  2. Paramètres de résistance de filtration réglables En ajustant la taille du paramètre confirmBars, la force des fluctuations de prix de filtrage peut être contrôlée.

Analyse des risques:

  1. Peut manquer les premières opportunités de tendance La stratégie nécessite plusieurs bougies consécutives de clôture des prix pour répondre aux conditions avant de générer des signaux, de sorte qu'il manque souvent les premières opportunités de tendance et ne peut pas suivre les tendances en temps opportun.

  2. Prédisposé à l'arrêt des pertes Lorsque le nombre de confirmations confirmées est trop élevé, il est facile de se laisser induire en erreur par des lignes inversées à court terme au début de la tendance, ce qui entraîne des ruptures de stop loss.

Directions d' optimisation:

  1. Filtrer les fausses éruptions par d'autres indicateurs
    D'autres indicateurs techniques tels que les bandes de Bollinger et le RSI peuvent être utilisés pour effectuer un filtrage secondaire des signaux d'achat et de vente afin de réduire la possibilité de fausses ruptures.

  2. Réglage dynamique des paramètres Essayez d'ajuster dynamiquement le paramètre confirmBars en fonction des conditions du marché. Augmentez la valeur du paramètre sur les marchés volatils pour filtrer le bruit; diminuez la valeur du paramètre lorsque la tendance est évidente pour suivre la tendance.

Résumé:
Cette stratégie a pour effet de filtrer les chocs et de confirmer les tendances en jugeant la direction des prix de clôture de plusieurs bougies consécutives. Elle peut réduire efficacement les transactions erronées causées par les fluctuations à court terme du marché et ne générer des signaux de trading que lorsque les tendances sont évidentes. En ajustant la taille du paramètre confirmBars, les utilisateurs peuvent équilibrer la relation entre les effets de filtrage et la capture des opportunités de tendance. Cependant, cette stratégie est susceptible d'être arrêtée tôt au début de la tendance et ne parvient pas à suivre les tendances en continu. Il est recommandé d'optimiser avec d'autres indicateurs ou d'essayer un ajustement dynamique des paramètres pour obtenir de meilleurs rendements.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Confirm Bars Strategy [TS Trader]", overlay=true)

confirmBars = input(1)

// === INPUT BACKTEST RANGE ===
fromYear = input.int(2019, title="Backtest Start Year")
fromMonth = input.int(1, title="Backtest Start Month", minval=1, maxval=12)
fromDay = input.int(1, title="Backtest Start Day", minval=1, maxval=31)
toYear = input.int(2023, title="Backtest End Year")
toMonth = input.int(12, title="Backtest End Month", minval=1, maxval=12)
toDay = input.int(31, title="Backtest End Day", minval=1, maxval=31)

startTimestamp = timestamp(fromYear, fromMonth, fromDay, 00, 00)
endTimestamp = timestamp(toYear, toMonth, toDay, 23, 59)

inBacktestRange = true

// === STRATEGY LOGIC ===
bcount = 0
bcount := close[1] < close ? nz(bcount[1]) + 1 : 0
if (bcount == confirmBars and inBacktestRange)
    strategy.entry("Buy", strategy.long, comment="Long")

scount = 0
scount := close[1] > close ? nz(scount[1]) + 1 : 0
if (scount == confirmBars and inBacktestRange)
    strategy.entry("Sell", strategy.short, comment="Short")

Plus de