[TOC]

A estratégia apresentada neste artigo foi disponibilizada em código aberto pelo usuário @Gianbin e é uma versão modificada da nossa estrutura anterior de fluxo de trabalho com negociação dupla. Agradecemos a sua generosa contribuição; a descrição completa da lógica da estratégia encontra-se abaixo.
No mundo das criptomoedas, surgem frequentemente as “moedas monstruosas” — aquelas que valorizam 30-40% ou até dobram de valor em um único dia. Essas moedas parecem tentadoras, mas…Quanto mais acentuada for a subida, mais severa tende a ser a correção.。
Essa estratégia tira proveito dessa característica:
Princípios gerais de gestão de fundos:Tamanho de posição fixo de 50U, tamanho total da posição controlado dentro de 500U.Os riscos são relativamente controláveis.

As estratégias são divididas emDois processos independentesCada um desempenha suas próprias funções:
Processo de negociação principal (a cada 15 minutos)Filtrar a lista dos maiores ganhadores → Coletar dados → Análise por IA → Executar posições
Processo de monitoramento do controle de riscos (a cada 5 segundos)Monitoramento de mercado em tempo real → Detecção de lucros e stop-loss → Média de posições em pirâmide invertida → Painel visual
As decisões estratégicas podem ser tomadas gradualmente, mas as respostas ao controle de riscos devem ser rápidas. É por isso que as frequências de acionamento das duas linhas diferem tanto.
O gatilho temporizado é ativado a cada 15 minutos, coletando todos os dados do contrato perpétuo de USDT da Binance e selecionando as 20 principais criptomoedas com um aumento superior a 10% nas últimas 24 horas. Ele também exclui automaticamente posições já existentes para evitar entradas duplicadas.
// 核心筛选逻辑(节选)
const minChange = $vars.minChange || 0.1; // 默认涨幅阈值10%
const topN = $vars.topN; // 取前N名,默认20
// 过滤USDT永续合约,计算24h涨幅
const change24h = open24h > 0 ? (price - open24h) / open24h : 0;
if (change24h < minChange) continue; // 低于阈值直接跳过
// 排除已持仓币种
if (excludeHolding && holdingSymbols.indexOf(symbol) !== -1) continue;
// 按涨幅降序,取前N名
usdtPairs.sort((a, b) => b.change24h - a.change24h);
const topGainers = usdtPairs.slice(0, topN);
Esta etapa equivale a uma “seleção preliminar”, onde as moedas mais voláteis e imprevisíveis são selecionadas e reservadas para uso futuro.
Analisar apenas o aumento de preço não é suficiente; o sistema também coletará simultaneamente os seguintes dados para se preparar para a análise por IA:
| Dimensões dos dados | significado | Utilização |
|---|---|---|
| Interesse em Aberto (OI) | Total de interesses em aberto no mercado de contratos | Medindo a liquidez e o sentimento do mercado. |
| Taxas de financiamento | Relação de pagamento entre lados comprados e vendidos | Determine se a venda a descoberto está sobrecarregada. |
| Capitalização de mercado (MCap) | Capitalização de mercado em circulação | Calcule a relação de alavancagem OI/MCap |
| Dados de Candlestick | Gráfico diário OHLCV | Análise técnica |
A relação OI/MCap é a métrica principal.Quanto maior essa proporção, maior a alavancagem de mercado, maior o risco de chamadas de margem e maiores as chances de lucro ao vender a descoberto.。
// 通过币安API获取持仓量(节选)
const ret = exchange.IO("api", "GET", "/fapi/v1/openInterest", "symbol=" + symbol);
if (ret && ret.openInterest) {
openInterest = parseFloat(ret.openInterest) * coin.price; // 折算成USD
}
// 计算OI/MCap比率
const oiMcapRatio = marketCap > 0 ? openInterest / marketCap : 0;
Os dados de capitalização de mercado são obtidos da API do CoinMarketCap e armazenados em cache localmente por 30 minutos para evitar chamadas frequentes a interfaces externas.
Este é o cerne de toda a estratégia. Após a coleta dos dados, eles são agrupados e enviados para a IA (aqui, a IA é utilizada).x-ai/grok-4.1-fastAs notas são atribuídas numa escala de 0 a 10, e apenas os candidatos que obtiverem nota igual ou superior a 8 serão incluídos na lista de candidatos para as vagas disponíveis.
| fator | Peso | Lógica de Pontuação |
|---|---|---|
| Relação OI/MCap | 3.5 | Uma pontuação acima de 35% é perfeita; quanto maior a alavancagem, mais perigoso é. |
| Padrões de Castiçal | 2.8 | Sombras superiores longas/velas doji de alto nível e outros sinais de topo têm grande peso. |
| Cargos | 1.5 | Quanto melhor a liquidez, maior a pontuação. |
| Volume de negociação | 1.5 | Quanto mais ativa a negociação, maior a pontuação. |
| Aumentar | 0.5 | Passou pela triagem inicial, mas o nível de discriminação é baixo. |
| Taxas de financiamento | 0.2 | Quanto mais aglomerados estiverem os touros, maior será a pontuação. |
A relação OI/MCap tem o maior peso (3,5 pontos) porque reflete diretamente o grau de alavancagem do mercado — quanto maior a alavancagem, mais fácil é desencadear uma onda de liquidações quando o mercado se inverte e maiores as chances de sucesso em operações de venda a descoberto.
Longa sombra superior rompe nova máxima (2,8 pontos): O preço atinge uma nova máxima e a sombra superior é mais de duas vezes maior que o corpo. Sombra superior longa de alto nível (2,4 minutos): Sombra superior > 2 vezes o corpo, e o preço de fechamento está próximo da máxima de 24 horas. Padrão de vela de baixa com alto volume (2,0 minutos): Fecha em baixa e o volume de negociação é 1,5 vezes maior que o do dia anterior. Doji de alto nível (1,8 minutos): Tamanho do corpo < amplitude × 0,1, e o preço está próximo do seu ponto mais alto. Dois candles de baixa consecutivos (1,5 minutos)
Antes da pontuação por IA, a estratégia realiza diversos filtros rigorosos, ignorando os itens que não atendem aos critérios e não os pontuando:
// 周线最高价计算(节选)
const weeklyHigh = Math.max(...klines.slice(-7).map(k => k.high));
const weeklyDrawdown = (weeklyHigh - price) / weeklyHigh;
if (weeklyDrawdown > 0.05) {
// 距周线高点超5%,跳过
filtered.weeklyDrawdown++;
continue;
}
Quando a pontuação total for ≥ 8,0 e o drawdown intradiário for ≤ 5%, uma decisão é tomada: se a taxa de financiamento for ≥ -0,15%, a ordem de “Abrir Vendido” é executada; se a taxa de financiamento estiver entre -0,20% e -0,15%, a ordem de “Vender com Cautela” é executada. Nenhuma ordem ou posição é aberta para alvos com pontuação total < 8,0.
A IA gera resultados de decisão em formato JSON, que são então analisados pelo nó de execução de transações antes de serem usados para efetuar pedidos.
// 执行开空(节选)
function executeShort(coin, signalInfo) {
exchange.SetCurrency(coin + '_USDT');
exchange.SetContractType("swap");
exchange.SetMarginLevel(CONFIG.DEFAULT_LEVERAGE); // 设置需求杠杆
// 根据固定金额计算张数
const contractAmount = calculateContractAmount(
CONFIG.FIXED_AMOUNT_USD, // 固定50U
currentPrice,
market
);
exchange.SetDirection("sell");
const orderId = exchange.Sell(-1, contractAmount); // 市价开空
if (orderId) {
_G(`${coin}_USDT.swap_maxprofit`, 0); // 初始化最高盈利记录
Log(`✅ ${coin}: 开空成功 评分${signalInfo.score}`);
}
}
Cada posição é fixada em 50U, tornando o risco único e controlável.
Acionado a cada 5 segundos, monitora continuamente todas as posições e executa duas funções principais:Média da pirâmide invertida e Parar de perder。
Este é o elemento de design mais interessante desta estratégia. Após uma venda a descoberto, se o preço subir em vez de cair, uma pessoa normal limitaria suas perdas e sairia da posição. Mas esta estratégia opta por…Adicionando posições contra a tendência.—Quanto mais sobe, mais você compra, porque quanto mais sobe, maior tende a ser a correção posterior.
As regras para adicionar a uma posição são as seguintes:
A posição inicial é de 50U (o preço de abertura é registrado como P0). Se o preço subir 50% a partir de P0, a primeira posição adicional de 150U é acionada, e o preço nesse ponto é registrado como P1. Se o preço continuar subindo 70% a partir de P1, uma segunda posição adicional de 300U é acionada. Um máximo de duas posições adicionais podem ser adicionadas, com um limite total de 500U (50 + 150 + 300).
// 加仓触发检测(节选)
function checkAndExecutePyramidAdd(coin, entryPrice, currentPrice, isShort) {
const addCount = _G(addCountKey) || 0;
if (addCount >= 2) return null; // 最多加仓两次
if (addCount === 0) {
// 第一次加仓:从开仓价涨50%触发
triggerPrice = storedEntryPrice * (1 + PYRAMID_CONFIG.ADD1_TRIGGER);
addAmount = PYRAMID_CONFIG.ADD1_AMOUNT; // 150U
} else if (addCount === 1) {
// 第二次加仓:从第一次加仓价涨70%触发
triggerPrice = add1Price * (1 + PYRAMID_CONFIG.ADD2_TRIGGER);
addAmount = PYRAMID_CONFIG.ADD2_AMOUNT; // 300U
}
if (currentPrice >= triggerPrice) {
return { level: addCount + 1, amount: addAmount, triggerPrice, currentPrice };
}
return null;
}
A lógica deste projetoCriptomoedas altamente voláteis tendem a ficar cada vez mais frenéticas à medida que sobem, criando uma bolha cada vez maior. Quando eventualmente sofrem uma correção, a alta alavancagem leva a uma queda ainda mais acentuada. Manter uma posição maior no pico pode amplificar os lucros quando o mercado reverter.
Os riscos também são óbvios.Caso a criptomoeda não consiga recuperar seus ganhos (por exemplo, durante um mercado de alta genuíno com movimentos de preço unilaterais), as perdas serão amplificadas. Portanto, as contas devem manter fundos suficientes para mitigar o risco de volatilidade e evitar liquidações forçadas. A estratégia também limita explicitamente o tamanho das posições a 500 USDT, impedindo a adição ilimitada de posições.
Realização de lucrosRecuar para realizar o lucroUm padrão, não uma meta de lucro fixa:
Quando o lucro máximo de uma posição atinge 35%, o monitoramento de drawdown é iniciado automaticamente; assim que o drawdown atinge 5% em relação ao ponto de lucro máximo, a liquidação é acionada imediatamente.
A vantagem desse modelo é que ele “deixa os lucros correrem” — ele impede que você perca lucros maiores realizando-os muito cedo, e também evita que você perca todos os seus lucros flutuantes ao optar por uma estratégia de “alinhamento de preço”.
// 自动止盈触发逻辑(节选)
if (enableAutoTpDrawdown && isShort && tpDrawdown === 0 && maxPnlPercent >= autoTpTrigger) {
tpDrawdown = autoTpDrawdownValue; // 设置5%回撤止盈
_G(tpDrawdownKey, tpDrawdown);
Log(`🎯 ${coin} 最高盈亏达${maxPnlPercent}%,自动启用止盈回撤5%`);
}
// 触发止盈
if (tpDrawdown > 0 && maxPnlPercent > 0 && drawdown >= tpDrawdown) {
autoCloseReason = `止盈回撤(回撤${drawdown}%≥${tpDrawdown}%)`;
}
Em relação ao stop-loss, é possível definir manualmente um percentual fixo de stop-loss como proteção contra perdas.

