
Cette stratégie utilise principalement la fourche dorée de la moyenne mobile et la ligne K pour la prise de décision à plusieurs niveaux. Faites plus lorsque la moyenne mobile à court terme est plus élevée que la moyenne mobile à long terme et faites moins lorsque la moyenne mobile à court terme est plus basse que la moyenne mobile à long terme.
Calculer les moyennes mobiles EMA1 et EMA2 pour deux périodes différentes.
Déterminez si EMA1 est en EMA2 et si oui, faites-en plus.
Détermine si l’EMA1 porte l’EMA2 et, si oui, déposez-le.
Pour déterminer si le cours de clôture a dépassé l’EMA1, un signal d’entrée est utilisé.
Mécanisme de sortie de stop-loss: définir un point de stop-loss fixe ou un stop-loss via le canal Donchian.
Les fonctions suivantes sont principalement utilisées:
La stratégie est simple, facile à comprendre et à mettre en œuvre.
Le suivi des tendances est effectué en utilisant les caractéristiques de suivi des tendances du système linéaire moyen.
La rupture combinée à la clôture de la ligne K peut servir d’occasion d’entrée pour éviter une fausse rupture.
Une combinaison linéaire flexible de différents paramètres, adaptée à différents cycles.
Un mécanisme de contrôle des pertes peut être mis en place.
Lorsque le marché est en situation de choc, la ligne moyenne génère des signaux fréquents de forcage doré et de forcage mort, qui peuvent être facilement interrompus.
Les points de stop-loss fixes peuvent être trop rigides et ne peuvent pas être ajustés en fonction des variations du marché.
Le système de ligne moyenne est plus retardé et peut facilement manquer un signal de retour au moment d’un revirement de tendance.
Il est nécessaire de déterminer avec précision la pente de l’équilibre pour filtrer les fausses percées.
Les paramètres doivent être choisis avec soin, car des combinaisons de paramètres trop fréquentes ou en retard peuvent nuire à l’efficacité de la stratégie.
Le croisement des axes zéro de l’indicateur MACD peut être utilisé pour déterminer la tendance et filtrer les oscillations.
Le canal Donchian peut être ajouté pour définir des lignes de stop-loss dynamiques et améliorer les problèmes de stop-loss fixes.
Les indicateurs de la ceinture de Brin peuvent être ajoutés pour évaluer les tendances fortes et faibles et éviter les transactions inefficaces dans les marchés en crise.
Optimiser les combinaisons de paramètres de la moyenne et tester l’efficacité réelle des différentes stratégies de cycle.
L’ajout d’une moyenne mobile fixe pourrait être envisagé pour éviter le retard.
L’idée générale de cette stratégie est simple et claire. Elle utilise les stratégies de trading standard standard de la ligne d’équilibre et de la ligne K pour filtrer efficacement les faux signaux. L’espace d’optimisation réside dans l’utilisation d’autres indicateurs pour déterminer la force de la tendance, la mise en place d’un arrêt dynamique, etc.
/*backtest
start: 2023-09-01 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title='Mega crypto bot strategy', shorttitle='megacryptobot_Strategy', overlay=true, pyramiding=0, initial_capital=10000, currency=currency.USD)
//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")
//-----------------Support and Resistance
RST = input(title='Support / Resistance length:', defval=10)
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)
//--------------------Trend colour ema------------------------------------------------//
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0 ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)
//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0 ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)
//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")
//============ signal Generator ==================================//
period = input('720')
ch1 = request.security(syminfo.tickerid, period, open)
ch2 = request.security(syminfo.tickerid, period, close)
longCondition = crossover(request.security(syminfo.tickerid, period, close),request.security(syminfo.tickerid, period, open))
if (longCondition)
strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, period, close),request.security(syminfo.tickerid, period, open))
if (shortCondition)
strategy.entry("SELL", strategy.short)
///////////////////////////////////////////////////////////////////////////////////////////