2
focar em
387
Seguidores

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.

Criado em: 2026-02-03 17:28:39, atualizado em: 2026-02-04 16:56:01
comments   0
hits   635

[TOC]

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.

introdução

No último vídeo, apresentamos uma estratégia de média móvel dupla usando ClawdBot/OpenClaw. Muitos espectadores ainda não estavam satisfeitos e perguntaram nos comentários: a IA pode analisar as condições de mercado, tomar suas próprias decisões e executar ordens por conta própria? Hoje, vamos em busca desse objetivo final e construir um sistema de negociação totalmente automatizado por IA.

Alguns amigos estão preocupados com o fato de permitir que a IA negocie diretamente ser muito arriscado, então projetamos uma arquitetura mais segura:ClawdBot como o cérebroÉ responsável por coletar dados, analisar notícias e gerar sinais de negociação;Plataforma de Quantificação de Inventores (FMZ) como um dispositivo de duas mãosÉ responsável por receber sinais, executar transações e gerenciar o controle de riscos. Isso aproveita as capacidades analíticas da IA, oferece as garantias de segurança de uma plataforma profissional e permite o monitoramento e a revisão em tempo real.

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.


I. Decomposição da Arquitetura do Sistema

Antes de começarmos, vamos analisar todo o sistema. O sistema completo consiste em…fim do cérebroeFim da execuçãoComposto por dois componentes principais, interligados por meio de requisições HTTP, formando um circuito fechado completo de negociação quantitativa com IA:

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.

1. ClawdBot (Terminal Cerebral)

  1. Coletar dados em tempo realAcesso automatizado via navegador para obter preços em tempo real, volumes de negociação e atualizações de notícias para criptomoedas específicas.
  2. Analisando o sentimento das notíciasA inteligência artificial integra conteúdo de notícias para determinar se o sentimento do mercado é positivo, negativo ou neutro.
  3. Gerar JSON de decisão de transaçãoA ferramenta combina análise de dados e de sentimentos para gerar decisões de compra, venda ou cautela, e as empacota em formato JSON como dados padronizados para comunicação multiplataforma.
  4. Postagem HTTP enviada para FMZO sinal de decisão em formato JSON é enviado para a plataforma de quantificação do inventor por meio de uma solicitação HTTP POST.

2. Estratégia FMZ (Final da Execução)

  1. Sinal recebido no canal de monitoramentoMonitorar continuamente um canal dedicado designado para capturar as solicitações HTTP enviadas pela extremidade central do servidor e os sinais de transação nelas contidos.
  2. Analisar JSON e executar transaçõesO sistema analisa os dados JSON recebidos, extrai as instruções principais de negociação e aciona o robô de negociação ao vivo da plataforma para concluir automaticamente a execução da ordem.
  3. Gestão de controle de riscos e proteção contra perdasDurante a execução da transação, o sistema monitora os preços de mercado em tempo real e executa operações de controle de risco, como stop-loss e medidas de mitigação de risco, de acordo com regras predefinidas para reduzir os riscos de negociação.
  4. Exibição visual do painel de controleO painel de controle da plataforma exibe informações em tempo real, como status da transação, resultados da execução, dados de controle de risco e direitos da conta, permitindo o monitoramento visual de todo o processo.

II. Diretrizes de escrita: Ensinando a IA o que fazer

O núcleo do ClawdBot é seu manual de instruções, que é essencialmente um manual do usuário detalhado para a IA, definindo claramente suas etapas de operação, critérios de julgamento e ações a serem executadas. Vejamos a estrutura deste manual de instruções:

2.1 Seção de Aquisição de Dados

Primeiro, informe à IA quais dados-chave ela precisa ler ao abrir a página da moeda alvo:

【操作指令】
1. 自动化打开浏览器新标签页
2. 导航至目标币种页面:https://www.coingecko.com/en/coins/bitcoin
3. 等待页面完全加载

【需要读取的数据】
- BTC当前价格
- 24小时交易量

