Esta estratégia usa médias móveis duplas para formar um canal e capturar a direção da tendência. Os sinais de negociação são gerados quando o preço atravessa o canal. O indicador RSI também é incorporado para filtrar falhas.
A estratégia emprega duas médias móveis de comprimento 5, uma calculada a partir do preço mais alto e a outra a partir do preço mais baixo, para formar um canal de preços.
Para evitar falhas, o indicador RSI é adicionado para medir os níveis de sobrecompra/supervenda.
Além disso, a estratégia é negociada apenas durante a sessão de Londres (3h - 11h), com um máximo de 5 ordens por dia e uma perda máxima de 2% de capital por dia.
O canal MA duplo pode detectar efetivamente a direção da tendência do preço.
O uso do filtro RSI sobrecomprado/supervendido reduz alguns falsos sinais de ruptura causados pela flutuação dos preços.
A perda diária máxima de 2% também define a tolerância ao risco.
Os parâmetros podem ser otimizados e mais filtros adicionados para reduzir esse risco.
Usar pips fixos para SL/TP corre o risco de parar/perder lucro em um mercado volátil.
A abertura de posições apenas durante sessões fixas corre o risco de perder negociações potenciais em outras horas.
Otimizar parâmetros como comprimento MA, números RSI, pontos fixos SL/TP etc. para encontrar a melhor combinação.
Adicionar mais indicadores ou condições para verificar os sinais, por exemplo maior volume, largura BB reduzida, etc., para evitar falhas.
Utilize stop loss/take profit baseado em percentagem ou dinâmico em vez de pips fixos para lidar melhor com movimentos unilaterais do mercado.
Reveja manualmente os sinais, ou só entre em fuga confirmada para evitar ser preso.
A estratégia é bastante simples e prática em geral, usando canal duplo de MA para determinar tendência e RSI para filtrar falhas. A gestão de risco através de horas de negociação e limite de perda também define a tolerância ao risco. Ainda há muito espaço para melhorias, por exemplo, ajuste de parâmetros, melhor mecanismo SL / TP etc.
/*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"))