Esta estratégia identifica tendências fortes e um momento favorável para negociações de curto prazo com controle de perdas.
Cálculo de médias móveis simples de vários períodos
Estabelecimento de SMAs de 9 dias, 50 dias e 100 dias
A SMA curta cruzando a SMA longa indica a direção da tendência
Avaliação dos níveis de sobrecompra/supervenda utilizando o RSI
O RSI tem 14 períodos.
RSI acima de 70 é sobrecomprado, abaixo de 30 é sobrevendido
Entrar em negociações quando o preço quebra a SMA de 9 dias
Ir longo quando o preço quebra acima da SMA de 9 dias
Ir para curto quando o preço quebra abaixo da SMA de 9 dias
Estabelecimento de stop loss/take profit com base nas divergências do RSI
Divergência do RSI para o stop loss
Tome lucro quando o RSI atingir níveis pré-estabelecidos
Captura tendências de curto prazo, adequadas para negociação de alta frequência
As combinações de SMA filtram os sinais de tendência, evitando maus negócios
RSI ajuda a determinar o momento, controlar eficazmente os riscos
Previsão de prejuízo
A combinação de indicadores melhora a estabilidade
Julgamentos imprecisos da tendência a curto prazo causam perseguição
Os falsos sinais de RSI aumentam as perdas
Configurações inadequadas de stop loss/take profit reduzem o lucro ou aumentam as perdas
A alta frequência de negociação aumenta os custos e o deslizamento
Parâmetros ineficazes e estratégia de impacto anormal dos mercados
Otimizar parâmetros, stop loss rigoroso, gerenciar custos
Teste diferentes combinações de SMA para melhorar o julgamento da tendência
Considere indicadores adicionais como o STOCH para verificar os sinais do RSI
Empregar aprendizado de máquina para determinar breakouts válidos
Ajustar parâmetros para diferentes produtos e sessões
Otimizar a lógica stop loss/take profit para trailing dinâmico
Explorar mecanismos de ajuste de parâmetros automáticos
Esta estratégia combina SMA e RSI para uma abordagem de negociação de curto prazo conservadora. Parâmetros de ajuste fino, validação de sinais, controle de riscos tornam-na mais robusta e adaptável. Há espaço para melhoria explorando mais combinações de SMA, adicionando modelos de aprendizado de máquina, etc. A otimização contínua levará a uma maior maturidade.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 3h 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/ // © Coinrule //@version=4 strategy(shorttitle='Maximized Scalping On Trend',title='Maximized Scalping On Trend (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations movingaverage_fast = sma(close, input(9)) movingaverage_mid= sma(close, input(50)) movingaverage_slow = sma(close, input (100)) //Trend situation Bullish= cross(close, movingaverage_fast) Momentum = movingaverage_mid > movingaverage_slow // RSI inputs and calculations lengthRSI = 14 RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="long", long = true, when = Bullish and Momentum and RSI > 50) //Exit TP = input(70) SL =input(30) longTakeProfit = RSI > TP longStopPrice = RSI < SL strategy.close("long", when = longStopPrice or longTakeProfit and window()) plot(movingaverage_fast, color=color.black, linewidth=2 ) plot(movingaverage_mid, color=color.orange, linewidth=2) plot(movingaverage_slow, color=color.purple, linewidth=2)