123 Stratégie combinée d'inversion et de bandes STARC

Auteur:ChaoZhang est là., Date: 2023-12-04 13:38:30 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux de trading plus précis en combinant la stratégie 123 Reversal et la stratégie STARC Bands.

La logique de la stratégie

123 Stratégie d'inversion

Cette stratégie est née à la page 183 du livre Comment j'ai triplé mon argent dans le marché des contrats à terme par Ulf Jensen. L'idée de trading est de prendre des positions longues lorsque les prix montrent des renversements à la baisse comme des opportunités de rebond vers le bas, et de prendre des positions courtes lorsque les prix montrent des renversements à la hausse comme des opportunités d'inversions de tendance. Les règles spécifiques sont:

Signal long: 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 moyenne mobile à 9 jours de la lente K-line est inférieure à 50, passez long.

Signal court: 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 moyenne mobile de 9 jours de la ligne rapide K est supérieure à 50, passez court.

Stratégie des bandes STARC

Cette stratégie juge la direction de la tendance en traçant des bandes autour d'une moyenne mobile simple à court terme du prix. La bande supérieure est construite en ajoutant la moyenne réelle (ATR) au-dessus de la moyenne mobile. La bande inférieure est construite en soustrayant ATR de la moyenne mobile.

L'indicateur est nommé d'après son créateur, Manning Stoller.

Analyse des avantages

L'utilisation des stratégies 123 Reversal et STARC Bands améliore la précision des signaux de trading. La stratégie 123 Reversal capte les opportunités d'inversion. La stratégie STARC Bands juge la direction de la tendance. Les deux stratégies se complètent pour réduire les faux signaux et améliorer le taux de gain.

En outre, la stratégie 123 Reversal permet d'éviter de poursuivre de nouveaux sommets ou de nouveaux bas après les ruptures du marché.

Analyse des risques

Le plus grand risque de cette stratégie est l'incapacité d'éviter complètement de perdre des transactions et des pertes consécutives. Bien que la combinaison des deux stratégies puisse réduire les faux signaux, des jugements incorrects peuvent encore se produire dans certaines conditions de marché.

Un autre risque réside dans des paramètres mal réglés qui peuvent entraîner de mauvaises performances stratégiques.

Directions d'optimisation

Cette stratégie peut être encore optimisée:

  1. Ajouter des stratégies de stop loss, telles que les stops de prix ou les stops d'indicateur, pour éviter de grosses pertes;

  2. Ajouter des conditions d'entrée telles que la confirmation des prix pour éviter des prix d'entrée défavorables;

  3. Effectuer une optimisation des paramètres afin de trouver les combinaisons de paramètres les plus appropriées pour le produit et le délai;

  4. Ajouter des idées de sortie dynamiques pour ajuster les positions en fonction des changements du marché.

Résumé

Cette stratégie combine les stratégies 123 Reversal et STARC Bands, utilisant les avantages des deux stratégies pour juger des inversions de tendance et de la direction. Elle peut réduire efficacement les faux signaux et améliorer l'efficacité du trading. Elle optimise également les problèmes existant lors de l'utilisation de l'une ou l'autre stratégie seule.


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/07/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
// A type of technical indicator that is created by plotting two bands around 
// a short-term simple moving average (SMA) of an underlying asset's price. 
// The upper band is created by adding a value of the average true range 
// (ATR) - a popular indicator used by technical traders - to the moving average. 
// The lower band is created by subtracting a value of the ATR from the SMA.
// STARC is an acronym for Stoller Average Range Channels. The indicator is 
// named after its creator, Manning Stoller.
//
// 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


STARC(LengthMA,LengthATR,K) =>
    pos = 0.0
    xMA = sma(close, LengthMA)
    xATR = atr(LengthATR)
    xSTARCBandUp = xMA + xATR * K
    xSTARCBandDn = xMA - xATR * K
    pos := iff(close > xSTARCBandUp, 1,
             iff(close < xSTARCBandDn, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & STARC Bands", 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, "---- STARC Bands ----")
LengthMA = input(5, minval=1)
LengthATR = input(15, minval=1)
K = input(1.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSTARC = STARC(LengthMA,LengthATR,K)
pos = iff(posReversal123 == 1 and posSTARC == 1 , 1,
	   iff(posReversal123 == -1 and posSTARC == -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