Stratégie de momentum intégrée au cycle


Date de création: 2023-09-20 14:59:37 Dernière modification: 2023-09-20 14:59:37
Copier: 1 Nombre de clics: 652
1
Suivre
1617
Abonnés

Aperçu

L’idée centrale de cette stratégie est de déterminer la direction de la tendance en utilisant la forme de la ligne K entre les cycles contenue dans la courbe, et de l’utiliser comme signal d’entrée. Lorsqu’une forme entre les cycles contenue dans la courbe K précédente apparaît, nous pouvons déduire qu’il s’agit d’un moment de conversion de tendance.

Principe de stratégie

  1. La logique de jugement est la suivante: le sommet de la ligne K actuelle est inférieur au sommet de la ligne K précédente, et le bas de la ligne K actuelle est supérieur au bas de la ligne K précédente.

  2. Si le prix de clôture est supérieur au prix d’ouverture, il est en hausse; si le prix de clôture est inférieur au prix d’ouverture, il est en baisse.

  3. Si la ligne K précédente est tendance et qu’il y a une tendance inter-cyclique implicite, nous définissons un stop-order à 10% de la hauteur de la ligne K précédente.

  4. Si la ligne K précédente est baissière et qu’il y a une tendance entre les cycles, nous définissons un ordre de stop à 10% de la ligne K précédente.

  5. Une fois que le stop-loss est déclenché, nous définissons un stop-loss et un stop-stop. La distance de stop-loss et la distance de stop-stop sont respectivement proportionnelles à l’amplitude de la ligne K précédente.

  6. Si la forme entre les cycles d’inclusion apparaît à nouveau, nous allons donner la priorité à la liquidation, puis remettre en place une nouvelle liste de clôture.

Analyse des forces stratégiques

Les avantages de cette stratégie sont les suivants:

  1. L’introduction est plus précise en utilisant la logique intrinsèque de la ligne K. La forme intrinsèque entre les cycles signifie souvent un renversement ou une accélération imminente de la tendance, ce qui nous offre une meilleure entrée.

  2. Les règles de la stratégie sont claires, faciles à comprendre et à appliquer.

  3. Le risque peut être contrôlé en utilisant la position de stop-loss de la période précédente.

  4. Chaque fois qu’une nouvelle page apparaît, elle est réinitialisée pour suivre la nouvelle tendance.

Analyse stratégique des risques

Cette stratégie comporte aussi des risques:

  1. La forme implicite entre les cycles ne conduit pas nécessairement à un renversement ou à une accélération de la tendance, et il existe un certain risque de faux signaux.

  2. La distance d’arrêt peut être trop petite pour résister à une forte secousse.

  3. La distance d’arrêt peut être trop grande pour générer des bénéfices en temps opportun.

  4. La stratégie est plus axée sur les tendances, avec une marge de profit limitée dans le contexte de consolidation.

  5. Les transactions peuvent être trop fréquentes et coûteuses.

La réponse:

  1. Les signaux de confirmation peuvent être combinés avec d’autres indicateurs contenus dans le filtre entre les cycles, réduisant le taux de faux signaux.

  2. La distance d’arrêt peut être allégée de manière appropriée, mais pas plus de 50% de l’amplitude de la ligne K précédente.

  3. On peut réduire la distance entre l’arrêt et la ligne K précédente d’environ 50%.

  4. Optimiser la gestion des fonds, réduire les positions individuelles et faire face à la liquidation.

  5. La libéralisation des conditions d’entrée et la réduction du nombre de transactions

Orientation de l’optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Combiner les indicateurs de tendance pour déterminer la direction de la tendance et éviter de négocier fréquemment lors de la consolidation. Par exemple, l’adhésion à la tendance de détermination du MACD ne peut être envisagée que lorsque le MACD est dans la même direction.

  2. Optimiser les stratégies d’arrêt de perte, en utilisant des méthodes telles que l’arrêt mobile ou l’arrêt de protection des bénéfices, afin de rendre l’arrêt plus souple.

  3. Testez différents paramètres de stop-loss pour trouver la combinaison optimale.

  4. La réintégration est un mécanisme de réintégration qui permet de réattraper la tendance après une sortie à perte.

  5. Optimiser la gestion des positions, en ajustant les positions individuelles en fonction de la volatilité du marché.

  6. Optimisation de la gestion des fonds, par exemple le taux d’utilisation des fonds fixes.

  7. Tester l’efficacité de la stratégie sur différentes variétés et périodes.

Résumer

