Les ressources ont été chargées... Je charge...

Stratégie de suivi de l'inversion quantifiée à double pilote

Auteur:ChaoZhang est là., Date: 2024-02-18 10:03:14 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de suivi quantifié du renversement à deux facteurs combine des indicateurs de moyenne mobile simples et des indicateurs aléatoires pour obtenir une stratégie de négociation à court terme efficace et stable qui peut capturer des renversements rapides du marché tout en réduisant les coûts d'opportunité des signaux manquants.

Principe de stratégie

La stratégie se compose de deux parties: la partie 123 du modèle d'inversion et la partie moyenne mobile adaptative. La partie 123 du modèle d'inversion juge s'il existe une opportunité d'inversion en calculant la relation de prix de clôture entre les deux jours de négociation précédents. Si le prix de clôture du jour précédent est inférieur à celui du 2e jour précédent et que le prix de clôture du jour de négociation actuel est supérieur à celui du jour précédent, et que la ligne aléatoire lente est inférieure à 50, un signal d'achat est généré. Si le prix de clôture du jour précédent est supérieur à celui du 2e jour précédent et que le prix de clôture du jour de négociation actuel est inférieur à celui du jour précédent, et que la ligne rapide est supérieure à 50, un signal de vente est généré. Cela peut capturer des opportunités d'inversion à court terme.

Les avantages de la stratégie

Le plus grand avantage de la stratégie de suivi de l'inversion quantifiée à deux facteurs est qu'elle combine les modèles d'inversion et le filtrage des tendances afin de pouvoir capturer des inversions rapides tout en évitant d'être pris au piège d'un marché de choc. Il existe deux sources principales de revenus: Premièrement, l'identification du modèle 123 peut rapidement retracer les opportunités lorsque les prix inversent rapidement la direction, ce que de nombreuses stratégies stables ne peuvent pas faire. Deuxièmement, l'application de moyennes mobiles adaptatives garantit que la direction du trading est cohérente avec la tendance principale, filtrant efficacement le bruit et réduisant les pertes inutiles.

Risques liés à la stratégie

Le principal risque de cette stratégie est que des paramètres incorrects peuvent entraîner une fréquence de négociation excessivement élevée ou une capacité d'identification de signal insuffisante. Si les paramètres du modèle 123 sont trop sensibles, cela peut entraîner une négociation fréquente dans des conditions de marché volatiles, ce qui entraîne plus de pertes de clôture. Si les paramètres de la moyenne mobile adaptative sont fixés trop lentement, des opportunités d'inversion peuvent être manquées.

Optimisation de la stratégie

La stratégie peut être optimisée de plusieurs manières: premièrement, ajuster les paramètres du modèle 123 pour identifier des renversements clairs sans être trop sensible à la génération de faux signaux. deuxièmement, optimiser les paramètres de moyenne mobile adaptative pour trouver le meilleur équilibre entre la stabilité et la sensibilité. troisièmement, des stratégies de stop loss peuvent être introduites pour contrôler les pertes individuelles. quatrièmement, les indicateurs de sentiment du marché peuvent être combinés pour améliorer la qualité des décisions.

Résumé

La stratégie de suivi de l'inversion quantifiée à double pilote intègre avec succès les deux parties indispensables du trading d'inversion et du filtrage des tendances, et les avantages combinés sont importants.


/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/12/2020
// 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
// Everyone wants a short-term, fast trading trend that works without large
// losses. That combination does not exist. But it is possible to have fast
// trading trends in which one must get in or out of the market quickly, but
// these have the distinct disadvantage of being whipsawed by market noise
// when the market is volatile in a sideways trending market. During these
// periods, the trader is jumping in and out of positions with no profit-making
// trend in sight. In an attempt to overcome the problem of noise and still be
// able to get closer to the actual change of the trend, Kaufman developed an
// indicator that adapts to market movement. This indicator, an adaptive moving
// average (AMA), moves very slowly when markets are moving sideways but moves
// swiftly when the markets also move swiftly, change directions or break out of
// a trading range.
//
// 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

KAMA(Length) =>
    pos = 0.0
    nAMA = 0.0
    xPrice = close
    xvnoise = abs(xPrice - xPrice[1])
    nfastend = 0.666
    nslowend = 0.0645
    reverse = input(false, title="Trade reverse")
    nsignal = abs(xPrice - xPrice[Length])
    nnoise = sum(xvnoise, Length)
    nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
    nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
    nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
    pos := iff(close[1] > nAMA, 1,
    	     iff(close[1] < nAMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Kaufman Moving Average Adaptive", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthKAMA = input(21, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKAMA = KAMA(LengthKAMA)
pos = iff(posReversal123 == 1 and posKAMA == 1 , 1,
	   iff(posReversal123 == -1 and posKAMA == -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 )

Plus de