[TOC]

Se você perguntar a um trader quantitativo qual é a sua maior dificuldade, além de “como encontrar bons sinais de entrada”, a resposta seria “onde devo definir meu stop loss?”.
Quando se trata de stop-loss, você se arrependerá se o acionar muito cedo, mas se arrependerá ainda mais se o acionar muito tarde. Você vê uma criptomoeda gerar um lucro de 1,4%, sentindo-se satisfeito por estar esperando que ela atinja sua meta de lucro de 2%, e então ela despenca como um tobogã, chegando a -0,1% e acionando seu stop-loss.
O que é ainda mais desanimador é que este não é um incidente isolado, mas sim um tema recorrente. A curva de lucro oscila drasticamente, como assistir a um filme de suspense sem roteiro.
Este artigo compartilhará vários métodos de stop-loss que testamos, baseados em uma estratégia de rotação real aprimorada por IA. Esperamos que isso sirva de inspiração para aqueles que também estão enfrentando dificuldades com o stop-loss.
Segue uma breve introdução à nossa estrutura estratégica:

Essa estratégia pode, de fato, identificar algumas criptomoedas promissoras e alcançar bons retornos seguindo a tendência. No entanto, o mercado de criptomoedas é extremamente volátil, frequentemente resultando em perdas significativas ou até mesmo em reversões para prejuízos, tornando as questões de stop-loss uma preocupação constante para nós. Assim, embarcamos em uma longa jornada para explorar soluções de stop-loss.

O trailing stop-loss é o método de stop-loss mais clássico. A lógica principal é simples:
Acompanhe o ponto de maior lucro desde que a posição foi aberta e acione um stop loss quando o preço recuar desse ponto mais alto em mais de uma porcentagem definida.
A filosofia por trás dessa abordagem é: “Não sei até onde o preço pode chegar, mas sei que devo sair quando ele começar a cair.”
// 核心逻辑
const currentPnl = (currentPrice - entryPrice) / entryPrice; // 当前盈亏
const drawdown = maxProfit - currentPnl; // 回撤幅度
// 更新最高盈利
if (currentPnl > maxProfit) {
maxProfit = currentPnl;
_G(symbolKey, maxProfit);
}
// 触发止损
if (drawdown >= TRAILING_STOP_PERCENT) {
closePosition(coin, "移动止损");
}
vantagem:
deficiência:

Como uma abordagem “tamanho único” para movimentar o stop-loss não é precisa o suficiente, definiremos estratégias diferentes com base em diferentes níveis de lucro.
Assim como em um jogo, você pode correr riscos na vila inicial, mas deve ser mais cauteloso quando for um personagem de nível máximo com bons equipamentos.
Nosso design em camadas:
| Faixa de Lucro | Nível de stop loss | modelo |
|---|---|---|
| < 0% | -1% | Proteja e evite perdas |
| 0% ~ 0.5% | 0% | Ponto de equilíbrio e stop-loss |
| 0.5% ~ 1% | +0.5% | Garantir lucros e evitar perdas |
| 1% ~ 1.5% | +1% | Garantir lucros e evitar perdas |
| 1.5% ~ 2% | +1.5% | Garantir lucros e evitar perdas |
| ≥ 2% | Ponto mais alto -1,5% | Suspensão móvel |
const STOP_LOSS_TIERS = [
{ minProfit: -Infinity, maxProfit: 0.0001, stopAt: -0.01 },
{ minProfit: 0.0001, maxProfit: 0.005, stopAt: 0 },
{ minProfit: 0.005, maxProfit: 0.01, stopAt: 0.005 },
// ... 更多层级
{ minProfit: 0.02, maxProfit: Infinity, trailing: 0.015 }
];
// 根据最高盈利找到对应层级,返回止损位
function calculateStopLevel(maxProfit) {
for (let tier of STOP_LOSS_TIERS) {
if (maxProfit >= tier.minProfit && maxProfit < tier.maxProfit) {
return tier.trailing ? maxProfit - tier.trailing : tier.stopAt;
}
}
}
vantagem:
deficiência:

