Cette stratégie utilise des moyennes mobiles doubles pour former un canal et capturer la direction de la tendance. Les signaux de trading sont générés lorsque le prix traverse le canal. L'indicateur RSI est également incorporé pour filtrer les fausses ruptures.
La stratégie utilise deux moyennes mobiles de longueur 5, l'une calculée à partir du prix le plus élevé et l'autre à partir du prix le plus bas, pour former un canal de prix.
Pour éviter une fausse rupture, l'indicateur RSI est ajouté pour mesurer les niveaux de surachat/survente.
En outre, la stratégie n'est négociée que pendant la session de Londres (3h à 11h), avec un maximum de 5 ordres par jour et une perte maximale de 2% du capital par jour.
Le canal double MA peut détecter efficacement la direction de la tendance des prix.
L'utilisation d'un filtre RSI suracheté/survendu réduit certains faux signaux de rupture causés par les fluctuations de prix.
La tolérance au risque est également définie par une perte quotidienne maximale de 2%.
Les paramètres peuvent être optimisés et plus de filtres ajoutés pour réduire ce risque.
L'utilisation de pips fixes pour SL/TP risque d'être arrêtée/de manquer des bénéfices sur un marché volatil.
L'ouverture de positions uniquement pendant les sessions fixes présente le risque de manquer des transactions potentielles à d'autres heures.
Optimiser les paramètres tels que la longueur MA, les chiffres RSI, les points SL/TP fixes, etc. pour trouver la meilleure combinaison.
Ajouter plus d'indicateurs ou de conditions pour vérifier les signaux, par exemple un volume plus élevé, une largeur BB réduite, etc., afin d'éviter de fausses ruptures.
Utilisez un stop loss/take profit basé sur le pourcentage ou dynamique au lieu de pips fixes pour mieux gérer les mouvements unilatéraux du marché.
Vérifiez manuellement les signaux, ou entrez uniquement à l'évasion confirmée pour éviter d'être pris au piège.
La stratégie est assez simple et pratique dans l'ensemble, en utilisant le double canal MA pour déterminer la tendance et le RSI pour filtrer les fausses ruptures.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-16 23:59:59 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/ // © SoftKill21 //@version=4 strategy(title="Moving Average", shorttitle="MA", overlay=true) timeinrange(res, sess) => time(res, sess) != 0 len = input(5, minval=1, title="Length") src = input(high, title="Source") offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500) out = sma(src, len) plot(out, color=color.white, title="MA", offset=offset) len2 = input(5, minval=1, title="Length") src2 = input(low, title="Source") offset2 = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500) out2 = sma(src2, len2) plot(out2, color=color.white, title="MA", offset=offset2) length = input( 5 ) overSold = input( 10 ) overBought = input( 80 ) price = input(close, title="Source RSI") vrsi = rsi(price, length) longcond= close > out and close > out2 and vrsi > overBought shortcont = close < out and close < out2 and vrsi < overSold tp=input(150,title="tp") sl=input(80,title="sl") strategy.entry("long",1,when=longcond) //strategy.close("long",when= close < out2) strategy.exit("long_exit","long",profit=tp,loss=sl) strategy.entry("short",1,when=shortcont) //strategy.close("short",when=close >out) strategy.exit("short_exit","short",profit=tp,loss=sl) // maxOrder = input(6, title="max trades per day") // maxRisk = input(2,type=input.float, title="maxrisk per day") // strategy.risk.max_intraday_filled_orders(maxOrder) // strategy.risk.max_intraday_loss(maxRisk, strategy.percent_of_equity) // strategy.close_all(when =not timeinrange(timeframe.period, "0300-1100"))