MRS
MRS - Mean Reversion Strategy. É uma estratégia contra-tendência baseada na suposição de que o preço volta à sua média depois de se desviar dela. A ordem de abertura é colocada a uma distância do preço médio. A ordem de fechamento é colocada no preço médio, sem deslocamento. Em um desvio brusco do preço a posição é aberta e fecha quando o preço volta à média.
As operações são geradas quando o preço se afasta da média em um certo percentual. ⚠️ Mas se o preço continuar se movendo na mesma direção sem correção, a posição ficará no prejuízo. O preço cai - a estratégia compra (vai contra a tendência). O preço sobe - ela vende (também contra a tendência). Mas, cedo ou tarde, o fechamento acontece no preço médio.
Em geral, nesta estratégia as posições são mantidas por pouco tempo. E em um mercado calmo é possível ficar muito tempo sem posição.
Tipo de ordem usado: Limite. Colocada antecipadamente e movida conforme o preço médio muda.
Na forma mais simples há três linhas MA (médias móveis) no gráfico.
● A MA base Fúcsia mostra o preço da ordem limite de fechamento. Sem deslocamento
● A MA Long Verde - preço da ordem limite BUY que abre a posição LONG. É a MA base deslocada um % para baixo.
● A MA Short Vermelha - preço da ordem limite SELL que abre a posição SHORT. É a MA base deslocada um % para cima.
Como funciona: se long e short estiverem ativados, são colocadas 2 ordens. Se só long ou só short, 1 ordem. Enquanto aguardam a posição, as ordens se movem pelas suas linhas a cada novo candle. Quando o preço chega à nossa ordem de abertura, a posição é aberta e uma ordem de fechamento é colocada na MA base. A ordem de fechamento também se move pela sua MA até ser executada. Depois o ciclo se repete.
Configuração das linhas MA (ordens de abertura e fechamento)
Pode haver várias linhas de abertura para cada lado (ma_long, ma_short) - assim se forma uma grade de ordens com aumento de posição (MultiMA).
Há uma linha de fechamento para cada lado (ma_close_long, ma_close_short) - a posição inteira é fechada com uma ordem.
- id - número de ordem da linha, sem repetições
- type - tipo de média móvel
SMA, EMA, GMA, HARMONIC, TEMA, DEMA, ZLEMA, WMA, VWMA, RMA, EHMA, THMA, HMA, DMA, ATR, H, L - source - fonte do preço
open, high, low, close, hl2, hlc3, ohlc4, hlcc4, oc2 - len - comprimento da MA
- multiplier - deslocamento. 1 significa sem deslocamento, 0.99 significa -1%, 1.01 significa +1%
- lot_x - multiplicador do lote: tamanho da ordem = lote base * lot_x. Não é usado na ordem de fechamento
- order_type -
limitoumarket. A ordem a mercado é enviada quando o preço chega à linha - post_only - ordem limite somente como maker
- hidden - ordem limite oculta (só BitMEX)
Configuração do lote. Nas configurações básicas defina balance_percentage = 100 e risk = 1. Então lot_x = 1 - ordem de 100% do saldo, 0.5 - de 50%, 1.5 - de 150%.
Parâmetros da estratégia
entry_on_close- para ordens de abertura a mercado: verificar a condição de entrada pelo preço de fechamento do último candle, e não pelo preço atualtrade_offset- para ordens de abertura a mercado: usar o valor da MA de N candles atrásreverse_mode- para ordens de abertura a mercado: entrar não quando o preço cruza a linha, mas quando o preço está acima da linha (para compra) ou abaixo dela (para venda), a no máximo 1% delarecalculate- recalcular o tamanho das ordens a cada atualização, mesmo que a posição já esteja abertaclose_on_signal- a partir do segundo candle após a entrada, fechar a posição com ordem a mercado assim que o preço tocar a linha de fechamentoclose_on_wrong_side- se o preço passou da linha de fechamento em mais de 0.5% e a ordem limite não foi executada, fechar a posição com ordem a mercadoemergency_stop- parada de emergência: se a linha de abertura ficou do outro lado da linha de fechamento (as linhas se cruzaram), o bot cancela todas as ordens e fecha a posiçãonotification_trade_report- relatório no Telegram para cada operação fechada: preço médio de entrada, preço de saída e resultado em %position_priority- prioridade da posição para o limitador de posições (veja abaixo)
Limitador de posições
O limitador é definido para a chave de API com o parâmetro "open_positions_limiter": 64 no arquivo da chave na pasta settings_account. Padrão 0 - desligado.
Participam do limitador apenas os bots MRS cujo position_priority não é 0.
position_priorityde 1 a 5. 5 é a menor prioridade, essa posição fecha primeiro- Se houver tantas posições abertas quanto o definido no limitador, as ordens de abertura são canceladas nos pares sem posição - novas posições não são abertas
- Se abrirem mais posições que o limite (por exemplo, ao mesmo tempo), as excedentes são fechadas: primeiro as de prioridade 5, depois 4, 3, 2, 1. Com prioridade igual - uma aleatória
- Posições com prioridade 0 não são contadas nem fechadas pelo limitador
Na interface o limitador aparece assim: [100 | (4/64)] - 100 bots nesta API, 4 posições abertas, limite 64.
O mesmo parâmetro open_positions_limiter também limita as estratégias HiDeep, RedFlag, SmartProfit e ShadowOverlap: quando há tantas posições abertas nelas quanto o limite, os bots sem posição não abrem novas operações. Prioridades não são usadas para elas.
ColorBox - fechamento no N-ésimo candle
Uma opção de fechamento que transforma o MRS em ColorBox: a posição fecha no fechamento do N-ésimo candle após a entrada. É possível adicionar uma condição de cor do candle, por exemplo fechar após o 2º candle verde. Configurado separadamente para long e short. Detalhes na seção "Fechamento da posição e opções gerais".
Backtest
Testar no backtester embutido
Script (PineScript) para testar a estratégia em dados históricos no testador de estratégias do TradingView. A estratégia é popular e você pode encontrar muitas variações com nomes diferentes.
-
Links:
- Versão simples da estratégia com o mínimo de configurações. Recomendo começar a conhecer a estratégia por este script.
- Script com um grande conjunto de parâmetros que podem ser reproduzidos no bot.
- Script que permite colocar várias ordens de abertura (aumentando a posição | preço médio).
Recomendações:
(não são rígidas e podem ser quebradas para fins de pesquisa)
● A ordem limite limita a capacidade da estratégia. Em instrumentos de baixa liquidez o resultado no testador será superestimado.
● No spot teste só long. Long e short ao mesmo tempo é para usuários experientes.
● Em futuros, uma estratégia contra-tendência tem risco de liquidação.
● Timeframe típico - 1h. Pares altcoin/bitcoin ou altcoin/altcoin.
Teste a estratégia com dados históricos no testador e execute-a no hamster-bot.