Como se trata de uma estratégia de acompanhamento de tendências, vamos simplificar a abordagem, deixar os lucros correrem e usar apenas ordens de stop-loss. Às vezes, simplicidade e objetividade são virtudes.
Eu me concentro apenas em controlar as perdas; quanto ao quanto posso ganhar, deixo para os sinais da IA determinarem quando fechar a posição.
É adequado para cenários em que você acredita em sinais de entrada e precisa controlar apenas a perda máxima.
// 简单到令人发指
if (currentPnl <= -FIXED_LOSS_PERCENT) {
closePosition(coin, "固定止损");
}
vantagem:
deficiência:

Os resultados não têm sido ideais; muitas vezes não se atingem as metas de lucro. Como depender exclusivamente do stop-loss é uma medida extrema, vamos abordar ambas as situações:
Ao mesmo tempo, estabeleço metas de lucro e limites de stop-loss. Sei quanto quero e quanto posso suportar.
Parece muito racional, como se fosse o comportamento esperado de um trader experiente.
// 止盈检查
if (currentPnl >= FIXED_PROFIT_PERCENT) {
closePosition(coin, "固定止盈");
}
// 止损检查
if (currentPnl <= -FIXED_STOPLOSS_PERCENT) {
closePosition(coin, "固定止损");
}
vantagem:
deficiência:

Os resultados ainda foram insatisfatórios; o limite de realização de lucros, combinado com sinais de entrada instáveis, resultou em uma relação lucro/prejuízo negativa. Como é difícil controlar os lucros de forma confiável em um único par de moedas, vamos mudar nossa abordagem e combinar as estatísticas de várias moedas.
Os níveis de realização de lucros e stop-loss são calculados dinamicamente com base no número de posições mantidas. O desempenho individual não é relevante, desde que a equipe como um todo seja lucrativa.
Por exemplo: se cada posição for de 100U, mantendo 3 posições, com uma meta de lucro de 0,1, então a meta de lucro = 3 × 100 × 0,1 = 30U; a meta de stop-loss = 3 × 100 × -0,05 = -15U.
// 计算动态止盈止损额度
const profitTarget = positionCount * AMOUNT_PER_POSITION * PROFIT_RATIO;
const lossLimit = positionCount * AMOUNT_PER_POSITION * LOSS_RATIO;
// 检查总体盈亏
if (totalProfit >= profitTarget) {
closeAllPositions("止盈");
}
if (totalProfit <= -lossLimit) {
closeAllPositions("止损");
}
vantagem:
deficiência:

Após experimentar vários métodos de stop-loss, por vezes, pode-se deparar com um dilema filosófico:
Talvez o problema não seja que meu método de stop-loss esteja errado, mas sim que eu não deveria ter usado o stop-loss automático desde o início.
Modo Aleatório: Confie totalmente nos sinais de entrada e saída da IA, sem configurar nenhum stop-loss automático.
Cenas de aplicação:
if (STOP_MODE === "随缘") {
// 什么都不做,一切交给AI信号
return { status: "随缘模式", message: "不进行自动平仓" };
}
Embora o modo “deixar rolar” pareça muito tranquilo, ele exige um sistema de sinal robusto e um certo nível de força mental. Pessoas comuns devem usá-lo com cautela, caso contrário, seus fundos podem “ir embora com a correnteza” antes mesmo de você.
O texto acima descreve a estrutura estratégica geral para ordens de stop-loss. No entanto, estratégias mais refinadas podem ser implementadas na execução prática de ordens de stop-loss.
por exemploPerda de parada de inserção anti-pino:

Existe um fenômeno bem conhecido no mundo das criptomoedas chamado “flash crash” — uma flutuação repentina e acentuada de preços seguida por uma rápida recuperação, especificamente projetada para atacar aqueles que definiram ordens de stop-loss.
Uma estratégia para combater isso:Em vez de interromper imediatamente a perda, contamos o número de vezes que a linha de stop-loss é tocada dentro de um determinado período de tempo e só interrompemos a perda quando o limite é atingido.
A lógica é a seguinte: se for apenas um pico, o preço se recuperará rapidamente; se for uma verdadeira reversão de tendência, ele continuará a atingir a linha de stop-loss.
// 核心逻辑
let triggerCount = 0;
const THRESHOLD = 3; // 需要触及3次才真正止损
// 每次检查时
if (currentPnl <= STOP_LOSS_PERCENT) {
triggerCount++;
if (triggerCount >= THRESHOLD) {
closePosition(coin, "防插针止损");
triggerCount = 0;
}
} else {
triggerCount = 0; // 价格恢复,重置计数
}
É claro que isso também acarreta riscos: se o mercado realmente entrar em colapso, você poderá sofrer perdas ainda maiores porque estará “aguardando confirmação”. Portanto, é mais adequado para ambientes de mercado onde os picos e quedas de preços são frequentes.
Existem muitos designs refinados semelhantes, e a ideia central é a mesma:Dentro da estrutura estratégica geral, são feitas otimizações direcionadas para cenários específicos.

