Stratégie de trading quantitatif de cassure de la moyenne mobile double


Date de création: 2024-02-04 16:06:46 Dernière modification: 2024-02-04 16:06:46
Copier: 0 Nombre de clics: 606
1
Suivre
1617
Abonnés

Stratégie de trading quantitatif de cassure de la moyenne mobile double

Aperçu

La stratégie de rupture de la double ligne est une stratégie de négociation quantitative typique du suivi de la tendance. La stratégie juge la position en calculant des moyennes mobiles simples pour les différentes périodes et en définissant le signal de négociation comme une moyenne mobile de rupture de prix.

Principe de stratégie

La logique de base de la stratégie de rupture à deux vitesses est la suivante:Utiliser des moyennes mobiles de différentes périodes pour capturer les tendances des prix et émettre des signaux de transaction lorsque les prix franchissent les moyennes mobiles

Plus précisément, la stratégie utilise une moyenne mobile simple de 20 jours et une moyenne mobile simple de 60 jours. Ces deux moyennes mobiles peuvent être considérées comme des outils pour capturer les tendances à court terme et à moyen terme respectivement. Lorsque le prix à court terme dépasse le prix à moyen terme, ce qui signifie qu’il est actuellement en tendance à la hausse, il faut faire plus; lorsque le prix à court terme dépasse le prix à moyen terme, ce qui signifie qu’il est actuellement en tendance à la baisse, il faut réduire sa position.

Passé dans le codeta.crossoveretta.crossunderPour déterminer si le prix est supérieur ou inférieur à une moyenne mobile. Lorsqu’il est supérieur ou inférieur à une moyenne mobile, l’instruction est donnée pour augmenter ou diminuer la position.

Avantages stratégiques

Les avantages de cette stratégie sont les suivants:

  1. Le concept est simple, facile à comprendre et à mettre en œuvre.
  2. Il permet de suivre efficacement les tendances du marché et d’éviter d’être influencé par le bruit.
  3. Les paramètres de stratégie sont moins nombreux et plus faciles à optimiser.
  4. Il est possible de choisir avec souplesse la périodicité des moyennes mobiles et d’ajuster la sensibilité au marché.

Risque stratégique

Il y a aussi des risques liés à la stratégie de rupture à deux vitesses:

  1. Lorsque le marché est dans une tendance à la secousse, plusieurs signaux erronés sont générés.
  2. Il est possible de combiner d’autres indicateurs comme filtres.
  3. Les moyennes mobiles étant intrinsèquement laxistes, elles ne peuvent pas anticiper les variations de prix.

Orientation de l’optimisation de la stratégie

Les stratégies de rupture biuniversale peuvent être optimisées dans les dimensions suivantes:

  1. Optimiser les paramètres périodiques des moyennes mobiles pour trouver la meilleure combinaison de paramètres.
  2. Ajout d’autres indicateurs de jugement pour éviter les signaux erronés. Par exemple MACD, KD, etc.
  3. Ajout de logique de stop-loss.
  4. Il s’agit d’une approche de l’analyse des cycles de temps, combinée à des cadres de temps multiples.

Résumer

La stratégie de rupture de double équilibre est une stratégie de suivi de tendance simple et pratique. Elle permet de capturer efficacement les tendances à moyen et long terme sans être perturbée par le bruit du marché à court terme. La stratégie est également facile à comprendre et à mettre en œuvre.

Code source de la stratégie
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 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/
// © Astorhsu

//@version=5
strategy("Astor SMA20/60", overlay=true)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31)  //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)  //回測開始的時間函數

//Indicators
sma10 = ta.sma(close,10)
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")

//進場條件
// trend1 = sma60 > sma20 //假設目前趨勢為60>20
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) 
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) 
    strategy.close("open long20",comment="跌破m20平倉", qty=1)     
    
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) 
    strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) 
    strategy.close("open long60",comment="跌破m60平倉", qty=1)     
    
// longCondition2 = ta.crossover(close, ta.sma(close, 10))
// if (longCondition2) 
//     strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多")


// shortCondition2 = ta.crossunder(close, ta.sma(close, 10))
// if (shortCondition2)
//     strategy.close("open long10",comment="跌破m10平倉", qty=1)