Stratégie de trading de retournement continu des chandeliers avec retour à la moyenne

EMA MR ENTRY EXIT FILTER Trend
Date de création: 2025-02-19 10:51:35 Dernière modification: 2025-02-19 10:51:35
Copier: 2 Nombre de clics: 430
1
Suivre
1617
Abonnés

Stratégie de trading de retournement continu des chandeliers avec retour à la moyenne

Aperçu

Il s’agit d’une stratégie de négociation basée sur la régression de la valeur moyenne, qui permet de capturer des occasions de revers de prix à court terme en identifiant les formes de lignes K à la baisse et à la hausse. La logique centrale de la stratégie est d’entrer plus après 3 lignes K à la baisse consécutives et de sortir plus après 3 lignes K à la hausse consécutives. La stratégie peut également être combinée de manière sélective avec le filtre de ligne uniforme EMA pour améliorer la qualité des transactions.

Principe de stratégie

La stratégie repose sur les éléments fondamentaux suivants :

  1. Compteur de lignes K en continu: statistique du nombre de lignes K en hausse et en baisse en continu
  2. Condition d’entrée: déclencher un signal de multiplication lorsque le prix de clôture est en baisse de la ligne K avec une quantité spécifiée (la ligne 3 par défaut)
  3. Conditions de sortie: déclencher un signal de clôture lorsque la ligne K est en hausse avec une quantité spécifiée de clôture (la ligne 3 par défaut)
  4. Filtre EMA: ajout sélectif d’une moyenne mobile à 200 cycles comme condition de filtrage de tendance
  5. Fenêtre de temps de transaction: vous pouvez définir des heures de début et de fin spécifiques pour limiter la plage de transactions

Avantages stratégiques

  1. La logique est simple et claire: les stratégies utilisent une méthode simple de comptage des lignes K, facile à comprendre et à mettre en œuvre
  2. Adaptabilité: peut être appliquée à différentes périodes de temps et variétés de transactions
  3. Flexibilité des paramètres: le nombre de lignes K en continu, les cycles EMA, etc. peuvent être ajustés en fonction des besoins
  4. Contrôle des risques: contrôle des risques par des mécanismes multiples tels que les fenêtres de temps et le filtrage des tendances
  5. Une grande efficacité de calcul: la logique centrale ne nécessite que la comparaison des prix de clôture des lignes K adjacentes, avec une charge d’exploitation réduite

Risque stratégique

  1. Risque de marché tendanciel: il est possible de rencontrer de fréquentes fausses percées dans les marchés tendanciels.
  2. Sensitivité des paramètres: la définition du nombre de lignes K consécutives a un impact significatif sur les performances de la stratégie
  3. Effets de dérapage: risque de dérapage plus élevé dans un marché très volatile
  4. Risque de faux signaux: la forme continue de la ligne K peut être perturbée par le bruit du marché
  5. La stratégie ne dispose pas d’un mécanisme d’arrêt explicite, ce qui peut entraîner un retrait plus important.

Orientation de l’optimisation de la stratégie

  1. Ajout d’un mécanisme de stop-loss: il est recommandé d’ajouter un stop-loss fixe ou un stop-loss suivi pour contrôler les risques
  2. Optimisation des conditions de filtrage: des indicateurs tels que le trafic, la volatilité peuvent être introduits comme filtrage auxiliaire
  3. Ajustement des paramètres dynamiques: considérer le nombre de lignes K en continu requises pour un ajustement dynamique en fonction des conditions du marché
  4. Augmentation de la gestion des stocks: des mécanismes de construction et de réduction des stocks en lots peuvent être conçus pour augmenter les revenus
  5. Amélioration de la gestion du temps: paramètres de transaction différents pour différentes périodes

Résumer

Il s’agit d’une stratégie de régression de la valeur moyenne conçue de manière rationnelle pour tirer profit des occasions de rebond à court terme. Le principal avantage de la stratégie réside dans sa simplicité logique et son adaptabilité, mais dans la pratique, il faut veiller à la maîtrise des risques. Il est recommandé d’améliorer la stabilité de la stratégie en ajoutant des mécanismes de stop-loss et en optimisant les conditions de filtrage.

Code source de la stratégie
/*backtest
start: 2025-01-19 00:00:00
end: 2025-02-18 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("3 Down, 3 Up Strategy", overlay=true, initial_capital = 1000000, default_qty_value = 200, default_qty_type = strategy.percent_of_equity, process_orders_on_close = true, margin_long = 5, margin_short = 5, calc_on_every_tick = true)


//#region INPUTS SECTION
// ============================================
// Time Settings
// ============================================
startTimeInput = input(timestamp("1 Jan 2014"), "Start Time", group = "Time Settings")
endTimeInput = input(timestamp("1 Jan 2099"), "End Time", group = "Time Settings")
isWithinTradingWindow = true

// ============================================
// Strategy Settings
// ============================================
buyTriggerInput = input.int(3, "Consecutive Down Closes for Entry", minval = 1, group = "Strategy Settings")
sellTriggerInput = input.int(3, "Consecutive Up Closes for Exit", minval = 1, group = "Strategy Settings")

// ============================================
// EMA Filter Settings
// ============================================
useEmaFilter = input.bool(false, "Use EMA Filter", group = "Trend Filter")
emaPeriodInput = input.int(200, "EMA Period", minval = 1, group = "Trend Filter")
//#endregion

//#region INDICATOR CALCULATIONS
// ============================================
// Consecutive Close Counter
// ============================================
var int aboveCount = na
var int belowCount = na

aboveCount := close > close[1] ? (na(aboveCount) ? 1 : aboveCount + 1) : 0
belowCount := close < close[1] ? (na(belowCount) ? 1 : belowCount + 1) : 0

// ============================================
// Trend Filter Calculation
// ============================================
emaValue = ta.ema(close, emaPeriodInput)
//#endregion

//#region TRADING CONDITIONS
// ============================================
// Entry/Exit Logic
// ============================================
longCondition = belowCount >= buyTriggerInput and isWithinTradingWindow
exitCondition = aboveCount >= sellTriggerInput

// Apply EMA Filter if enabled
if useEmaFilter
    longCondition := longCondition and close > emaValue
//#endregion

//#region STRATEGY EXECUTION
// ============================================
// Order Management
// ============================================
if longCondition
    strategy.entry("Long", strategy.long)
    
if exitCondition
    strategy.close_all()
//#endregion