Inversion de tendance croisée combinée à une double stratégie de trente oscillateurs


Date de création: 2024-01-19 14:41:02 Dernière modification: 2024-01-19 14:41:02
Copier: 0 Nombre de clics: 675
1
Suivre
1617
Abonnés

Inversion de tendance croisée combinée à une double stratégie de trente oscillateurs

Aperçu

Cette stratégie consiste principalement à combiner deux types de signaux stratégiques différents, permettant la superposition des signaux stratégiques pour obtenir un effet d’amélioration de la qualité du signal. La première stratégie est la stratégie de l’inversion transversale, et la seconde est la stratégie des trente oscillateurs.

Stratégie 1: Une stratégie d’inversion à travers les tendances

Cette stratégie est tirée de la page 183 du livre Comment je peux obtenir trois fois plus de bénéfices sur le marché à terme. Il s’agit d’une stratégie de type inversion. La logique est la suivante: 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, faites plus; 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, faites vide.

Stratégie 2: La stratégie des trente oscillateurs

La stratégie utilise les différences entre les moyennes à 3 jours et les moyennes à 10 jours pour construire l’indicateur. Plus précisément, on peut calculer la différence entre les moyennes mobiles à 3 jours et les moyennes mobiles à 10 jours.

Principe de stratégie

  • Le premier est le calcul du signal de transaction posReversal123 pour une stratégie de renversement de tendance transversale.
  • Le signal de transaction posD_Three de la stratégie des trente oscillateurs est alors calculé;
  • Lorsque deux signaux sont synchronisés (double ou double vide), un signal synthétique est émis.
  • Les prix et les directions des transactions sont déterminés par les signaux composites (pos);
  • Les lignes K sont dessinées en différentes couleurs.

Analyse des avantages

Ce signal synthétique multi-stratégique superposé présente les avantages suivants:

  1. Filtrer les fausses signals pour améliorer la qualité du signal

Comme il faut deux stratégies pour donner un signal simultanément, il est possible d’éviter les effets de faux signaux dans une seule stratégie, ce qui améliore la fiabilité du signal.

  1. La fusion de plusieurs idées commerciales

La combinaison des stratégies de retournement et des stratégies de tendance permet de réduire dans une certaine mesure les zones aveugles stratégiques et d’obtenir une vision plus complète du marché.

  1. Une grande souplesse

Le portefeuille de stratégies de participation à l’intégration peut être adapté en fonction des besoins réels, combinant différents types de stratégies pour créer une stratégie d’intégration plus diversifiée.

Analyse des risques

  1. Une hypothèse contradictoire

L’hypothèse de base de cette stratégie est que plusieurs stratégies peuvent se vérifier mutuellement. Cependant, il est théoriquement possible que toutes les stratégies émettent des signaux erronés simultanément.

  1. Signaux incohérents

Lorsque deux signaux stratégiques ne sont pas en accord, il est impossible de déterminer laquelle est la plus fiable et il existe un certain risque de décision.

  1. Paramètres mal alignés

Si les paramètres sont mal configurés, cela peut entraîner le dysfonctionnement de certaines stratégies, ce qui empêche la combinaison de stratégies d’avoir l’effet escompté.

La réponse:

  1. Augmenter le nombre de stratégies et voter à la majorité

  2. Définition d’un point d’arrêt pour contrôler la perte d’un seul signal

  3. Optimiser les paramètres pour assurer le bon fonctionnement de la stratégie

Direction d’optimisation

La stratégie peut également être optimisée dans les directions suivantes:

  1. Ajout d’un portefeuille de stratégies

Il est possible de continuer à ajouter plus de différents types de stratégies, formant des combinaisons de stratégies pour améliorer encore la qualité du signal.

  1. Conditions de filtrage préalables

Selon les conditions du marché, il est possible de définir des conditions préalables, telles que le filtrage du grand portefeuille, pour éviter d’ouvrir des positions dans des conditions défavorables.

  1. Adaptation dynamique des poids stratégiques

Il est possible d’ajuster dynamiquement les combinaisons de poids de participation en fonction des performances antérieures des différentes stratégies, afin que les stratégies les plus performantes jouent un rôle plus important.

  1. Détails des paramètres d’optimisation

Les paramètres de chaque stratégie peuvent être minutieusement testés et optimisés de manière plus systématique pour obtenir les meilleurs paramètres.

Résumer

Cette stratégie est une stratégie globale de type superposé à plusieurs stratégies. Elle intègre les deux sous-stratégies de la stratégie de renversement de tendance transversale et de la stratégie de trente oscillations. En synchronisant leurs signaux de négociation pour produire des instructions de négociation, elle permet d’éliminer efficacement les faux signaux d’une seule stratégie et d’améliorer la qualité du signal.

Code source de la stratégie
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-18 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/12/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
// TradeStation does not allow the user to make a Multi Data Chart with 
// a Tick Bar Chart and any other type a chart. This indicator allows the 
// user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
// Walter Bressert's 3-10 Oscillator is a detrending oscillator derived 
// from subtracting a 10 day moving average from a 3 day moving average. 
// The second plot is an 16 day simple moving average of the 3-10 Oscillator. 
// The 16 period moving average is the slow line and the 3/10 oscillator is 
// the fast line.
// For more information on the 3-10 Oscillator see Walter Bressert's book 
// "The Power of Oscillator/Cycle Combinations" 
//
// 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

D_Three(Length1, Length2, Length3) =>
    pos = 0.0
    xPrice =  security(syminfo.tickerid,"D", hl2)
    xfastMA = ema(xPrice, Length1)
    xslowMA = ema(xPrice, Length2)
    xMACD = xfastMA - xslowMA
    xSignal = sma(xMACD, Length3)
    pos := iff(xSignal > xMACD, -1,
    	     iff(xSignal < xMACD, 1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & D_Three Ten Osc", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length1 = input(3, minval=1)
Length2 = input(10, minval=1)
Length3 = input(16, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_Three = D_Three(Length1, Length2, Length3)
pos = iff(posReversal123 == 1 and posD_Three == 1 , 1,
	   iff(posReversal123 == -1 and posD_Three == -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 )