Stratégie de trading de la croix dorée et de la croix morte à double moyenne mobile


Date de création: 2023-10-07 16:39:01 Dernière modification: 2023-10-07 16:39:01
Copier: 0 Nombre de clics: 426
1
Suivre
1226
Abonnés

Aperçu

La stratégie utilise les doubles moyennes mobiles pour déterminer la tendance et émettre des signaux d’achat et de vente. Un signe de vente se produit lorsque la moyenne mobile rapide traverse la moyenne mobile lente par le bas. Un signe de vente se produit lorsque la moyenne mobile rapide traverse la moyenne mobile lente par le haut.

Principe de stratégie

La stratégie est composée des éléments suivants:

  1. La valeur de l’oscillateur est calculée sous la forme d’un pourcentage du prix. La valeur de l’oscillateur est le pourcentage du prix moins une valeur moyenne. La valeur moyenne est calculée par la moyenne, par exemple, des prix les plus élevés et les plus bas des 20 derniers jours.

  2. Calculer une moyenne mobile de la valeur de l’oscillateur, telle que la moyenne mobile de la coque sur 20 jours.

  3. Calculer la valeur de retard de la moyenne mobile, par exemple 12 jours de retard.

  4. Déterminer si la moyenne mobile est en hausse ou en baisse en retardant la moyenne mobile et en produisant un signal de fourche dorée ou de fourche morte.

  5. Les signaux d’achat et de vente sont émis.

Plus précisément, la stratégie commence par calculer la valeur de l’oscillateur du prix, puis la moyenne mobile de l’oscillateur, puis la valeur de la latence de cette moyenne mobile.

Lorsque l’oscillateur traverse la moyenne mobile en retard sur la moyenne mobile, il génère un signal de fourche dorée, faisant plus; lorsque l’oscillateur traverse la moyenne mobile en retard en dessous de la moyenne mobile, il génère un signal de fourche morte, faisant moins.

Ainsi, la direction de la transaction est déterminée en jugeant la croisée des moyennes mobiles binaires.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation de moyennes mobiles doubles pour filtrer les faux signaux améliore la fiabilité du signal.

  2. L’utilisation d’une combinaison de lignes moyennes rapides et lentes pour capturer les tendances intermédiaires. Les lignes moyennes rapides sont sensibles aux variations de prix et les lignes moyennes lentes sont laxatives. L’utilisation de la combinaison permet de capturer les inversions de tendances intermédiaires tout en éliminant le bruit à court terme.

  3. L’utilisation d’oscillateurs peut mettre en évidence les points de rupture et générer des signaux de trading plus précis.

  4. Les algorithmes et paramètres de la moyenne mobile peuvent être personnalisés pour s’adapter à différents environnements de marché.

  5. La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre, adaptée aux débutants.

Analyse des risques

La stratégie présente également les risques suivants:

  1. Le croisement des moyennes mobiles doubles entraîne un retard de signal et peut entraîner la perte de la meilleure position d’entrée.

  2. Les moyennes mobiles doubles sont susceptibles de générer des signaux erronés lors de la correction des marchés.

  3. Il n’est pas possible de déterminer si la tendance est forte ou faible, et il est possible qu’elle se termine prématurément sur un marché haussier.

  4. PARAMETERS est un ensemble de paramètres qui peuvent être modifiés, mais il est difficile d’optimiser pour trouver la meilleure combinaison de paramètres.

  5. Il n’y a pas de mécanisme d’arrêt des pertes, il n’y a pas de contrôle des pertes individuelles.

Direction d’optimisation

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

  1. Optimiser les types et paramètres des moyennes mobiles pour tester la stabilité de différentes combinaisons dans différents marchés.

  2. L’augmentation des indicateurs de jugement de tendance, tels que l’ADX, pour éviter d’ouvrir des transactions inutiles à cause de signaux erronés.

  3. Ajouter des stratégies de stop-loss, comme un stop-loss mobile ou un stop-loss en pourcentage, pour contrôler les pertes individuelles.

  4. La qualité des signaux de trading est améliorée en combinaison avec d’autres indicateurs tels que l’énergie de volume, le RSI, etc.

  5. L’optimisation automatique des paramètres par le biais de l’apprentissage automatique permet une meilleure stabilité des paramètres.

  6. Envisager de modifier les conditions d’admission de manière appropriée pour réduire le risque de manquements.

