Cette stratégie utilise principalement des indicateurs EMA et d'écart type pour déterminer la direction de la tendance à travers les signaux croisés EMA et recherche des signaux de rupture avec écart type pour générer des signaux d'achat et de vente.
La stratégie est composée de trois parties principales:
Différence EMA (s2): Calculer la différence entre EMA rapide (ema_range) et EMA lente (ema_watch) pour déterminer la direction de la tendance des prix.
Canaux de déviation standard (s3): Construire le canal supérieur et inférieur basé sur la différence EMA avec des multiples de déviation standard.
Signaux et drapeaux: Générer des signaux d'achat lorsque les prix franchissent le rail supérieur de bas en haut, et des signaux de vente lorsque les prix franchissent le rail inférieur de haut en bas.
Grâce à cette combinaison d'indicateurs, il peut capturer la direction de tendance des prix et générer des signaux d'achat et de vente à des points clés, ce qui appartient à une stratégie de suivi de tendance typique.
La stratégie présente les avantages suivants:
Il y a aussi des risques:
Les solutions:
La stratégie peut être optimisée dans les directions suivantes:
En résumé, il s'agit d'une stratégie de suivi de tendance typique utilisant l'EMA et l'écart type pour construire un système d'indicateurs et générer des signaux de drapeau à des points clés. Les avantages résident dans la capture des tendances et l'évitement de faux signaux avec écart type. Les principaux risques proviennent de signaux erronés sur les marchés à plage et des risques de retrait en raison de l'absence de stop loss. En ajoutant des indicateurs de jugement, en optimisant les paramètres et en ajoutant un stop loss, la stratégie peut être encore améliorée en termes de stabilité et de rentabilité. Dans l'ensemble, le cadre de la stratégie est raisonnable et a un grand potentiel d'optimisation.
/*backtest start: 2023-09-27 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ROCKET_EWO", overlay=true) ema_range = input(5) ema_watch = input(13) inval_a = input(open) inval_b = input(open) ratio = input(0) max = 5000 s2=ta.ema(inval_a, ema_range) - ta.ema(inval_b, ema_watch) c_color=s2 <= ratio ? 'red' : 'lime' s3 = s2 + (ta.stdev(open, 1)) * 5.618 plotshape(s3, color=color.white, style=shape.cross, location=location.abovebar, size=size.auto, show_last=max, transp=30, offset= 0) cr = s2 > 0 alertcondition(cr, title='[Rocket_EWO]', message='[Rocket_EWO]') buy = s2 > 1 sell = s2 < -1 txt = "🚀" + "\n"+ "\n"+ "\n"+ "\n" plotshape(buy, color=color.lime, style=shape.triangleup, location=location.belowbar ,color=color.white, text=txt, size=size.normal, show_last=max, transp=1, offset= -3) plotshape(not buy, color=color.red, style=shape.triangledown, location=location.belowbar, size=size.normal, show_last=max, transp=1, offset= 0) signalperiod = time s4 = ta.cross(s2, 0) ? time : na colsig= s2 <= ratio ? color.red : color.lime plotshape((time==s4)?7000:na,color=color.blue, style=shape.flag, location=location.abovebar, size=size.large, transp=1) longCondition = ta.crossover(s2, 1.618) if (longCondition) strategy.entry("LONG Id", strategy.long) shortCondition = ta.crossunder(s2, 1.618) if (shortCondition) strategy.entry("SHORT Id", strategy.short) strategy.close("LONG Id", when = s2 < 0.218) // strategy.risk.max_drawdown(75, strategy.percent_of_equity)