
La stratégie de trading en cycle à deux facteurs est une stratégie de trading quantitative qui combine deux types différents d’indicateurs techniques pour générer des signaux de trading afin de suivre les tendances du marché et de tirer un profit supplémentaire.
L’avantage de cette stratégie est qu’il est possible de trouver des opportunités de trading en combinant différents facteurs, la double confirmation peut améliorer la fiabilité du signal et réduire la probabilité d’une transaction erronée. En outre, la stratégie tire pleinement parti des avantages de la négociation cyclique, à savoir l’arrêt rapide des pertes et l’ouverture de positions inversées, qui permettent de contrôler efficacement les risques.
La stratégie est composée de deux volets:
123 stratégies de retour Cette stratégie est inspirée du livre de Ulf Jensen Comment je fais tourner les fonds en trois fois sur le marché à terme. Sa logique de négociation est la suivante: faire plus lorsque le prix de clôture est supérieur au prix de clôture du jour précédent pendant deux jours consécutifs et que la ligne K lente est inférieure à 50 pendant neuf jours; faire moins lorsque le prix de clôture est inférieur au prix de clôture du jour précédent pendant deux jours consécutifs et que la ligne K rapide est supérieure à 50 pendant neuf jours.
La stratégie de résistance de soutien à la hausse/baisse La stratégie génère des signaux en déterminant si le prix a franchi un support ou une résistance clé. Il est bullish lorsque le prix dépasse le plus haut prix de la dernière journée de négociation et bearish lorsque le prix dépasse le plus bas prix de la dernière journée de négociation.
Les signaux des deux stratégies ci-dessus sont combinés, entrant dans la position lorsque les signaux des deux parties sont cohérents, sinon la liquidation. En même temps, le mode d’ouverture de position inversé est configuré pour arrêter les pertes en temps opportun et inverser les transactions en cas de changement de marché, pour réaliser le fonctionnement du cycle des fonds.
Les avantages de cette stratégie de trading circulaire à deux facteurs sont les suivants:
La conception multifonctionnelle assure une fiabilité élevée du signal. La stratégie de réversion 123 et la stratégie de résistance de support sont mutuellement vérifiées, ce qui réduit les signaux erronés.
Les mécanismes de négociation circulaire permettent aux stratégies de suivre les changements du marché et de contrôler efficacement les pertes unilatérales.
L’indicateur stochastique à 9 jours permet de filtrer le bruit du marché et d’améliorer la clarté du signal.
Le risque est plus faible que la stratégie à facteur unique et le retrait est plus faible. Les facteurs multiples peuvent former un effet de levier et inhiber l’effet des fluctuations irrationnelles sur la stratégie.
Cette stratégie comporte aussi des risques:
Il n’est pas possible de bien saisir la tendance dans des conditions de choc, et il est fréquent que le stop loss se retourne vers l’ouverture de position, ce qui augmente le coût de la transaction.
Les paramètres de Stochastics affectent la qualité du signal. Un paramètre incorrect peut entraîner une mauvaise position du signal et une baisse de qualité. Les paramètres doivent être testés et optimisés à plusieurs reprises.
Bien que la conception à deux facteurs améliore la qualité des signaux, elle augmente également l’impact de la barrière de bruit du marché sur les stratégies. Cela nous oblige à être plus prudents dans la construction et la vérification des stratégies.
Nous pouvons optimiser cette stratégie de la manière suivante:
Tester les stochastiques sur des cycles de différentes longueurs pour trouver la meilleure combinaison de paramètres pour éliminer le bruit du marché
Ajoutez un filtre de tendance pour filtrer les mouvements de choc et ouvrez des positions uniquement si la tendance est claire
Optimisation des algorithmes de mise en place des lignes de stop-loss afin de réduire les coûts de transaction tout en garantissant l’efficacité des stop-loss
Tester différentes combinaisons de facteurs pour trouver des combinaisons de facteurs qui donnent des signaux de trading plus clairs et des stratégies plus stables
Cette stratégie a obtenu une qualité de signal plus élevée et des gains d’ajustement au risque grâce à une conception à deux facteurs. En utilisant le mécanisme de négociation circulaire, les pertes de transactions unilatérales sont efficacement contrôlées. La stratégie a obtenu un bon équilibre entre les risques et les gains.
/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 13/11/2019
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Cueing Off Support And Resistance Levels, by Thom Hartle
// modified by HPotter for trade signals.
// The related article is copyrighted material from Stocks & Commodities.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
COSRL(SigVal) =>
pos = 0.0
xLow = low
xHigh = high
xHighD = security(syminfo.tickerid,"W", high[1])
xLowD = security(syminfo.tickerid,"W", low[1])
sigpre1 = iff(xHigh <= xLowD, -1,
iff(xLow >= xHighD, 1, nz(pos[1], 0)))
sigpre2 = iff( xHigh <= xHighD, -1,
iff(xLow >= xLowD, 1, nz(pos[1], 0)))
pos := SigVal ? sigpre1 : sigpre2
pos
strategy(title="Combo Backtest 123 Reversal & Cueing Off Support And Resistance Levels", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SigVal = input(true, title="To Line \ From Line")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCOSRL = COSRL(SigVal)
pos = iff(posReversal123 == 1 and posCOSRL == 1 , 1,
iff(posReversal123 == -1 and posCOSRL == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )