Stratégie de moyenne mobile double GM-8 et ADX

ADX EMA
Date de création: 2024-04-30 15:50:57 Dernière modification: 2024-04-30 15:50:57
Copier: 6 Nombre de clics: 278
1
Suivre
1166
Abonnés

Stratégie de moyenne mobile double GM-8 et ADX

Aperçu

La stratégie GM-8 & ADX est une stratégie de négociation quantitative qui combine plusieurs indicateurs techniques. Cette stratégie utilise l’indicateur GM-8, l’indicateur ADX et un deuxième indicateur EMA pour identifier les signaux d’achat et de vente potentiels. L’indicateur GM-8 est utilisé pour déterminer la tendance des prix, l’indicateur ADX est utilisé pour confirmer la force de la tendance et le deuxième indicateur EMA est utilisé pour aider à déterminer la direction de la tendance.

Principe de stratégie

Les principes de la stratégie GM-8 & ADX sont les suivants:

  1. Calculer l’indicateur GM-8 pour déterminer la tendance des prix. Lorsqu’un prix de clôture franchit la ligne moyenne GM-8 en haut / en bas, cela indique que la tendance peut être inversée.
  2. Calculer l’indicateur ADX, utilisé pour confirmer la force de la tendance. Lorsque l’indicateur ADX est supérieur à la marge (par exemple 34), indiquant que la tendance actuelle est forte, l’entrée peut être envisagée.
  3. Calculer la deuxième EMA pour aider à déterminer la direction de la tendance. Lorsque le prix est au-dessus de la deuxième EMA, il a tendance à faire plus; au contraire, il a tendance à faire moins.
  4. L’ensemble des GM-8, de l’ADX et de la deuxième EMA génère un signal d’achat et de vente:
    • Faire plus de signaux: le GM-8 est en ligne moyenne sur le prix de clôture actuel et est supérieur au GM-8 et à la deuxième EMA, tandis que l’ADX est supérieur à la marge.
    • Signaux de rupture: la GM-8 est en dessous de la GM-8 et de la deuxième EMA, et l’ADX est au-dessus de la marge.
  5. Une fois sur le terrain, un signal de “tenir jusqu’à la sortie” apparaît:
    • Signal de Pindo: la GM-8 est en dessous de la GM-8 et traverse la GM-8 en dessous de la GM-8 au cours de clôture.
    • Signaux d’espace plat: la GM-8 est en ligne moyenne sur le prix de clôture actuel et est supérieure à la GM-8.

Avantages stratégiques

  1. La combinaison de plusieurs indicateurs améliore la fiabilité du signal: la stratégie prend en compte l’indicateur de tendance (GM-8), l’indicateur de force de tendance (ADX) et l’indicateur de direction de tendance (EMA), ce qui permet de filtrer efficacement certains faux signaux.
  2. Les paramètres sont réglables et très flexibles: les paramètres de la stratégie, tels que le cycle GM-8, le cycle ADX, le seuil ADX, le deuxième cycle EMA, etc., peuvent être ajustés en fonction des caractéristiques du marché et des préférences personnelles pour s’adapter à différents styles de négociation.
  3. Logique claire et facile à mettre en œuvre: La logique de négociation de la stratégie est relativement simple et claire, facile à comprendre et à mettre en œuvre, ce qui convient aux traders débutants.

Risque stratégique

  1. Décalage d’identification de la tendance: les indicateurs de la catégorie tendance tels que le GM-8 sont essentiellement des indicateurs en retard. Il peut y avoir un retard dans l’identification de la tendance, ce qui entraîne le manque d’une opportunité d’entrée optimale ou l’augmentation des pertes.
  2. La fréquence des transactions: Cette stratégie a un nombre relativement élevé de signaux d’achat et de vente, ce qui peut entraîner des transactions fréquentes, augmenter les frais de commissions et peut se révéler peu efficace en cas de choc.
  3. Difficulté de sélection des paramètres: la stratégie contient plusieurs paramètres et la recherche de la combinaison optimale de paramètres nécessite beaucoup de travail de rétroaction et d’analyse, ce qui peut être difficile pour les débutants.

Orientation de l’optimisation de la stratégie

  1. L’introduction de conditions de filtrage supplémentaires: en plus des GM-8, ADX et EMA, d’autres indicateurs auxiliaires peuvent être ajoutés, tels que le trafic, le taux d’oscillation, etc., pour améliorer encore la qualité du signal.
  2. Optimisation des délais d’entrée et de sortie: des méthodes telles que la création progressive de positions et l’arrêt progressif des pertes peuvent être envisagées pour réduire le risque d’une seule transaction et améliorer la rentabilité globale.
  3. Paramètres d’ajustement dynamique: paramètres de stratégie d’ajustement dynamique en fonction de l’évolution de l’état du marché, tels que l’utilisation d’un cycle GM-8 plus long dans un marché tendanciel, l’utilisation d’un cycle GM-8 plus court dans un marché en crise, etc.
  4. Adhésion à la gestion des positions: contrôle de la taille des positions pour chaque transaction en fonction de la situation des fonds du compte, des préférences en matière de risque, etc., afin d’éviter une concentration excessive du risque.

Résumer

La stratégie GM-8 & ADX est une stratégie classique de trading quantitatif qui identifie les signaux d’achat et de vente en combinant plusieurs indicateurs techniques. L’avantage de cette stratégie réside dans la simplicité de la logique, la clarté des signaux et la fiabilité relative.

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

//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)

// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")

// Calculate the ADX manually
adx(high, low, close, length) =>
    sum_truerange = 0.0
    sum_plusDM = 0.0
    sum_minusDM = 0.0
    for i = 1 to length
        truerange_calc = high[i] - low[i]
        truerange_prev_close = high[i] - close[i-1]
        truerange_close = low[i] - close[i-1]
        truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
        truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
        sum_truerange := sum_truerange + truerange_calc
        plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
        sum_plusDM := sum_plusDM + plusDM
        minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
        sum_minusDM := sum_minusDM + minusDM
    plusDI = sum_plusDM / sum_truerange * 100
    minusDI = sum_minusDM / sum_truerange * 100
    sumDI = plusDI + minusDI
    adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)

// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)

// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold

// Entry and exit logic
if (buy_condition)
    strategy.entry("Buy", strategy.long, qty=lot_size)

if (sell_condition)
    strategy.entry("Sell", strategy.short, qty=lot_size)

// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8

if (exit_buy_condition)
    strategy.close("Buy")

if (exit_sell_condition)
    strategy.close("Sell")