Résumer

La stratégie de double moyenne mobile, par une combinaison de correspondance rapide et lente, capture le point de basculement de la tendance des prix à moyen terme tout en éliminant le bruit du marché à court terme, afin de produire un signal de négociation. Les avantages de la stratégie sont simples, faciles à mettre en œuvre, faciles à comprendre et conviviaux pour les débutants.

Code source de la stratégie
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EvoCrypto

//@version=4
strategy("Distance Oscillator Strategy- evo", shorttitle="Distance Oscillator Strategy")

// INPUTS {
na_1                =   input(false,    title="────────────{ Oscillator }──────────────")

// Osc_Src             =   input(close,    title="Oscillator Source                                ")

Example_Length      =   input(20,       title="Example Length", minval=1)
Osc_Src             =   (highest(Example_Length) + lowest(Example_Length)) / 2

// Strategy can not let you choose a Moving Average to connect with like the study version, so I use the MA above as example

Osc_Format          =   input("Percent",title="Oscillator Format",              options=["Percent", "Currency"]) 

na_2                =   input(false,    title="─────────────{ Average }──────────────")
Average_Type        =   input("Hull",   title="Average Type",                   options=["Hull", "Sma", "Ema", "Wma"])
Length              =   input(50,       title="Average Length", minval=1)
Lagg                =   input(12,       title="Average Lagg",   minval=1)
Display_MA          =   input(true,     title="Display Average")
// }

// SETTINGS {
Osc_Sum             =   
 Osc_Format == "Percent"  ? (close - Osc_Src) / close * 100 :
 Osc_Format == "Currency" ? (close - Osc_Src)               : na

Osc_MA              =   Display_MA == false ? na:
 Average_Type == "Hull"? hma(Osc_Sum, Length)   :
 Average_Type == "Sma" ? sma(Osc_Sum, Length)   :
 Average_Type == "Ema" ? ema(Osc_Sum, Length)   :
 Average_Type == "Wma" ? wma(Osc_Sum, Length)   : na
Osc_MA_1            =   Osc_MA[Lagg]

Cross_Up            =   crossover( Osc_MA, Osc_MA_1)
Cross_Down          =   crossunder(Osc_MA, Osc_MA_1)

Osc_Color           =   Osc_Sum > 0         ? color.new(#bbdefb, 70)  : Osc_Sum < 0          ? color.new(#000000, 70)  : na
Average_Color       =   Osc_MA  > Osc_MA_1  ? color.new(#311b92, 100) : Osc_MA  < Osc_MA_1   ? color.new(#b71c1c, 100) : na
// }

// PLOT {
plot(Osc_Sum,                           title="Oscillator", color=Osc_Color, style=plot.style_histogram, linewidth=2)

Plot_0              =   plot(Osc_MA,    title="Osc Average",color=#b71c1c, linewidth=2)
Plot_1              =   plot(Osc_MA_1,  title="Osc Average",color=#311b92, linewidth=2)
fill(Plot_0, Plot_1,                    title="Average",    color=Average_Color)

plotshape(Cross_Up   ? Osc_MA_1 : na,   title="Cross Up",   color=#bbdefb, location=location.absolute, size=size.tiny, style=shape.circle)
plotshape(Cross_Down ? Osc_MA_1 : na,   title="Cross Down", color=#000000, location=location.absolute, size=size.tiny, style=shape.circle)
// }

// STRATEGY {
if (Cross_Up)
    strategy.entry("Long", strategy.long)
if (Cross_Down)
    strategy.entry("Short", strategy.short)
// }