Stratégie de trading quantitative basée sur le croisement de moyennes mobiles et le modèle intraday K-line


Date de création: 2024-02-29 12:07:21 Dernière modification: 2024-02-29 12:07:21
Copier: 0 Nombre de clics: 636
1
Suivre
1617
Abonnés

Stratégie de trading quantitative basée sur le croisement de moyennes mobiles et le modèle intraday K-line

Aperçu

Cette stratégie est basée sur la croisée de la moyenne mobile de 9 jours et de la moyenne mobile de 15 jours, ainsi que sur certaines formes typiques de la ligne K de la journée. Lorsque vous traversez la ligne lente sur la ligne rapide et que certaines conditions d’angle et certaines formes de la ligne K sont remplies, faites plus; lorsque vous traversez la ligne lente en dessous de la ligne rapide, faites moins.

Principe de stratégie

Lorsque la courte moyenne mobile est portée au-dessus de la courte moyenne mobile (ligne de 9 jours) par rapport à la longue moyenne mobile (ligne de 15 jours), cela signifie que la hausse des prix à court terme est plus forte et plus forte; lorsque la courte moyenne mobile est portée en dessous de la moyenne mobile à long terme, cela signifie que la baisse des prix à court terme est plus forte et vide. En outre, l’angle de la moyenne mobile doit être supérieur à 30 degrés pour assurer une dynamique de hausse ou de baisse suffisante.

Cette stratégie utilise principalement la fonction de suivi des tendances des moyennes mobiles et certaines caractéristiques de la forme de la ligne K, qui peut s’adapter aux variétés de différents marchés en ajustant les paramètres.

Analyse des avantages

La stratégie combine l’indicateur de la moyenne mobile et le jugement de la forme de la ligne K au cours de la journée pour filtrer efficacement une partie du bruit et rendre le signal de négociation plus fiable. En particulier, le jugement de la dépréciation d’angle est ajouté pour garantir que le signal n’est émis que lorsque la dynamique des variations de prix est suffisamment importante, évitant ainsi de faux signaux inutiles. De plus, la stratégie définit des niveaux de stop-loss et de stop-stop qui permettent de réduire automatiquement la perte maximale du singulier et de réaliser des retraits rentables.

Les moyennes mobiles, en tant qu’indicateur de suivi de tendance, permettent de saisir les tendances des prix à moyen et long terme. La forme de la ligne K dans la journée reflète le rapport de force entre les acteurs du marché à court terme. En combinaison, l’utilisation permet d’obtenir des astuces de trading sur différentes échelles de temps.

Analyse des risques

Les risques potentiels de cette stratégie sont principalement les suivants:

  1. Risque de fausse rupture. Les moyennes mobiles peuvent être croisées à plusieurs reprises lorsque le marché est dans un état de tremblement de terre, et la plupart des signaux émis en fonction de la croisée sont des faux signaux. Il n’est pas possible de tirer profit à ce moment-là, mais il est possible d’être piégé.

  2. Risque de renversement de tendance. Les moyennes mobiles sont utilisées comme indicateur de suivi de la tendance et ne peuvent pas donner de signal préalable en cas de renversement de tendance.

  3. Risque d’optimisation des paramètres. Les variétés de marché peuvent avoir une adaptation différente aux paramètres. L’utilisation directe d’une combinaison de paramètres sans ajustement peut également entraîner des pertes.

Dans l’ensemble, cette stratégie peut générer un certain risque de faux signaux et de poursuite des hauts et des bas en l’absence de jugement sur l’environnement de marché. Ces risques peuvent être optimisés et atténués en ajoutant des jugements sur les tendances à grande échelle et les caractéristiques quantitatives des prix.

Direction d’optimisation

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

  1. Augmenter le jugement sur les tendances à grande échelle. Par exemple, vérifier si la ligne longue est dans une voie ascendante ou descendante, éviter les échanges contraires.

  2. L’analyse des indicateurs de capacité quantitative est ajoutée. Par exemple, l’indicateur de taux de Communication peut déterminer la direction de la force d’achat et de vente, évitant ainsi de faire un prix de dépréciation des actions à taux élevé ou de faire un prix d’actions à taux très bas.

  3. En combinant les fondamentaux de l’action, il est possible d’augmenter le taux de victoire en choisissant des actions individuelles dont les résultats sont attendus positifs et dont la performance est en croissance constante.

  4. Optimiser la combinaison de paramètres d’un système de moyennes mobiles. Vous pouvez essayer des moyennes de différentes longueurs de cycle, ou ajouter des moyennes triangulaires, des moyennes quinquagénaires, etc., pour construire un système de négociation avec plus d’espace d’ajustement des paramètres.

  5. Tester différents paramètres de stop-loss et de stop-loss. Selon les résultats des tests de retour, définir le coefficient de prise de risque afin d’obtenir le meilleur rapport risque/bénéfice.

L’optimisation de plusieurs de ces axes peut permettre d’attendre une amélioration significative du niveau de rentabilité et de la stabilité de la stratégie.

Résumer

Dans l’ensemble, cette stratégie intègre les avantages de l’indicateur de la moyenne mobile et de la forme de la ligne K partielle dans la journée. Les conditions sont plus strictes lors de l’émission du signal de négociation et peuvent filtrer une grande quantité de bruit, ce qui améliore considérablement la qualité du signal traversé.

La prochaine étape consiste à optimiser les paramètres pour améliorer encore la rentabilité et la rentabilité de la stratégie. L’ajout de plus d’indicateurs peut également renforcer la solidité de l’ensemble du système de négociation. Après une simulation rigoureuse en temps réel, la stratégie devrait devenir un outil de quantification efficace pour générer des bénéfices stables.

Code source de la stratégie
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover Strategy with Candlestick Patterns", overlay=true)

// Define input parameters
fast_length = input(9, "Fast MA Length")
slow_length = input(15, "Slow MA Length")
stop_loss_percent = input(0.25, "Stop Loss (%)")
target_percent = input(0.25, "Target (%)")
angle_threshold = input(30, "Angle Threshold (degrees)")

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Define candlestick patterns
is_pin_bar() =>
    pin_bar = abs(open - close) > 2 * abs(open[1] - close[1])
    high_tail = max(open, close) - high > abs(open - close) * 1.5
    low_tail = low - min(open, close) > abs(open - close) * 1.5
    pin_bar and high_tail and low_tail

is_marubozu() =>
    marubozu = abs(open - close) > abs(open[1] - close[1]) * 0.75
    no_upper_shadow = high == max(open, close)
    no_lower_shadow = low == min(open, close)
    marubozu and no_upper_shadow and no_lower_shadow

is_full_body() =>
    full_body = abs(open - close) > abs(open[1] - close[1]) * 0.95
    full_body

// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Calculate angle of slow moving average
ma_angle = abs(180 * (atan(slow_ma[1] - slow_ma) / 3.14159))

// Generate buy/sell signals based on angle condition and candlestick patterns
buy_signal = crossover(fast_ma, slow_ma) and ma_angle >= angle_threshold and (is_pin_bar() or is_marubozu() or is_full_body())
sell_signal = crossunder(fast_ma, slow_ma)

// Calculate stop-loss and target levels
stop_loss_level = close * (1 - stop_loss_percent / 100)
target_level = close * (1 + target_percent / 100)

// Execute trades based on signals with stop-loss and target
strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.exit("Exit", "Buy", stop=stop_loss_level, limit=target_level)

// Plot buy/sell signals on chart (optional)
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Plot angle line
hline(angle_threshold, "Angle Threshold", color=color.black, linestyle=hline.style_dashed)