
Cette stratégie de trading exploite pleinement les avantages de l’inversion de la ligne de parité et de l’éclatement des deux indicateurs techniques, en utilisant des combinaisons pour capturer en temps opportun les opportunités de revers tout en suivant la tendance et en filtrant certains faux signaux de rupture, ce qui peut améliorer efficacement le taux de réussite du système de trading.
La stratégie est composée de deux volets:
Une combinaison de la moyenne journalière de 2 jours et de la moyenne journalière de 20 jours. Un signal d’achat ou de vente est donné lorsque la moyenne journalière de 2 jours et la moyenne journalière de 20 jours se détournent.
La formation de cette forme est le signe d’un revirement à court terme. La condition est que le jour intermédiaire soit inférieur au jour précédent et au jour suivant, et que le jour suivant soit supérieur au jour précédent.
L’opération d’achat ou de vente s’effectue lorsque les signaux de retournement sont affichés simultanément sur la moyenne des 2 jours et sur la moyenne des 20 jours et que la direction du signal est la même que celle de la forme de flash minimum des 3 jours.
Dans le code, on calcule d’abord la ligne moyenne de 2 jours et la ligne moyenne de 20 jours. Lorsque la ligne moyenne de 2 jours est traversée ou que la ligne moyenne de 20 jours est traversée, un signal d’achat/vente est généré.
Le signal de direction de la forme est ensuite réglé sur 1 ou -1 lorsque le plus bas flash de trois jours est détecté. Le signal de forme de la journée précédente est lu et combiné avec le signal de ligne moyenne actuel pour produire le signal d’entrée final.
Ainsi, en utilisant une combinaison de filtrage de l’équilibre et de la forme, il est possible de filtrer les faux signaux, ce qui rend la stratégie de trading plus fiable.
La combinaison de plusieurs indicateurs techniques peut jouer un rôle de complément et de vérification, améliorant la fiabilité du signal.
Un renversement de la ligne moyenne permet de saisir en temps opportun le point de renversement de la tendance et de profiter de l’opportunité de renversement. Les flashes minimales de trois jours peuvent confirmer davantage la formation du renversement.
La ligne moyenne de 20 jours suit les tendances à moyen et long terme, et la ligne moyenne de 2 jours est utilisée pour capturer les points d’entrée après ajustement à court terme. Une combinaison de plusieurs périodes permet de saisir complètement les tendances.
Cette stratégie est insensible aux paramètres et facile à mettre en œuvre et à optimiser.
Les formes inversées sont sujettes à des erreurs de jugement et nécessitent une expérience accumulée pour juger de leur fiabilité.
Le signal de retour peut être retardé, il est nécessaire d’observer les caractéristiques de la forme et d’ajuster la position.
Les variétés commerciales nécessitent une optimisation des tests et certains paramètres de variété peuvent nécessiter des ajustements.
Les contrôles de retrait nécessitent l’introduction d’un mécanisme de stop-loss pour éviter de rater un tournant important.
Tester différentes combinaisons d’homogénéité pour choisir le paramètre d’homogénéité qui convient le mieux à la variété.
L’introduction d’autres indicateurs auxiliaires, tels que le volume de transactions, les bandes de Brin, etc., est effectuée pour une vérification multi-indicateurs.
Ajout d’un module Stop Loss pour contrôler le retrait et le risque.
Optimiser les délais d’admission pour éviter les problèmes de démarrage trop tôt ou trop tard.
Optimisation des paramètres pour des variétés spécifiques, amélioration de l’adaptation.
La stratégie exploite pleinement les avantages de l’inversion linéaire et de la forme à court terme pour réaliser une combinaison efficace des deux, ce qui peut améliorer la stabilité et le taux de victoire du système de négociation. Cependant, il est nécessaire de prêter attention au contrôle des risques et de tester et d’optimiser les paramètres pour s’adapter aux caractéristiques des différentes variétés.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/12/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// This startegy based on 3-day pattern reversal described in "Are Three-Bar
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length ) =>
pos = 0.0
xPrice = close
xXA = ema(xPrice, Length)
nHH = max(high, high[1])
nLL = min(low, low[1])
nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
pos := iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0)))
pos
BarR()=>
pos = 0.0
pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0)))
pos
strategy(title="Combo 2/20 EMA & 3 Day Pattern", shorttitle="Combo", overlay = true)
var I1 = "●═════ 2/20 EMA ═════●"
Length = input(14, minval=1, group = I1)
//var I2 = "●═════ 3-Bar-Reversal-Pattern ═════●"
var misc = "●═════ MISC ═════●"
reverse = input(false, title="Trade reverse", group = misc)
var timePeriodHeader = "●═════ Time Start ═════●"
d = input(1, title="From Day", minval=1, maxval=31, group=timePeriodHeader)
m = input(1, title="From Month", minval=1, maxval=12, group=timePeriodHeader)
y = input(2005, title="From Year", minval=0, group=timePeriodHeader)
StartTrade = true
prePos3Bar = BarR()
posEMA20 = EMA20(Length)
pos3BarR = security(syminfo.tickerid, "D", prePos3Bar[1], barmerge.gaps_off, barmerge.lookahead_on)
pos = iff(posEMA20 == 1 and pos3BarR == 1 and StartTrade , 1,
iff(posEMA20 == -1 and pos3BarR == -1 and StartTrade, -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 )