
Cette stratégie est basée sur le principe de la fourche dorée des courbes de vitesse et de lenteur. Faire plus lorsque la courbe de vitesse traverse la courbe de lenteur par le bas; faire moins lorsque la courbe de vitesse traverse la courbe de lenteur par le haut. Cette stratégie s’applique à la négociation de courbes de longueur moyenne et moyenne et permet de capturer le renversement de la tendance du marché.
La stratégie utilise l’exponential moving average (EMA) pour calculer les moyennes rapides et lentes. Les moyennes rapides ont une longueur de 10 cycles et les moyennes lentes ont une longueur de 30 cycles. La stratégie calcule d’abord les EMA rapides et les EMA lentes, puis trace la moyenne et affiche un fond de différentes couleurs pour indiquer la direction de la tendance de la moyenne.
Si la clôture du jour est supérieure à la moyenne rapide et que la moyenne rapide est supérieure à la moyenne lente, un fond vert est affiché pour indiquer une tendance à la hausse. Si la clôture du jour est inférieure à la moyenne rapide et que la moyenne rapide est inférieure à la moyenne lente, un fond rouge est affiché pour indiquer une tendance à la baisse.
En hausse, si la ligne K rouge apparaît (le cours de clôture est inférieur au cours d’ouverture) et que la ligne K rouge est également apparue hier, faites une entrée supplémentaire.
En baisse, si la ligne K verte apparaît (le cours de clôture est supérieur au cours d’ouverture) et que la ligne K verte a également été visible hier, le shorting est effectué.
Si la position est détenue plus de 1008000000 millisecondes (environ 2 semaines) après chaque transaction, la position est forcée à être levée, pour éviter la mort.
Cette stratégie est globalement équilibrée, elle utilise la double EMA pour identifier les tendances et la combinaison des entités de la ligne K avec des règles supplémentaires pour la négociation, ce qui permet de filtrer efficacement les faux signaux. Cependant, le système EMA et les paramètres de configuration doivent encore être optimisés et le mécanisme de stop-loss doit également être ajusté en fonction du marché.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © yeainshukla
//@version=5
strategy('BuyRedSellGreen4H', overlay = true)
greenCandle = close > open
redCandle = open > close
start = timestamp(2023,9,18,0,00)
end = timestamp(2023,12,31,0,00)
fastLength = input.int(10, title="Fast Average Length")
slowLength = input.int(30, title="Slow Average Length")
averageData = input.source(close, title="Average Data Source")
// Calculate exponential moving averages
fastAverage = ta.ema(averageData, fastLength)
slowAverage = ta.ema(averageData, slowLength)
// Plot averages
plot(fastAverage, color=color.navy, title="Fast EMA")
plot(slowAverage, color=color.fuchsia, linewidth=2, title="Slow EMA")
// Show the moving average trend with a coloured background
backgroundColor = if close > fastAverage and fastAverage > slowAverage
color.new(color.green, 85)
else if close < fastAverage and fastAverage < slowAverage
color.new(color.red, 85)
else
color.new(color.orange, 90)
bgcolor(backgroundColor, title="EMA Background")
if time >= start and time < end
if(close < open)
if(close[1] < open[1])
strategy.entry("Enter Long", strategy.long)
strategy.exit("Exit Long", from_entry="Enter Long")
strategy.close("Enter Short")
else
if(close[1] > open[1])
strategy.entry("Enter Short", strategy.short)
strategy.exit("Exit Short", from_entry="Enter Short")
strategy.close("Enter Long")
if strategy.position_size < 0 or strategy.position_size > 0// short and long is opened.
if((time - strategy.opentrades.entry_time(strategy.opentrades - 1)) > 1008000000)
strategy.close("Enter Short")
strategy.close("Enter Long")