【需要读取的新闻】
- 滚动页面找到 "News" 区域
- 读取最新的3-5条新闻标题和摘要
- 将所有新闻整合为一条信息汇总
- 判断整体情绪(利好/利空/中性)

2.2 Seção de lógica de tomada de decisão

Em seguida, defina critérios de negociação claros, especificando em que circunstâncias comprar e em que circunstâncias vender:

【买入条件】
□ 新闻情绪整体正面(利好消息主导)
□ 交易量放大显示市场活跃
□ 综合判断市场处于上升趋势

【卖出条件】
□ 新闻情绪整体负面(利空消息主导)
□ 市场出现明显风险信号

【观望条件】
□ 新闻情绪中性或混杂
□ 市场方向不明确

2.3 Definição do formato de saída

A IA é necessária para gerar dados no formato JSON padrão. Este é o protocolo de comunicação principal entre o ClawdBot e a plataforma do criador, garantindo a análise inequívoca dos dados.

{
    "coin": "BTC",
    "timestamp": "2024-01-15T14:00:00.000Z",
    "current_price": 42500.00,
    "volume_24h": "25,000,000,000",
    "news_summary": "ETF资金持续流入,机构增持意愿强烈",
    "news_sentiment": "positive",
    "trade_decision": "买入",
    "decision_reason": "新闻情绪积极,交易量放大,适合建仓"
}

2.4 Execução das Ações

Por fim, instrua a IA a enviar o sinal JSON para a plataforma do inventor e registrar as operações locais para revisão futura:

【发送信号】
执行HTTP POST请求:
URL: https://www.fmz.com/api/v1?method=pub&robot={实盘ID}&channel={UUID}
- 实盘ID:发明者平台上对应机器人的唯一数字标识,用于精准指定接收信号的目标交易机器人。
- UUID:通用唯一识别码,作为自定义频道唯一标识,是ClawdBot与FMZ的通信密钥,请勿泄露,避免恶意操作。

【记录日志】
将每次操作的时间、币种、决策、信号发送状态等信息追加到本地 tradediary.csv 文件,便于后续策略复盘与优化。

Obviamente, esta diretriz foi aprimorada por meio de diversos testes. Assim que os testes forem bem-sucedidos, podemos incluí-la em uma Skill e configurá-la para ser executada automaticamente como uma tarefa agendada.

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.


III. Plataforma do Inventor: Código para Recebimento de Sinais

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.

Com as capacidades de tomada de decisão baseadas em IA já estabelecidas, a tarefa atual da plataforma inventora é desenvolver o código de suporte para implementar todo o processo de recepção de sinais, execução de transações e gerenciamento de controle de riscos.

3.1 Parâmetros de Configuração

Primeiramente, defina os itens de configuração principais para gerenciar centralmente os parâmetros de transação, monitoramento e controle de risco. O UUID deve ser consistente com o especificado nas diretrizes do ClawdBot.

const CONFIG = {
    TRADE_AMOUNT: 0.01,           // 每次固定交易数量
    CHECK_INTERVAL: 3000,         // 信号监听与风控检查间隔(毫秒)
    UUID: "自定义UUID",            // 与ClawdBot一致的频道标识,作为通信密钥
    STOP_LOSS_PERCENT: 5,         // 止损/踏空保护比例(%)
};

3.2 Recepção e Deduplicação de Sinais

Integrado à plataforma FMZGetChannelDataA função escuta um canal UUID específico e recupera o sinal JSON enviado pela IA. Um detalhe importante aqui é que um carimbo de data/hora é usado para determinar se o sinal foi processado, impedindo que o mesmo sinal seja executado repetidamente devido a problemas de rede ou plataforma, evitando assim transações errôneas.