Após testarmos os métodos acima, chegamos a uma conclusão um tanto contra-intuitiva:
A estratégia de stop-loss móvel mais simples apresenta o melhor desempenho geral nessa abordagem.
Porquê?
Como o objetivo dessa estratégia é selecionar criptomoedas altamente promissoras, a valorização de algumas criptomoedas pode mascarar as perdas de outras. Portanto, ordens de stop-loss móveis mais flexíveis podem capturar melhor as tendências.
No entanto, isso não significa que o trailing stop-loss seja uma solução universal para todas as estratégias. Nossa conclusão é:
Para ser sincero, ainda não resolvemos completamente o problema do stop-loss; encontramos apenas uma solução relativamente aceitável nesta fase.
Existem diversas direções que consideramos valer a pena continuar explorando:
Ajuste dinâmico de parâmetros com base na volatilidade.Os parâmetros atuais de stop-loss são fixos, mas a volatilidade varia muito entre diferentes moedas e fases de mercado. Teoricamente, se o nível de stop-loss pudesse ser ajustado automaticamente com base no ATR (Tentativas de Ajuste de Perdas) recente, ele seria capaz de se adaptar melhor ao mercado. Claro, muitas vezes há uma grande diferença entre “teoricamente” e “na prática”.
Diferentes estratégias são utilizadas para diferentes moedas.Os movimentos de preço do BTC e das altcoins são completamente diferentes, portanto, usar a mesma lógica de stop-loss é inerentemente rudimentar. Talvez fosse melhor selecionar automaticamente o método de stop-loss mais adequado com base nas características históricas de volatilidade de cada moeda.
Levando em consideração o tempo de esperaDefinir uma ordem de stop-loss mais restrita ao abrir uma posição protege o capital. Quanto mais tempo a posição for mantida, mais estável será a tendência; quanto mais tempo a posição permanecer aberta, mais volátil ela se tornará, permitindo um stop-loss mais amplo para maior flexibilidade. Essa lógica parece razoável, mas ainda é necessário explorar como projetar especificamente a função de decaimento temporal.
Combine mais fontes de sinalAtualmente, as ordens de stop-loss são baseadas puramente no preço, mas combinar isso com sinais como volume de negociação incomum, mudanças nas taxas de financiamento e até mesmo o sentimento das notícias pode permitir uma avaliação mais precisa sobre se é um “recuo normal” ou uma “reversão de tendência”. É claro que, quanto mais fontes de sinal e mais complexo o sistema, maior a probabilidade de surgirem problemas.
Essas ideias ainda estão em fase de concepção. Compartilharemos com vocês assim que forem implementadas e apresentarem resultados.
Neste ponto, você pode se perguntar: Que tipo de stop-loss devo usar?
Minha resposta é:Experimente os dois.
Cada estratégia tem sua própria “personalidade” e cada mercado tem seu próprio “temperamento”. É preciso encontrar uma sinergia entre sua estratégia e o mercado. Os métodos de stop-loss são apenas ferramentas; o pré-requisito para usar ferramentas com eficácia é compreendê-las.
Se você tiver ideias melhores para stop-loss, fique à vontade para compartilhá-las — afinal, na jornada do trading quantitativo, somos todos viajantes que aprendem cometendo erros ao longo do caminho.
Por fim, um conselho:
Estancar as perdas não significa admitir a derrota, mas sim preparar-se para um ataque melhor na próxima vez.
Desejamos-lhe uma transação bem-sucedida! 🚀