L' inversion de tendance croisée combinée à trois stratégies doubles d'oscillateur à dix

Auteur:ChaoZhang est là., Date: 2024-01-19 14:41:02 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie combine principalement des signaux de deux types de stratégies pour superposer les signaux de stratégie et améliorer la qualité du signal.

Stratégie 1: Stratégie d'inversion de tendance croisée

Cette stratégie provient de la page 183 du livre Comment j'ai triplé mon argent sur le marché des contrats à terme. Elle appartient au type de stratégie d'inversion. La logique spécifique est la suivante: lorsque le prix de clôture est supérieur au prix de clôture précédent pendant deux jours consécutifs, et que la ligne K lente de 9 jours est inférieure à 50, passez long; lorsque le prix de clôture est inférieur au prix de clôture précédent pendant deux jours consécutifs, et que la ligne K rapide de 9 jours est supérieure à 50, passez court.

Stratégie 2: Stratégie de l'oscillateur trois dix

Cette stratégie utilise la différence entre la moyenne mobile de 3 jours et la moyenne mobile de 10 jours pour construire un indicateur. Plus précisément, c'est la moyenne mobile exponentielle de 3 jours moins la moyenne mobile exponentielle de 10 jours. La différence est la ligne rapide.

Principe de stratégie

  • Calculer d'abord le signal de négociation postReversal123 de la stratégie d'inversion de tendance croisée;
  • Calculer ensuite le signal de trading posD_Trois des trois stratégies d'oscillateur à dix;
  • Lorsque les deux signaux sont dans la même direction (double multi ou double short), un signal combiné est émis;
  • Déterminer la direction et le prix de négociation spécifiques sur la base du signal pos combiné;
  • Tracez des lignes K de différentes couleurs.

Analyse des avantages

Ce signal composite d'empilement multi-stratégie présente les avantages suivants:

  1. Filtrer les faux signaux et améliorer la qualité du signal

    Étant donné que deux stratégies sont nécessaires pour donner des signaux dans le même sens en même temps, l'impact des faux signaux dans une seule stratégie peut être évité, améliorant ainsi la fiabilité du signal.

  2. Intégrer plusieurs idées commerciales

    La combinaison des stratégies d'inversion et des stratégies de tendance intègre deux idées dans une certaine mesure.

  3. Une grande souplesse

    Selon les besoins réels, la combinaison des stratégies participantes peut être ajustée pour créer des stratégies de combinaison plus diversifiées en combinant différents types de stratégies.

Analyse des risques

  1. Les hypothèses contradictoires

    L'hypothèse de base de cette stratégie est que plusieurs stratégies peuvent vérifier les signaux les unes avec les autres.

  2. Signaux incohérents

    Lorsque les deux signaux stratégiques sont incohérents, il est impossible de déterminer quelle stratégie est la plus fiable et il existe un certain risque de décision.

  3. Décalage des paramètres

    Des paramètres incorrects peuvent empêcher certaines stratégies de fonctionner correctement, ce qui entraîne l'incapacité d'obtenir les effets attendus des combinaisons de stratégies.

Les contre-mesures:

  1. Augmenter le nombre de stratégies de vote majoritaire

  2. Définir des points de stop-loss pour contrôler les pertes des signaux individuels

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

Directions d'optimisation

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

  1. Augmenter la combinaison de plusieurs stratégies

    Continuer d'ajouter de nouveaux types de stratégies pour former des stratégies combinées, afin d'améliorer encore la qualité du signal.

  2. Conditions de filtrage antérieures

    Selon les conditions du marché, certaines conditions préalables peuvent être fixées, telles que le filtrage du marché, afin d'éviter d'ouvrir des positions dans des conditions de marché inappropriées.

  3. Ajustez dynamiquement les poids stratégiques

    Les pondérations des différentes stratégies dans la combinaison peuvent être ajustées dynamiquement en fonction de leurs performances historiques, de sorte que les stratégies les plus performantes puissent jouer un rôle plus important.

  4. Optimiser les détails des paramètres

    Une approche plus systématique peut être utilisée pour tester et optimiser soigneusement les paramètres internes de chaque stratégie afin d'obtenir les paramètres optimaux.

Résumé

Cette stratégie appartient à une stratégie composite de superposition multi-stratégie. Elle intègre deux sous-stratégies, la stratégie d'inversion de tendance croisée et la stratégie d'oscillation à trois-dix. Elle génère des ordres de négociation uniquement lorsque leurs signaux de négociation sont dans le même sens, ce qui peut filtrer efficacement les faux signaux dans une seule stratégie et améliorer la qualité du signal. Par rapport à une seule stratégie, ce type de combinaison de stratégies présente des avantages tels qu'une fiabilité du signal plus élevée et une tolérance aux erreurs plus forte. Mais les risques liés aux hypothèses de cohérence doivent également être pris en compte et des mesures appropriées doivent être prises pour les contrôler. En général, cette combinaison multi-stratégie a un grand potentiel d'expansion et peut être approfondie en ajoutant plus de sous-stratégies, en optimisant les paramètres et en définissant des conditions de filtrage.


/*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 )

Plus de