Une stratégie de croisement d’or est un simple indicateur de marché qui aide les investisseurs à long terme à déterminer le moment d’entrer. Cette stratégie est basée sur la croisement des moyennes mobiles à court et à long terme pour générer un signal de transaction. Une croix d’or est formée lorsque le marché entre dans un marché haussier en traversant une moyenne mobile à long terme au-dessus d’une moyenne mobile à court terme.
La stratégie utilise la fonction sma pour calculer les moyennes mobiles simples à court et à long terme. La longueur des moyennes mobiles à court terme est définie sur 50 jours et la longueur des moyennes mobiles à long terme sur 200 jours. La stratégie détermine si la ligne à court terme passe au-dessus ou au-dessous de la ligne à long terme en utilisant les fonctions crossover et crossunder pour générer un signal de transaction.
Lorsque la courte ligne traverse la longue ligne, cela indique que la tendance du marché est passée de la baisse à la hausse, ce qui produit un croisement en or, c’est un signal de plus. La stratégie prend des positions plus élevées via la fonction strategy.entry. Lorsque la courte ligne traverse la longue ligne, cela indique que la tendance du marché est passée de la hausse à la baisse, formant une croix de mort, ce qui est un signal de plafonnement.
Le filtrage du bruit du marché est une stratégie simple et pratique de suivi des tendances.
Il est possible de définir des arrêts de perte pour contrôler les risques, d’optimiser les paramètres de la moyenne mobile pour réduire les faux signaux, de confirmer la fiabilité du signal en combinaison avec d’autres indicateurs, de développer des mécanismes de traitement des événements soudains pour faire face aux informations importantes.
Cette stratégie peut être optimisée dans les domaines suivants:
Optimiser les paramètres des moyennes mobiles et ajuster la longueur des moyennes à court et à long terme pour qu’elles correspondent mieux aux caractéristiques des différents marchés;
La conditionnalité d’augmenter le volume des transactions, qui ne génère de signaux que si le volume des transactions est augmenté;
En combinaison avec d’autres indicateurs, tels que le MACD, le RSI, etc. pour confirmer les signaux croisés or/mort et éviter les faux signaux;
l’ajout de stratégies de stop-loss, telles que le stop-tracking et le stop-loss proportionnel, pour contrôler les pertes individuelles;
l’augmentation des stratégies de gestion des positions, telles que la fixation des positions, l’augmentation des positions dans les indices, etc., afin de maîtriser le risque global;
Optimiser le moment de l’entrée, en observant pendant un certain temps les croisements et en filtrant les faux croisements.
Grâce à ces optimisations, il est possible de rendre les paramètres de la stratégie plus conformes aux caractéristiques statistiques du marché, de filtrer les faux signaux, de contrôler les risques et, tout en restant simple, d’améliorer encore la stabilité et la rentabilité de la stratégie.
La stratégie de croix d’or est une stratégie de suivi de tendance à la fois simple et pratique. Elle capture intuitivement les tendances du marché en croisant les moyennes mobiles, permettant d’identifier efficacement les moments d’entrée et de sortie pour les investisseurs à long terme. La stratégie est facile à mettre en œuvre, adaptée aux débutants, mais peut également être étendue et optimisée de plusieurs façons, ce qui en fait une stratégie de trading quantitatif flexible et fiable.
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Dumb strategy 2 - Golden Cross", shorttitle="Golden Cross", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
lShort = input(50, title="short length")
lLong = input(200, title="long length")
src = input(close, title="Source")
smaShort = sma(src, lShort)
smaLong = sma(src, lLong)
plot(smaShort, title="SMA Short", style=line, linewidth=3, color=lime)
plot(smaLong, title="SMA Long", style=line, linewidth=3, color=red)
//
//Backtest Time Inputs
//
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(01, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? blue : na
bgcolor(testPeriodBackgroundColor, transp=80)
testPeriod() => true
if testPeriod()
longCondition = crossover(smaShort, smaLong)
if (longCondition)
strategy.entry("Long Entry", strategy.long)
shortCondition = crossunder(smaShort, smaLong)
if (shortCondition)
strategy.close_all(true)