function receiveSignal() {
    try {
        const res = GetChannelData(CONFIG.UUID);
        
        if (res === null || res === "") {
            return null;
        }
        
        const signal = typeof res === 'string' ? JSON.parse(res) : res;
        
        // 校验信号格式,确保核心字段完整
        if (!signal.coin || !signal.trade_decision) {
            Log("❌ 信号格式无效,核心字段缺失");
            return null;
        }
        
        // 检查时间戳是否已处理(信号去重核心逻辑)
        if (isSignalProcessed(signal.timestamp)) {
            return null;
        }
        
        Log(`📥 收到新信号: ${signal.coin} - ${signal.trade_decision}`);
        return signal;
        
    } catch (e) {
        Log(`❌ 获取信号失败: ${e.message}`);
        return null;
    }
}

3.3 Lógica de Execução de Transações

Analise o conteúdo principal do sinal, com base emtrade_decisionO campo executa a operação de compra/venda correspondente. Antes de comprar, verifica se o saldo em USDT é suficiente; antes de vender, verifica se o saldo na moeda de destino é suficiente para evitar falhas na transação por falta de saldo.

function executeBuy(signal, reason) {
    const symbol = signal.coin + "_USDT"; // 拼接交易对,如BTC_USDT
    exchange.SetCurrency(symbol); // 指定当前交易对
    
    const account = _C(exchange.GetAccount); // 获取账户实时资产
    const ticker = _C(exchange.GetTicker); // 获取币种实时行情
    const currentPrice = ticker.Last; // 获取最新成交价
    
    // 资金充足性检查
    const requiredBalance = currentPrice * CONFIG.TRADE_AMOUNT;
    if (account.Balance < requiredBalance) {
        Log(`❌ 余额不足,需要 USDT $${requiredBalance.toFixed(2)},当前仅 $${account.Balance.toFixed(2)}`);
        return false;
    }
    
    // 执行市价买入(-1表示市价,按当前市场价格成交)
    const orderId = exchange.Buy(-1, CONFIG.TRADE_AMOUNT * currentPrice);
    
    if (orderId) {
        addTradeRecord({
            coin: signal.coin,
            action: "买入",
            price: currentPrice,
            amount: CONFIG.TRADE_AMOUNT,
            reason: reason
        });
        Log(`✅ ${signal.coin} 市价买入成功,成交价格: $${currentPrice.toFixed(2)}`);
        return true;
    }
    Log(`❌ ${signal.coin} 买入失败,未生成订单ID`);
    return false;
}

function executeSell(signal, reason) {
    try {
        const symbol = signal.coin + "_USDT";
        exchange.SetCurrency(symbol);
        
        const account = _C(exchange.GetAccount);
        const ticker = _C(exchange.GetTicker);
        const currentPrice = ticker.Last;
        
        // 目标币种充足性检查
        if (account.Stocks < CONFIG.TRADE_AMOUNT) {
            Log(`❌ ${signal.coin} 余额不足,需要 ${CONFIG.TRADE_AMOUNT}枚,当前仅 ${account.Stocks.toFixed(6)}枚`);
            return false;
        }
        
        // 执行市价卖出
        const orderId = exchange.Sell(-1, CONFIG.TRADE_AMOUNT);
        
        if (orderId) {
            // 添加交易记录至平台
            addTradeRecord({
                coin: signal.coin,
                action: "卖出",
                price: currentPrice,
                amount: CONFIG.TRADE_AMOUNT,
                reason: reason || signal.decision_reason,
                timestamp: new Date().toISOString()
            });
            
            Log(`✅ ${signal.coin} 市价卖出成功 - 成交价格: $${currentPrice.toFixed(2)}, 成交数量: ${CONFIG.TRADE_AMOUNT}`);
            return true;
        } else {
            Log(`❌ ${signal.coin} 卖出失败,未生成订单ID`);
            return false;
        }
        
    } catch (e) {
        Log(`❌ 卖出异常: ${e.message}`);
        return false;
    }
}

3.4 Mecanismo de controle de risco de stop-loss

O código define uma porcentagem fixa de stop-loss. Quando o preço de mercado atinge a linha de stop-loss predefinida, ele executa automaticamente uma ordem inversa.Stop losseStop loss se você perder uma oportunidadeDois cenários principais para o controle abrangente dos riscos de transação:

function checkStopLoss() {
    const latestTrade = getLatestTradeRecord(); // 获取最新一笔交易记录
    
    if (!latestTrade) return { triggered: false }; // 无交易记录则跳过风控检查
    
    const ticker = _C(exchange.GetTicker);
    const currentPrice = ticker.Last;
    const tradePrice = latestTrade.price; // 最新交易的成交价格
    const priceChangePercent = ((currentPrice - tradePrice) / tradePrice) * 100; // 价格涨跌幅百分比
    
    // 场景一:买入后价格下跌触发亏损止损,限制最大亏损
    if (latestTrade.action === "买入") {
        const stopLossPrice = tradePrice * (1 - CONFIG.STOP_LOSS_PERCENT / 100); // 计算止损价格
        
        if (currentPrice <= stopLossPrice) {
            Log(`🔴 亏损止损触发!当前跌幅: ${priceChangePercent.toFixed(2)}%,触发${CONFIG.STOP_LOSS_PERCENT}%止损线`);
            return {
                triggered: true,
                action: "卖出",
                reason: `止损卖出:跌幅触发${CONFIG.STOP_LOSS_PERCENT}%止损线,当前跌幅${priceChangePercent.toFixed(2)}%`
            };
        }
    }
    
    // 场景二:卖出后价格上涨触发踏空止损,避免错过大幅上涨行情
    if (latestTrade.action === "卖出") {
        const stopLossPrice = tradePrice * (1 + CONFIG.STOP_LOSS_PERCENT / 100); // 计算踏空保护价格
        
        if (currentPrice >= stopLossPrice) {
            Log(`🟢 踏空止损触发!当前涨幅: ${priceChangePercent.toFixed(2)}%,触发${CONFIG.STOP_LOSS_PERCENT}%保护线`);
            return {
                triggered: true,
                action: "买入",
                reason: `踏空止损:涨幅触发${CONFIG.STOP_LOSS_PERCENT}%保护线,当前涨幅${priceChangePercent.toFixed(2)}%`
            };
        }
    }
    
    return { triggered: false };
}

3.5 Lógica do Loop Principal

O cerne de toda a estratégia é um loop infinito, que é executado por…Controle de risco em primeiro lugarO princípio consiste em processar as verificações de stop-loss, o processamento de sinais de IA e as atualizações do painel de controle nessa ordem, garantindo que o controle de risco seja sempre a principal prioridade:

function main() {
    initialize(); // 初始化:创建交易记录、仪表板等
    Log("🚀 现货自动交易机器人启动,开始监听AI信号...");
    
    while (true) { // 无限循环,持续运行
        // 1. 检查止损(优先级最高),触发则立即执行
        const stopLossInfo = checkStopLoss();
        if (stopLossInfo.triggered) {
            executeStopLoss(stopLossInfo);
        }
        
        // 2. 获取并处理AI信号,无信号则跳过
        const signal = receiveSignal();
        if (signal) {
            processSignal(signal);
        }
        
        // 3. 实时更新可视化仪表板
        displayDashboard();
        
        // 4. 按预设间隔等待,进入下一轮检查
        Sleep(CONFIG.CHECK_INTERVAL);
    }
}

3.6 Visualização

Executar negociações por conta própria não é suficientemente intuitivo, por isso também criamos um painel visual contendo quatro tabelas de dados principais. Este painel exibe informações da conta, controle de risco, sinais e registros de negociação, tudo em um só lugar, proporcionando uma visão geral clara do status operacional do sistema.

Nome da tabela Exibir conteúdo
💰 Visão geral dos benefícios Quantidade inicial/atual de moeda, saldo em USDT, patrimônio líquido total da conta, valor do lucro/prejuízo e percentual de lucro/prejuízo.
🛡️ Monitoramento de stop-loss Último tipo de transação, preço da transação, variação atual do preço, distância da linha de stop-loss, status atual do controle de risco.
🤖 Sinal de IA atual Moeda alvo, preço em tempo real, resumo de notícias, avaliação do sentimento do mercado, decisões de negociação baseadas em IA e justificativas por trás dessas decisões.
📋 Registros de transações O horário, o tipo de operação, o preço da transação e o motivo das últimas 10 transações.

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.

