Stratégie composite de création de richesse

Auteur:ChaoZhang est là., Date: 2023-11-01 16h28:55 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie est une stratégie de trading composite qui vise à réaliser des bénéfices à moyen et court terme.

La logique de la stratégie

La stratégie se compose de deux parties:

123 Stratégie d'inversion

Cette partie est adaptée de la stratégie d'inversion décrite à la page 183 du livre Comment j'ai triplé mon argent sur le marché des contrats à terme par Ulf Jensen. Il va long lorsque le prix de clôture est supérieur à la clôture précédente pendant 2 jours consécutifs et que le Stochastique lent de 9 jours est inférieur à 50. Il va court lorsque le prix de clôture est inférieur à la clôture précédente pendant 2 jours consécutifs et que le Stochastique rapide de 9 jours est supérieur à 50.

Une excellente stratégie d'oscillateur

Cette partie utilise l'indicateur Awesome Oscillator, qui compare la valeur actuelle d'AO à la valeur précédente. Si la valeur actuelle d'AO est supérieure à la valeur précédente, cela indique une bonne occasion d'aller long et la couleur de la barre d'histogramme est bleue. Si la valeur actuelle d'AO n'est pas supérieure à la précédente, cela indique une bonne chance d'aller court et la couleur de la barre est rouge.

Le signal combiné est généré comme suit: si les stratégies 123 Reversal et Awesome Oscillator donnent toutes deux des signaux d'achat, adoptez une stratégie longue; si toutes deux donnent des signaux de vente, adoptez une stratégie courte.

Analyse des avantages

Le plus grand avantage de cette stratégie composite est qu'elle combine les forces de deux types de stratégies différents, améliorant la fiabilité et la stabilité des signaux de trading.

Plus précisément, la stratégie 123 Reversal est plus applicable à moyen et court terme et peut capturer les opportunités d'inversion.

En outre, cette stratégie utilise de manière exhaustive les informations de la ligne K et un indicateur d'oscillateur, en tenant compte à la fois de l'action des prix elle-même et de la relation volume-prix pour une approche plus globale.

Analyse des risques

Le plus grand risque de cette stratégie est que la combinaison de plusieurs stratégies augmente également leurs risques individuels.

La stratégie 123 Reversal elle-même ne peut pas éviter complètement le risque d'être coincé dans un marché à plage.

En outre, les paramètres affectent également les performances de la stratégie.

Pour atténuer les risques, taillez correctement les positions pour limiter la baisse des transactions individuelles.

Directions d'optimisation

La stratégie peut être encore optimisée dans les aspects suivants:

  1. Tester et optimiser les paramètres pour trouver la combinaison optimale de paramètres.

  2. Ajouter d'autres indicateurs ou filtres pour améliorer encore la qualité du signal.

  3. Optimiser dans différents délais pour une approche multi-délais.

  4. Ajouter des arrêts dynamiques pour mieux contrôler les risques.

  5. Considérer les coûts réels de transaction et définir des critères d'entrée/sortie.

  6. Considérez la direction principale de la tendance pour éviter le contre-trend.

Conclusion

Cette stratégie combine les atouts des stratégies 123 Reversal et Awesome Oscillator, améliorant la fiabilité du signal tout en conservant la flexibilité et la sensibilité aux changements du marché. Une optimisation des paramètres et un contrôle des risques stricts sont nécessaires pour des bénéfices stables dans le trading en direct.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 09/08/2021
// 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
//    This indicator plots the oscillator as a histogram where blue denotes 
//    periods suited for buying and red . for selling. If the current value 
//    of AO (Awesome Oscillator) is above previous, the period is considered 
//    suited for buying and the period is marked blue. If the AO value is not 
//    above previous, the period is considered suited for selling and the 
//    indicator marks it as red.
//
// 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


BWAC(nLengthSlow,nLengthFast) =>
    pos = 0.0
    xSMA1_hl2 = sma(hl2, nLengthFast)
    xSMA2_hl2 = sma(hl2, nLengthSlow)
    xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
    xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
    nRes =  xSMA1_SMA2 - xSMA_hl2
    pos:= iff(nRes > nRes[1], 1,
             iff(nRes < nRes[1], -1, nz(pos[1], 0)))  
    pos

strategy(title="Combo Backtest 123 Reversal & Awesome Oscillator (AC)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Awesome Oscillator (AC) ----")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBWAC = BWAC(nLengthSlow,nLengthFast)
pos = iff(posReversal123 == 1 and posBWAC == 1 , 1,
	   iff(posReversal123 == -1 and posBWAC == -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