2
Seguir
387
Seguidores

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.

Creado el: 2026-02-03 17:28:39, Actualizado el: 2026-02-04 16:56:01
comments   0
hits   636

[TOC]

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.

introducción

En el último video, desarrollamos una estrategia de media móvil dual con ClawdBot/OpenClaw. Muchos espectadores aún no estaban satisfechos y preguntaron en la sección de comentarios: ¿Puede la IA analizar las condiciones del mercado, tomar sus propias decisiones y ejecutar órdenes por sí misma? Hoy abordaremos este objetivo final y crearemos un sistema de trading con IA totalmente automatizado.

A algunos amigos les preocupa que permitir que la IA comercie directamente sea demasiado arriesgado, por eso diseñamos una arquitectura más segura:ClawdBot como el cerebroEs responsable de recopilar datos, analizar noticias y generar señales comerciales;Plataforma de cuantificación de inventores (FMZ) como una herramienta de dos manosSe encarga de recibir señales, ejecutar transacciones y gestionar el control de riesgos. Esto aprovecha las capacidades analíticas de la IA, proporciona las garantías de seguridad de una plataforma profesional y permite la monitorización y la revisión en tiempo real.

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.


I. Descomposición de la arquitectura del sistema

Antes de empezar, analicemos el sistema completo. El sistema consta de…extremo del cerebroyFin de la ejecuciónCompuesto por dos componentes principales, vinculados a través de solicitudes HTTP, formando un circuito cerrado completo de comercio cuantitativo de IA:

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.

1. ClawdBot (Terminal cerebral)

  1. Recopilar datos en tiempo realAcceso automatizado al navegador para obtener precios en tiempo real, volúmenes comerciales y actualizaciones de noticias para las criptomonedas de destino.
  2. Análisis del sentimiento de las noticiasLa IA integra contenido de noticias para determinar si el sentimiento del mercado es positivo, negativo o neutral.
  3. Generar JSON de decisión de transacciónCombina análisis de datos y sentimientos para generar decisiones de compra, venta o esperar y ver, y las empaqueta en formato JSON como datos estandarizados para la comunicación entre plataformas.
  4. HTTP POST enviado a FMZLa señal de decisión en formato JSON se envía al extremo de ejecución de la plataforma de cuantificación del inventor a través de una solicitud HTTP POST.

2. Estrategia FMZ (Fin de la ejecución)

  1. Señal recibida del canal de monitoreo:Monitorear continuamente un canal dedicado designado para capturar las solicitudes HTTP enviadas desde el extremo cerebral y las señales de transacción contenidas en ellas.
  2. Analizar JSON y ejecutar transaccionesEl sistema analiza los datos JSON recibidos, extrae las instrucciones comerciales principales y activa el robot comercial en vivo de la plataforma para completar automáticamente la colocación de la orden.
  3. Gestión del control de riesgos y protección contra pérdidasDurante la ejecución de la transacción, el sistema monitorea los precios del mercado en tiempo real y ejecuta operaciones de control de riesgos como stop-loss y medidas de mitigación de riesgos de acuerdo a reglas preestablecidas para reducir los riesgos comerciales.
  4. Visualización del tablero visualEl panel de la plataforma muestra información en tiempo real, como el estado de las transacciones, los resultados de la ejecución, los datos de control de riesgos y los derechos de la cuenta, lo que permite un monitoreo visual de todo el proceso.

II. Pautas de escritura: Enseñar a la IA qué hacer

El núcleo de ClawdBot es su manual de instrucciones, que es esencialmente un manual de usuario detallado para la IA, que define claramente sus pasos operativos, criterios de evaluación y acciones a realizar. Veamos la estructura de este manual de instrucciones:

2.1 Sección de Adquisición de Datos

Primero, dígale a la IA qué datos clave necesita leer al abrir la página de la moneda de destino:

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

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

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

2.2 Sección de lógica de toma de decisiones

A continuación, defina criterios comerciales claros, especificando en qué circunstancias comprar y en qué circunstancias vender:

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

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

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

2.3 Definición del formato de salida

La IA es necesaria para generar datos en formato JSON estándar. Este es el protocolo de comunicación principal entre ClawdBot y la plataforma del inventor, lo que garantiza un análisis preciso de los datos.