IV. Execução Automatizada

Assim que as instruções do ClawdBot forem depuradas corretamente e o código da plataforma do inventor passar nos testes, o sistema poderá funcionar de forma totalmente automática: no backend do ClawdBot, as instruções escritas são agrupadas em um único…Skill(Modelo de operação de IA reutilizável) e configurarTarefas agendadas(Por exemplo, se executado a cada 10 minutos), o sistema coletará dados automaticamente, analisará e tomará decisões, e enviará sinais na frequência definida. A plataforma do inventor, então, ouvirá e executará as transações em tempo real, sem a necessidade de monitoramento manual.

Crie um sistema de negociação automatizado com inteligência artificial do zero: deixe o ClawdBot (OpenClaw) ser o seu cérebro de negociação.


V. Precauções e Avisos de Risco

É importante lembrar a todos que a negociação quantitativa sempre envolve risco de mercado e que as decisões da IA ​​não são absolutamente precisas. Por favor, preste atenção aos seguintes pontos antes de negociar:

  1. A tomada de decisões orientada por IA é apenas para fins de referência.Sua análise é baseada em dados disponíveis publicamente e em lógica predefinida, e não pode ser considerada como base exclusiva para decisões de investimento;
  2. Embora tenha sido adicionado um mecanismo de stop-loss, a estratégia pode falhar em condições extremas de mercado (como quedas acentuadas ou colapsos) e não consegue evitar completamente as perdas.
  3. Recomenda-se testar primeiro com uma conta demo ou com uma pequena quantia de dinheiro.Após operar o sistema por pelo menos 1 a 2 ciclos de negociação para verificar sua estabilidade, consideraremos aumentar gradualmente o investimento.
  4. Preste atenção ao isolamento de riscos. Recomenda-se usar uma conta de negociação e um dispositivo separados para operar e evitar o vazamento de informações da conta e chaves de comunicação UUID.
  5. Verifique regularmente o status operacional da estratégia, revise os registros de transações e as mensagens de erro da plataforma para garantir que todos os módulos do ClawdBot e da plataforma do criador estejam funcionando corretamente;
  6. Os registros de transações podem servir como dados de feedback para otimizar a lógica de tomada de decisão das instruções do ClawdBot e os parâmetros de controle de risco da plataforma do inventor, permitindo que o sistema itere e seja atualizado continuamente.

Resumir

Vamos recapitular as conquistas de hoje: Construímos com sucesso um conjuntoSistema de negociação quantitativa totalmente automatizado com IA de ponta a pontaO núcleo consiste em dois módulos principais: o ClawdBot, que atua como o cérebro, responsável pela coleta de dados de mercado, análise do sentimento das notícias e geração de decisões de negociação; e a plataforma quantitativa do inventor, que atua como a extremidade de execução, responsável pela recepção de sinais, negociação automatizada, gerenciamento de controle de risco e monitoramento visual. Os dois lados realizam a troca de dados padronizada por meio de uma interface HTTP, concretizando a negociação totalmente automatizada sem a necessidade de monitoramento manual.

Mais importante ainda, essa arquitetura oferece alta escalabilidade: os registros de transações podem ser enviados de volta para a IA para revisão e otimização, e as habilidades do ClawdBot podem ser continuamente aprimoradas, adicionando mais fontes de dados (como dados de contratos e relatórios de pesquisa do setor) e uma lógica de tomada de decisão mais refinada. É claro que o modelo atual ainda é relativamente básico, fornecendo apenas uma estrutura e uma abordagem prática para negociação quantitativa orientada por IA.

Se você tiver ideias melhores de otimização ou sugestões de novos recursos, fique à vontade para compartilhá-las na seção de comentários!

Código de referência: https://www.fmz.com/strategy/526322