Dans l’ensemble, il s’agit d’une stratégie qui utilise les points de basculement de la tendance pour déterminer la forme contenue entre les cycles et définir des lignes de clôture pour capturer les tendances inverses. Elle présente des avantages tels que la clarté du moment d’entrée, la simplicité des règles de la stratégie, le risque maîtrisable, mais il existe également un certain risque de faux signal et de marge d’optimisation.

Code source de la stratégie
/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// Inside Bar Momentum Strategy
// As defined on Babypips.com
// https://www.babypips.com/trading/forex-inside-bar-20170113

// strategy("Babypips: Inside Bar Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=5)

From_Year  = input(defval = 2018, title = "From Year")
From_Month = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
From_Day   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
To_Year    = input(defval = 9999, title = "To Year")
To_Month   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
To_Day     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
Start  = timestamp(From_Year, From_Month, From_Day, 00, 00)  // backtest start window
Finish = timestamp(To_Year, To_Month, To_Day, 23, 59)        // backtest finish window
Window = true

Stop_Buy_Perc  = input(10, "Stop Buy Order Percentage From Previous Candle's Range")/100
Stop_Loss_Perc = input(20, "Stop Loss Distance from High/Low of Previous Candle")/100
Take_Prof_Perc = input(80, "Take Profit Distance from High/Low of Previous Candle")/100

Risk = input(2, "Percentage Of EQUITY to risk per trade", step=0.1, minval=0, maxval=100)/100

Inside_Bar = high[1] > high[0] and low[1] < low[0]
Prev_Range = high[1] - low[1]
Bullish = open[1] < close[1]
Bearish = open[1] > close[1]

// Get Key Levels 
Long_Stop_Buy_Level   = high[1] + (Prev_Range * Stop_Buy_Perc)
Short_Stop_Buy_Level  = low[1]  - (Prev_Range * Stop_Buy_Perc)
Long_Stop_Loss_Level  = high[1] - (Prev_Range * Stop_Loss_Perc)
Short_Stop_Loss_Level = low[1]  + (Prev_Range * Stop_Loss_Perc)
Long_Take_Prof_Level  = high[1] + (Prev_Range * Take_Prof_Perc)
Short_Take_Prof_Level = low[1]  - (Prev_Range * Take_Prof_Perc)

// Position Sizing
long_qty = floor((strategy.equity * Risk) / (Long_Stop_Buy_Level - Long_Stop_Loss_Level))
short_qty = floor((strategy.equity * Risk) / (Short_Stop_Loss_Level - Short_Stop_Buy_Level))

// -------------------------- LONG CONDITIONS --------------------------------//
// The first candlestick must be bullish (green or white) and if the second 
// candlestick is completely contained by the first, set a buy stop order at 
// the first candle’s high plus 10% of its range (high minus low).

// Place the stop loss at the first candle’s high minus 20% of its range 
// and set the target at the first candle’s high plus 80% of its range

// If another inside bar pattern forms, the current position should be closed 
// or the pending buy/sell order must be canceled and entry orders must be 
// updated to the latest candles.

Long_Condition = Window and Inside_Bar and Bullish
if (Long_Condition)
    // Incase we still have a buy stop order in the market
    strategy.cancel_all()
    // Close any existing positions according to the rules
    strategy.close_all()
    strategy.entry("Bullish IB", strategy.long, stop=Long_Stop_Buy_Level)
    strategy.exit("Bullish Exit","Bullish IB", stop=Long_Stop_Loss_Level, limit=Long_Take_Prof_Level)
    
// -------------------------- SHORT CONDITIONS -------------------------------//
// The first candlestick must be bearish (red or black) and if the second 
// candlestick is completely contained by the first, set a sell stop order at 
// the first candle’s low minus 10% of its range (high minus low).

// Place the stop loss at the first candle’s low plus 20% of its range and 
// set the target at the first candle’s low minus 80% of its range.

// If another inside bar pattern forms, the current position should be closed 
// or the pending buy/sell order must be canceled and entry orders must be 
// updated to the latest candles.

Short_Condition = Window and Inside_Bar and Bearish
if (Short_Condition)
    // Incase we still have a buy stop order in the market
    strategy.cancel_all()
    // Close any existing positions according to the rules
    strategy.close_all()
    strategy.entry("Bearish IB", strategy.short, stop=Short_Stop_Buy_Level)
    strategy.exit("Bearish Exit","Bearish IB", stop=Short_Stop_Loss_Level, limit=Short_Take_Prof_Level)
    
// ----------------------------- PLOTTING ------------------------------------//
plotshape(Inside_Bar, style=shape.arrowdown, location=location.abovebar, color=purple)