Système de moyenne mobile inversée à double ligne


Date de création: 2023-11-07 16:00:33 Dernière modification: 2023-11-07 16:00:33
Copier: 0 Nombre de clics: 612
1
Suivre
1617
Abonnés

Système de moyenne mobile inversée à double ligne

Aperçu

Le système de rétrogradation à double ligne trace une combinaison de la stratégie de rétrogradation de la forme 123 et de la stratégie de tableau d’équilibre à première vue, visant à détecter les opportunités de rétrogradation et à suivre les tendances pour obtenir des gains supplémentaires.

Principe de stratégie

Cette stratégie est composée de deux sous-stratégies:

  1. 123 Stratégie de retour en arrière

La stratégie consiste à négocier en fonction de la forme du prix. La logique est la suivante:

  • Faites plus lorsque le cours de clôture est en hausse pendant deux jours consécutifs et que la ligne K est en dessous de 50 pendant neuf jours
  • Lorsque le cours de clôture est en baisse pendant deux jours consécutifs et que la ligne K rapide est supérieure à 50 le 9e jour, faire un short

La stratégie utilise la façon dont le prix a franchi la clôture de la journée précédente pour déterminer le renversement et utilise l’indicateur de composition de la ligne K de l’action pour éliminer le rattrapage des chocs.

  1. Stratégie de la table d’équilibre

La stratégie est basée sur le croisement des cinq lignes de la table d’équilibre à première vue. La logique est la suivante:

  • Faire plus lorsque le prix de clôture est supérieur à la ligne de référence
  • Prenez une position vide lorsque le cours de clôture est inférieur à la ligne de conversion.

La ligne de référence est le milieu des prix les plus élevés et les plus bas des 26 derniers jours, et la ligne de conversion est le milieu des prix les plus élevés et les plus bas des 9 derniers jours. La stratégie utilise le système de détection de tendances de la ligne de croix.

La stratégie finale est combinée selon les signaux des deux sous-stratégies, ouvrant la position à la fois en hausse et en baisse, et la position en baisse.

Analyse des avantages

  • La combinaison de retournement et de tendance permet de saisir les opportunités de retournement et de suivre la tendance, avec une flexibilité stratégique.
  • Le format 123 est simple et pratique pour identifier efficacement les points critiques de retournement.
  • Les paramètres de la table d’équilibre ont été optimisés et le risque de rupture est faible.
  • La combinaison de deux types de stratégies différentes permet d’optimiser les stratégies.

Analyse des risques

  • Les stratégies inversées sont faciles à piéger et présentent un risque de perte. Le cycle de négociation peut être raccourci de manière appropriée ou le stop-loss peut être augmenté pour contrôler le risque.
  • L’équilibre de première vue peut être facilement manipulé dans des situations de choc, en ajustant les paramètres ou en ajoutant des conditions de filtrage pour réduire les transactions inutiles.
  • Une mauvaise correspondance des paramètres peut entraîner des signaux trop fréquents ou rares lors de la combinaison des deux stratégies, ce qui nécessite un test et une optimisation minutieux.

Direction d’optimisation

  • Testez plus de combinaisons d’indicateurs pour trouver de meilleurs moyens de filtrage. Par exemple, les indicateurs de capacité de liaison.
  • Optimiser les paramètres de la table d’équilibre de première vue pour les adapter aux caractéristiques spécifiques du produit.
  • Il est possible d’établir un stop-loss sur la position en fonction de l’ATR.
  • L’ajout d’un module de gestion de l’argent et le contrôle des risques.
  • Il s’agit de collecter plus de données lors des retours d’expérience, de tester les stratégies de manière multidimensionnelle, de détecter les problèmes et d’optimiser constamment.

Résumer

Les avantages d’une stratégie d’inversion et de tendance intégrée dans un système de ligne moyenne inversée de suivi en double ligne, permettant d’obtenir des gains supplémentaires grâce à l’optimisation des paramètres et à la combinaison des stratégies. La stratégie présente certains avantages commerciaux, mais elle présente également des risques de couverture et d’arrêt.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/11/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
//  Ichimoku Strategy
//
// 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

middleDonchian(Length) =>
    lower = lowest(Length)
    upper = highest(Length)
    avg(upper, lower)    
    
Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) =>
    pos = 0.0
    Tenkan = middleDonchian(conversionPeriods)
    Kijun =  middleDonchian(basePeriods)
    xChikou = close
    SenkouA = middleDonchian(laggingSpan2Periods)
    SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2
    pos := iff(close < SenkouA[displacement], -1,
              iff(close > SenkouB, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ichimoku2c", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
conversionPeriods = input(9, minval=1),
basePeriods = input(26, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posIchimoku2c = Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement)
pos = iff(posReversal123 == 1 and posIchimoku2c == 1 , 1,
	   iff(posReversal123 == -1 and posIchimoku2c == -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 )