A estratégia possui quatro painéis de monitoramento integrados para facilitar o acompanhamento em tempo real do seu status operacional:
Visão geral da contaPatrimônio líquido, lucro/prejuízo acumulado, margem de lucro e alavancagem da conta (com indicadores de cores para cada nível de risco).
medidor de sinal de IARegistre a pontuação, a conclusão, as pontuações dos fatores e os motivos para cada decisão da IA, eliminando a necessidade de adivinhar o que a IA está pensando.
Mesa de Monitoramento de PosiçãoExibição em tempo real do preço de entrada, preço atual, lucro/prejuízo não realizado, recorde de maior lucro, drawdown atual, preço de ativação para aumentar posições e status de stop-loss/take-profit para cada posição.
Detalhes da gradeStatus da ordem ao usar negociação em grade:
Atualiza a cada 5 segundos através da plataforma FMZ.LogStatusÉ apresentada como uma tabela interativa, que permite operações como clicar diretamente para fechar posições e modificar os parâmetros de stop-loss e take-profit.
O pensamento contrário cria naturalmente uma força de oposição.Vender a descoberto quando o mercado está em alta oferece ampla liquidez e mínima derrapagem.
A triagem multifatorial orientada por IA não se trata de apostar cegamente na queda das vendas.O sistema utiliza uma avaliação abrangente em seis dimensões para filtrar um grande número de sinais de baixa qualidade, concentrando-se apenas em alvos com pontuação igual ou superior a 8.
A estratégia da pirâmide invertida, combinada com a realização de lucros baseada em recuos do mercado, oferece uma boa relação risco-recompensa.Aumente sua posição conforme os preços sobem, pois as reversões podem ser significativas e os lucros potenciais são altos; não há um ponto fixo para realização de lucros, permitindo que os lucros sejam totalmente aproveitados.
Controle de posição rigorosoO valor máximo por transação é de 500 USDT, então mesmo que você perca tudo, ainda é administrável.
Perdas contínuas durante um mercado de alta unilateralSe o mercado entrar em um forte ciclo de alta, aqueles que estão na lista de ganhadores com vendas a descoberto podem sofrer uma série de perdas.
A média em pirâmide invertida é uma faca de dois gumes.Aumentar uma posição contra a tendência amplifica tanto os lucros quanto as perdas. Se uma criptomoeda volátil continuar a subir (por exemplo, devido a notícias positivas significativas sobre um projeto), todas as três posições podem resultar em perdas, com uma perda máxima de 500 USDT.
Cenas de aplicaçãoEste método não é adequado para mercados voláteis ou em tendência de baixa, nem para mercados de alta unilaterais. É necessário um conhecimento básico do ambiente geral do mercado antes de utilizá-lo.
A ideia central desta estratégia é:Substitua o julgamento subjetivo por dados e IA, e substitua a ilusão por um controle de posição rigoroso.。
Seja no design do sistema de pontuação de seis fatores ou na seleção da relação OI/MCap como indicador principal, fica claro que o autor possui um sólido conhecimento da microestrutura do mercado — sabendo quais indicadores são realmente úteis e quais são ruído.
É claro que toda estratégia tem suas limitações. As ferramentas são estáticas, mas o mercado é dinâmico. Recomenda-se realizar testes retrospectivos completos antes de operar com dinheiro real, ajustando os parâmetros de acordo com sua própria tolerância ao risco e evitando copiar estratégias cegamente.
Um agradecimento especial ao usuário @GianbinEssa estratégia foi compartilhada sem reservas, revelando a lógica por trás dela. É esse espírito de código aberto que permite que mais pessoas aprendam e explorem as possibilidades da negociação quantitativa. Se você também tiver boas ideias de estratégia, sinta-se à vontade para compartilhá-las!