Stratégie classique de croisement à double moyenne mobile


Date de création: 2023-10-27 16:47:30 Dernière modification: 2023-10-27 16:47:30
Copier: 0 Nombre de clics: 683
1
Suivre
1617
Abonnés

Stratégie classique de croisement à double moyenne mobile

Aperçu

La stratégie de la bi-équilibre est une stratégie d’analyse technique très classique et couramment utilisée. Elle utilise le croisement d’une moyenne mobile rapide et d’une moyenne mobile lente comme signal d’achat et de vente.

Principe de stratégie

Le code de la stratégie comprend principalement les éléments suivants:

  1. Définition de la longueur et du type de la moyenne rapide: la longueur de la moyenne rapide est de 5 cycles, la longueur de la moyenne lente est de 21 cycles, toutes utilisant une moyenne mobile simple.

  2. Calculer la ligne rapide et la ligne lente: calculer une moyenne mobile simple de 5 cycles et de 21 cycles avec la fonction sma.

  3. Graphique: tracer le tracé de la ligne rapide et de la ligne lente.

  4. Définition des conditions d’achat et de vente: achat en ligne rapide et vente en ligne lente.

  5. Exécution des transactions: les fonctions long et short de la stratégie exécutent automatiquement les opérations d’achat et de vente lorsque les conditions sont remplies.

La clé de cette stratégie est d’utiliser une combinaison de lignes moyennes de différentes longueurs de cycle pour former des lignes moyennes rapides et lentes et de les utiliser comme signaux de négociation. Les lignes rapides peuvent capturer plus rapidement les variations de prix et les lignes lentes peuvent mieux refléter les tendances à long terme.

Analyse des avantages

Les avantages d’une stratégie de double croisement sont les suivants:

  1. Le principe est simple, facile à maîtriser et adapté aux débutants.

  2. Opération en cours, suivi de la tendance des prix, retraits mineurs.

  3. La fréquence des transactions doit être modérée et ne doit pas être trop fréquente.

  4. Paramètres personnalisables, adaptés aux changements du marché.

  5. Il est facile d’optimiser pour trouver la combinaison de paramètres qui vous convient.

  6. Il est possible de définir des points de rupture et de contrôler les risques.

  7. Il est disponible dans de nombreux marchés et est très pratique.

  8. Il peut être combiné avec d’autres indicateurs pour améliorer l’efficacité.

Analyse des risques

La stratégie de la bi-équilibre présente aussi des risques:

  1. Lorsque la tendance du marché est forte, la ligne moyenne suit la tendance en retard, il peut y avoir une lenteur et manquer le meilleur moment d’entrée. Vous pouvez raccourcir le cycle de la ligne moyenne de manière appropriée et améliorer la sensibilité.

  2. Dans une situation de choc, il peut y avoir plus de faux signaux. Les conditions de filtrage peuvent être ajoutées de manière appropriée pour éviter les transactions erronées.

  3. Le nombre de transactions peut être élevé, ce qui affecte les bénéfices. L’écart entre les lignes moyennes peut être allégé de manière appropriée, ce qui réduit les croisements.

  4. Si vous ne pouvez pas déterminer le type de tendance, il existe un risque de trading à contre-courant. Les indicateurs de tendance peuvent aider à déterminer.

  5. L’optimisation des paramètres nécessite un certain soutien des données historiques, les nouvelles variétés peuvent être suradaptées. De multiples combinaisons devraient être utilisées pour tester la robustesse des paramètres.

  6. Un seul indicateur est vulnérable à l’environnement extérieur et peut être instable. Il peut être vérifié en combinaison avec d’autres indicateurs.

Direction d’optimisation

Les stratégies d’équilibrage bi-linéaire peuvent également être optimisées dans les domaines suivants:

  1. Testez des moyennes rapides de différentes longueurs pour trouver les meilleurs paramètres pour une variété de transaction spécifique.

  2. Les conditions de filtrage, telles que le volume de transactions, le stop loss ATR, etc., ont été ajoutées pour réduire les occasions de sous-optimisation.

  3. Les signaux de confirmation d’achat et de vente, combinés à des indicateurs de dynamique, évitent les faux-pas.

  4. Optimiser les stratégies de stop loss pour éviter une sortie anticipée ou tardive d’une partie des stops.

  5. Le suivi de la tendance et le trading de contre-courant sont réalisés en combinant les indicateurs de tendance et de vague.

  6. L’utilisation d’une ligne moyenne adaptative, qui s’adapte aux paramètres de la ligne moyenne en fonction du marché, plutôt que d’une période fixe.

  7. La combinaison de plusieurs périodes de temps est utilisée, en fonction des caractéristiques du temps du marché.

  8. Optimisation en temps réel, optimisation continue des paramètres grâce à des technologies telles que l’apprentissage automatique.

Résumer

Les stratégies de croisement biuniversale, par leur simplicité de principe, leur facilité de maîtrise et de mise en œuvre, sont devenues l’une des stratégies de négociation les plus centrales et les plus couramment utilisées dans l’analyse technique. La stratégie est conforme à la tendance des prix, la rétraction est contrôlable et le risque est acceptable.

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

//@version=3
// strategy("Stochastic Strategy of BiznesFilosof", shorttitle="SS of BiznesFilosof", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)

//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = true // Lenghth strategy

length1 = input(21, minval=1), smoothK1 = input(3, minval=1), smoothD1 = input(3, minval=1)
//length2 = input(5, minval=1), smoothK2 = input(1, minval=1), smoothD2 = input(1, minval=1)
inh0 = input(title="Bottom Line", defval = 14, minval=0), inh1 = input(title="Upper Line", defval = 86, minval=0)

k1 = sma(stoch(close, high, low, length1), smoothK1)
d1 = sma(k1, smoothD1)
plot(k1, color=blue)
plot(d1, color=red)
//k2 = sma(stoch(close, high, low, length2), smoothK2)
//d2 = sma(k2, smoothD2)
//plot(k2, color=orange)

h1 = hline(inh1)
h0 = hline(inh0)
fill(h0, h1, color = aqua, transp=90)

//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(k1, d1) and crossover(k1, inh0) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(k1, d1) and crossunder(k1, inh1) and window)

if crossunder(k1, d1) and crossunder(k1, inh1) and strategy.position_size > 0
    strategy.close_all()
if crossover(k1, d1) and crossover(k1, inh0) and strategy.position_size < 0
    strategy.close_all()