{
    "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 Ejecución de acciones

Por último, indique a la IA que envíe la señal JSON a la plataforma del inventor y registre las operaciones locales para su futura revisión:

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

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

Por supuesto, esta guía se ha perfeccionado mediante múltiples pruebas. Una vez que las pruebas sean exitosas, podemos empaquetarla en una habilidad y configurarla para que se ejecute automáticamente como una tarea programada.

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.


III. Plataforma del inventor: Código para recibir señales

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.

Una vez establecidas las capacidades de toma de decisiones impulsadas por IA, la tarea actual de la plataforma del inventor es desarrollar un código de soporte para implementar todo el proceso de recepción de señales, ejecución de transacciones y gestión del control de riesgos.

3.1 Parámetros de configuración

Primero, defina los elementos de configuración principales para gestionar centralmente los parámetros de transacciones, monitoreo y control de riesgos. El UUID debe ser coherente con el especificado en las directrices de ClawdBot.

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

3.2 Recepción de señales y deduplicación

Integrado en la plataforma FMZGetChannelDataLa función escucha un canal UUID específico y recupera la señal JSON enviada por la IA. Un detalle importante es que se utiliza una marca de tiempo para determinar si la señal se ha procesado, lo que evita que se ejecute repetidamente debido a problemas de red o plataforma, lo que evita transacciones 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 ejecución de transacciones

Analizar el contenido central de la señal, basándose entrade_decisionEl campo ejecuta la operación de compra/venta correspondiente. Antes de comprar, verifica si el saldo de USDT es suficiente; antes de vender, verifica si el saldo de la moneda de destino es suficiente para evitar el fallo de la transacción por saldo insuficiente.

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 control de riesgo de stop-loss

El código establece un porcentaje fijo de stop loss. Cuando el precio de mercado alcanza la línea de stop loss preestablecida, se ejecuta automáticamente una operación inversa.Detener la pérdidayDetener la pérdida si pierde una oportunidadDos escenarios fundamentales para el control integral de los riesgos transaccionales:

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 del bucle principal

El núcleo de toda la estrategia es un bucle infinito, que se ejecuta mediante…El control de riesgos es lo primeroEl principio es procesar los controles de stop loss, el procesamiento de señales de IA y las actualizaciones del panel en ese orden, garantizando que el control de riesgos sea siempre la máxima prioridad:

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 Visualización

Realizar operaciones no es lo suficientemente intuitivo, por lo que también creamos un panel visual con cuatro tablas de datos principales. Este panel muestra la información de la cuenta, el control de riesgos, las señales y los registros de operaciones en un solo lugar, ofreciendo una visión general clara del estado operativo del sistema.

Nombre de la tabla Mostrar contenido
💰 Resumen de beneficios Cantidad de moneda inicial/actual, saldo en USDT, capital total de la cuenta, monto de ganancias/pérdidas y porcentaje de ganancias/pérdidas
🛡️ Monitoreo de stop loss Último tipo de transacción, precio de la transacción, cambio de precio actual, distancia desde la línea de stop-loss, estado actual del control de riesgo.
🤖 Señal de IA actual Moneda de destino, precio en tiempo real, resumen de noticias, evaluación de sentimientos, decisiones comerciales de IA y lógica detrás de esas decisiones.
📋 Registros de transacciones La hora, el tipo de operación, el precio de la transacción y el motivo de las últimas 10 transacciones.

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.

IV. Ejecución automatizada

Una vez que las instrucciones de ClawdBot se depuran correctamente y el código de la plataforma del inventor pasa las pruebas, el sistema puede ejecutarse de forma totalmente automática: en el backend de ClawdBot, las instrucciones escritas se empaquetan en un solo…Skill(Plantilla de operación de IA reutilizable) y configurarTareas programadas(Por ejemplo, si se ejecuta cada 10 minutos), el sistema recopilará datos automáticamente, los analizará, tomará decisiones y enviará señales con la frecuencia establecida. La plataforma del inventor escuchará y ejecutará las transacciones en tiempo real, sin necesidad de supervisión manual.

Construya un sistema de comercio automatizado impulsado por IA desde cero: deje que ClawdBot (OpenClaw) sea su cerebro comercial.


V. Precauciones y advertencias de riesgo

Es importante recordar que el trading cuantitativo siempre implica riesgo de mercado y que las decisiones de IA no son del todo precisas. Por favor, preste atención a los siguientes puntos antes de operar:

  1. La toma de decisiones impulsada por IA es solo para referencia.Su análisis se basa en datos públicamente disponibles y en una lógica preestablecida, y no se puede confiar plenamente en él para tomar decisiones de inversión;
  2. Aunque se ha añadido un mecanismo de stop-loss, la estrategia puede fallar en condiciones extremas del mercado (como caídas o desplomes bruscos) y no puede evitar las pérdidas por completo.
  3. Se recomienda probar primero con una cuenta demo o con una pequeña cantidad de dinero.Después de ejecutar el sistema durante al menos 1 o 2 ciclos comerciales para verificar su estabilidad, consideraremos aumentar gradualmente la inversión.
  4. Preste atención al aislamiento de riesgos. Se recomienda utilizar una cuenta de trading y un dispositivo independientes para operar y evitar la filtración de información de la cuenta y claves de comunicación UUID.
  5. Verifique periódicamente el estado operativo de la estrategia, revise los registros de transacciones y los mensajes de error de la plataforma para garantizar que todos los módulos de ClawdBot y la plataforma del inventor funcionen correctamente;
  6. Los registros de transacciones pueden servir como datos de retroalimentación para optimizar la lógica de toma de decisiones de las instrucciones de ClawdBot y los parámetros de control de riesgos de la plataforma del inventor, lo que permite que el sistema se itere y actualice continuamente.

Resumir

Repasemos los logros de hoy: Hemos construido con éxito un conjuntoSistema de comercio cuantitativo totalmente automatizado con IA de extremo a extremoEl núcleo consta de dos módulos principales: ClawdBot, que actúa como cerebro, responsable de la recopilación de datos de mercado, el análisis del sentimiento de las noticias y la generación de decisiones comerciales; y la plataforma cuantitativa Inventor, que actúa como ejecutor, responsable de la recepción de señales, la automatización del trading, la gestión del control de riesgos y la monitorización visual. Ambas partes logran un intercambio de datos estandarizado a través de una interfaz HTTP, lo que permite una automatización total del trading sin necesidad de monitorización manual.

Más importante aún, esta arquitectura ofrece una gran escalabilidad: los registros de transacciones se pueden enviar a la IA para su revisión y optimización, y las habilidades de ClawdBot se pueden iterar continuamente, añadiendo más fuentes de datos (como datos contractuales e informes de investigación del sector) y una lógica de toma de decisiones más refinada. Por supuesto, el modelo actual es relativamente básico y solo proporciona un marco y un enfoque práctico para el trading cuantitativo basado en IA.

Si tienes mejores ideas de optimización o nuevas solicitudes de funciones, ¡no dudes en compartirlas en la sección de comentarios!

Código de referencia: https://www.fmz.com/strategy/526322