Stratégie quantitative Golden Cross


Date de création: 2023-11-22 14:39:33 Dernière modification: 2023-11-22 14:39:33
Copier: 2 Nombre de clics: 652
1
Suivre
1617
Abonnés

Stratégie quantitative Golden Cross

Aperçu

Cette stratégie permet de quantifier les achats croisés et les ventes forcées de l’or en calculant des indices de volume net personnalisés. Cette stratégie est une stratégie de suivi de tendance.

Principe de stratégie

La logique centrale de la stratégie est de calculer un indice de la valeur nette (NV) personnalisé. L’indice de la valeur nette (NV) permet de déterminer la direction de la variation des prix, en prenant le volume de transactions du jour pour positif, le volume de transactions du jour pour négatif et le volume de transactions du jour pour négatif, et le volume de transactions du jour pour nul si aucune variation n’a eu lieu.

Ensuite, la stratégie calcule la moyenne mobile simple de 3 jours de l’indicateur NV, en tant que ligne de croix dorée et ligne de croix morte respectivement. Lorsque l’indicateur NV franchit la ligne de croix dorée de bas en haut, faites plus; lorsque l’indicateur NV franchit la ligne de croix morte de haut en bas, faites moins.

En outre, la stratégie définit des heures de début et de fin paramétrables pour contrôler le temps de transaction.

Avantages stratégiques

Le plus grand avantage de cette stratégie est qu’elle est simple et claire, facile à comprendre, que les paramètres sont flexibles, que le type de transaction et le moment de la transaction peuvent être personnalisés. En outre, cette stratégie est une stratégie de suivi de tendance, capable de capturer efficacement les tendances des prix, de réduire la fréquence des transactions et d’obtenir des taux de profit plus élevés.

Risque stratégique

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

  1. Il est possible que vous ayez manqué une partie de l’occasion de négocier ou que vous n’ayez pas pu arrêter votre perte à temps.

  2. Le cross de l’or quantique est lui-même un peu retardé, ce qui peut entraîner des retards d’entrée et augmenter les pertes.

  3. Le site Web de l’agence de presse américaine Bloomberg a publié un billet de blog intitulé “Le bruit du marché: un défi à relever”.

Une moyenne mobile dynamique peut être utilisée pour réduire le risque en combinant des filtres avec d’autres indicateurs.

Orientation de l’optimisation de la stratégie

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

  1. Augmenter les stratégies de stop loss et contrôler les pertes individuelles en utilisant des stop loss mobiles et des stop loss au jour le jour.

  2. Augmentation de l’indicateur de filtrage et utilisation d’autres indicateurs tels que MACD, KDJ et autres pour filtrer les signaux de fausses alertes et améliorer la stabilité de la stratégie.

  3. L’optimisation des paramètres est une méthode de recherche par itération de la combinaison optimale de paramètres, utilisant des algorithmes génétiques et des chaînes de Markov.

  4. La combinaison de stratégies avec d’autres stratégies non pertinentes peut permettre une plus grande dispersion des risques et une meilleure rentabilité globale.

Résumer

Cette stratégie permet un suivi de tendance simple et efficace grâce à la quantification de la croix d’or. Bien qu’il y ait un certain retard, le paramétrage est flexible et facile à comprendre. C’est une stratégie adaptée aux débutants. Grâce à une optimisation continue, l’efficacité de la stratégie peut être améliorée progressivement et les risques réduits.

Code source de la stratégie
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-15 03:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="@DankCoins - Customized Net Volume")
src = input(defval = close, title = "VA Source")
nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume



// Inputs //
VHigh = input(defval = 50, title = "VHigh Amount")
VLow = input(defval = -50, title = "VLow Amount")


// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2012)

MAV1 = sma(volume, 3)
MAV2 = -sma(volume, 3)

enterShort = crossunder(nv, MAV1)
exitShort = crossunder(nv, MAV2)
enterLong = crossover(nv, MAV2)
exitLong = crossover(nv, MAV1)

// Time Function 
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"


strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=enterShort and window())
strategy.exit("Exit Long", from_entry = "Long Entry",  when=exitLong and window())
strategy.exit("Exit Short", from_entry = "Short Entry",  when=exitShort and window())


// Plot
plot(nv, color=blue, title="NV")
plot(VHigh, color=red)
plot(VLow, color=red)
plot(MAV1, color=green)
plot(MAV2, color=green)