Prédiction de retournement et stratégie de combinaison d'oscillateurs


Date de création: 2023-10-10 10:39:44 Dernière modification: 2023-10-10 10:39:44
Copier: 1 Nombre de clics: 651
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie est une combinaison d’une stratégie inverse et d’une stratégie d’oscillateur, dans le but d’obtenir des signaux de négociation plus fiables. Elle combine la stratégie de préjugé inverse et la stratégie d’oscillateur de prévision de Chande, qui exécute une transaction lorsque les deux stratégies émettent simultanément des signaux d’achat ou de vente.

Principe de stratégie

  1. Stratégie de préjugés inversés

    • Le Stochastic Oscillator est utilisé pour évaluer les tendances de survente.

    • Opération inverse lorsque le prix est inversé par deux barres de clôture consécutives et que l’indicateur de l’oscillateur stochastique est surchargé ou survendu

  2. Chande prédit une stratégie d’oscillateur

    • Prévisions de prix avec une analyse de régression linéaire

    • La courbe de l’oscillateur est égale à la différence entre le prix de clôture et le prix prévu

    • Un signal de transaction est généré lorsque le prix réel est nettement différent du prix prévu

  3. Logique de stratégie

    • Simultanément calculer les signaux de la stratégie de préjugé inversé et de la stratégie d’oscillateur de prédiction de Chande

    • Un signal de transaction réel n’est généré que lorsque les signaux des deux stratégies sont identiques, c’est-à-dire que les signaux d’achat ou de vente sont identiques

    • Augmentation de la fiabilité des signaux en combinant les stratégies de filtrage d’une seule stratégie

Analyse des forces stratégiques

  1. Combiner plusieurs stratégies pour juger le marché de manière globale et plus fiable

  2. Éliminer les faux signaux qui peuvent apparaître dans un seul indicateur technique

  3. Les stratégies de préjugés inverses permettent de saisir les opportunités de revers à court terme

  4. Chande prédit que l’oscillateur est très précis sur les tendances à long terme

  5. Les paramètres de l’indicateur stochastique sont réglables et adaptatifs

  6. Une approche intégrée de l’analyse pour saisir les différentes dimensions de l’opportunité commerciale

Analyse des risques

  1. Les stratégies combinées ont amélioré la fiabilité mais réduit la fréquence de génération du signal.

  2. Optimiser simultanément les paramètres de la stratégie est plus complexe

  3. La reprise est incertaine et présente un risque de perte

  4. Les prévisions de régression linéaire ne s’appliquent pas aux marchés où les prix sont très volatiles

  5. Attention à l’éventuelle déviation du stochastique

  6. Les données de détection sont insuffisantes, l’efficacité du disque dur est douteuse

Orientation de l’optimisation de la stratégie

  1. Optimisation des paramètres de l’oscillateur stochastique pour raccourcir les cycles des lignes K et D

  2. Ajustez le cycle de régression linéaire pour tester plus de paramètres de cycle

  3. Augmentation des stratégies de stop loss et réduction des pertes individuelles

  4. Modifier la logique d’ouverture de position pour attendre que l’indicateur de l’oscillateur stochastique entre complètement dans la zone de survente

  5. Ajout d’analyses statistiques sur les variétés commerciales

  6. Le nombre d’indicateurs, tels que le MACD, fournit un jugement plus dimensionnel.

Résumer

Cette stratégie utilise une combinaison de plusieurs méthodes d’analyse pour améliorer la qualité du signal, tout en tenant compte de la découverte de retournements à court terme et de l’appréciation des grandes tendances, afin de saisir des opportunités de trading plus complètes. Cependant, il est nécessaire de prêter attention à l’effet de levier et d’ajuster correctement les paramètres.

Code source de la stratégie
/*backtest
start: 2023-09-09 00:00:00
end: 2023-10-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/08/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
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// 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

ChandeForecastOscillator(Length, Offset) =>
    pos = 0
    xLG = linreg(close, Length, Offset)
    xCFO = ((close -xLG) * 100) / close
    pos := iff(xCFO > 0, 1,
           iff(xCFO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Forecast Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCFO = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChandeForecastOscillator = ChandeForecastOscillator(LengthCFO, Offset)
pos = iff(posReversal123 == 1 and posChandeForecastOscillator == 1 , 1,
	   iff(posReversal123 == -1 and posChandeForecastOscillator == -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 )