
La stratégie de rétrogradation de l’or est une stratégie de swing trading basée sur la génération de signaux basés sur les points de rétrogradation de l’or au cours des 21 derniers jours, avec un mécanisme de rétrogradation. Elle ne fonctionne que sur plusieurs têtes et présente les caractéristiques d’une position en ligne longue.
La stratégie commence par calculer le plus haut prix (high21) et le plus bas prix (low21) au cours des 21 derniers jours, puis le différentiel entre les deux. Le signal de transaction est le suivant: faire plus lorsque le prix du bas actuel est supérieur à celui du bas21 + diff * 0.382 et que le prix de clôture de la ligne K précédente est supérieur au prix d’ouverture de la ligne K précédente. La ligne d’arrêt est low21 + diff * 0.236.
L’utilisation de la ligne de fractionnement en or comme indicateur technique important ici est due au fait que la ligne de fractionnement en or correspond aux points de support ou de résistance généraux du marché. Les valeurs de 0,382 et 0,236 sont souvent surveillées en tant que points de rebond ou de rebond, ce qui en fait l’un des nombres les plus magiques de la nature.
Les avantages de cette stratégie sont les suivants:
L’utilisation de la théorie de la division de l’or pour guider les transactions est une méthode d’analyse technique plus mature.
Il n’y a qu’à faire plus que cela pour réduire les risques pour le système.
L’admission est déterminée par une flexibilité à la hausse grâce à un mécanisme de suivi des tendances.
Il y a une ligne claire de stop-loss pour contrôler les risques.
Les paramètres de rétroaction sont réglables pour tester l’efficacité dans différents environnements de marché.
Cette stratégie comporte aussi des risques:
Les données historiques peuvent être sensibles aux changements de la structure du marché.
La ligne d’arrêt est plus proche et pourrait être secouée par le GAP du jour au lendemain.
Si la situation fluctue fortement, des cycles de rétroaction inappropriés peuvent entraîner de faux signaux.
Le coût de la transaction quantitative en soi peut également avoir une incidence sur les bénéfices.
Ces risques peuvent être atténués par des méthodes telles que l’ajustement des paramètres du cycle de réévaluation, l’optimisation de la position de stop loss et la prise en compte des coûts des points de glissement.
Cette stratégie peut être optimisée dans les domaines suivants:
L’optimisation automatique des paramètres est basée sur un algorithme d’apprentissage automatique, ce qui rend les paramètres du cycle de rétro-évaluation plus adaptés à l’environnement actuel du marché.
Les dérivés financiers tels que les futures d’indices boursiers sont utilisés pour augmenter l’effet de levier.
Ajout de modèles pour le traitement des événements imprévus, tels que l’ajout d’un mécanisme de reconnaissance des ouvertures de saut en hauteur.
Optimisation de la stratégie de stop loss en fonction de la volatilité du marché.
Dans l’ensemble, il s’agit d’une stratégie à plusieurs têtes en utilisant le principe de la ligne de fractionnement de l’or, avec un mécanisme d’entrée clair et une idée de stop-loss. Il peut être optimisé pour devenir une stratégie de négociation quantifiée fiable grâce à des méthodes telles que l’ajustement des paramètres, l’optimisation des modèles et la combinaison des applications.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © omkarkondhekar
//@version=4
strategy("GRBLong", overlay=true)
highInput = input(title = "High Days", type = input.integer, defval = 21, minval = 11)
lowInput = input(title = "Low Days", type = input.integer, defval = 21, minval = 5)
// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2019, minval=1800, maxval=2100)
// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
startYear, startMonth, startDate, 0, 0))
high21 = highest(high, highInput)
low21 = lowest(low, lowInput)
diff = high21 - low21
longEntrySignal = low > low21 + (diff * 0.382) and close[1] > open[1]
strategy.entry("Long", strategy.long, limit = low, when = longEntrySignal and afterStartDate)
strategy.exit("Long Exit", "Long", stop = low21 + (diff * 0.236))
plot(low21 + (diff * 0.382), color= color.green)
plot(low21 + (diff * 0.236), color = color.red)