本工作流是一个针对期货品种的全自动AI交易系统,运行于优宽量化平台,以分钟级频率持续运行。每轮触发时,系统并行采集账户持仓、分钟K线与现货价格三路数据,交由AI智能体进行技术分析与交易研判,再通过第二层AI将自然语言结论提炼为标准化交易指令,自动执行开多、开空、平多、平空操作,并在每次实际交易后向手机推送到账通知。
工作流由以下模块串联构成:
定时触发 → 三路数据并行采集 → 数据整合 → AI智能研判 → AI交易决策分类 → 自动执行 + 手机推送
每次触发后,系统同时启动三路数据采集:
账户持仓信息:查询当前合约的持仓状态,包括持仓价格、持仓数量(正数为多头、负数为空头、空数组为无持仓),用于AI评估当前风险敞口与盈亏状况。
分钟K线数据:获取最近30根分钟K线,包含开盘价、最高价、最低价、收盘价、成交量与持仓量,用于捕捉短期价格行为与量价信号。
铁矿石现货价格:通过外部数据接口拉取最近20日的现货价格数据,用于与期货价格进行对比,辅助判断基差结构与市场预期。
三路数据经各自格式化处理后合并为统一字符串,送入AI分析节点。
核心分析AI接收持仓数据、K线数据与现货价格,按照以下四个维度进行技术分析:
价格行为分析:识别K线形态、关键价位反应与突破确认信号。
成交量确认:分析量价关系,判断价格移动是否有成交量配合,识别量能异常。
技术指标验证:综合RSI、MACD、EMA等指标信号,与价格行为相互印证。
持仓状况评估:结合当前持仓方向与成本价,评估盈亏状况与现有仓位的继续持有风险。
AI输出固定格式的简洁文本,包含三个部分:当前持仓状况描述、四项核心技术信号、以及从五个选项中选取的唯一最终交易决策(无操作/开多仓/开空仓/平多仓/平空仓)。输出语言简洁,不含多余说明。
研判结论进入第二层AI节点,将自然语言输出精确映射为五类标准化交易指令之一:下多单、下空单、平多单、平空单、无操作。
两层AI设计的目的在于:第一层专注于深度技术分析,输出有理有据的研判结论;第二层专注于指令提炼,确保执行路由的准确性,避免因自然语言歧义导致误操作。
根据分类结果,工作流路由至对应执行节点:
每次实际交易执行后,手机即时收到推送通知,确保交易者随时掌握账户动态。
视频链接:颠覆传统!工作流让量化交易进入可视化时代
{"type":"n8n","content":"{\"workflowData\":{\"nodes\":[{\"parameters\":{\"notice\":\"\",\"rule\":{\"interval\":[{\"field\":\"minutes\",\"minutesInterval\":15}]}},\"type\":\"n8n-nodes-base.scheduleTrigger\",\"typeVersion\":1.2,\"position\":[-560,-32],\"id\":\"956d224d-b08b-4c35-a928-30e634174d85\",\"name\":\"定时触发器\"},{\"parameters\":{\"mode\":\"append\",\"numberInputs\":3},\"type\":\"n8n-nodes-base.merge\",\"typeVersion\":3.2,\"position\":[256,112],\"id\":\"3a714439-b9b0-4807-997f-8dff3c584c23\",\"name\":\"合并\"},{\"parameters\":{\"operation\":\"getRecords\",\"exchange\":0,\"symbol\":{\"__rl\":true,\"value\":\"i2601\",\"mode\":\"id\"},\"period\":60,\"limit\":30},\"type\":\"n8n-nodes-base.marketInfo\",\"typeVersion\":1,\"position\":[-224,128],\"id\":\"69cfc8ea-68f0-4111-8020-459d8d2384f3\",\"name\":\"分钟K线\"},{\"parameters\":{\"model\":{\"__rl\":true,\"value\":\"qwen3-max-preview\",\"mode\":\"list\",\"cachedResultName\":\"qwen3-max-preview\"}},\"type\":\"n8n-nodes-base.lmOpenAi\",\"typeVersion\":1,\"position\":[720,384],\"id\":\"e758d8f0-804b-465f-adb2-cc613e32fcc7\",\"name\":\"OpenAI 模型1\",\"credentials\":{\"openAiApi\":{\"id\":\"f3da26db-84a0-4a0b-8e63-6bcc89a187e7\",\"name\":\"ali\"}}},{\"parameters\":{\"operation\":\"getPosition\",\"exchange\":0,\"symbol\":{\"__rl\":true,\"value\":\"i2601\",\"mode\":\"id\"}},\"type\":\"n8n-nodes-base.accountInfo\",\"typeVersion\":1,\"position\":[-224,-112],\"id\":\"66943d61-2f93-4b97-814f-1dbc2ef6ac10\",\"name\":\"账户信息\"},{\"parameters\":{\"method\":\"GET\",\"url\":\"https://www.datadata.cn/api/v1/query/534b7553-eaaa-4676-beea-b2a4f028285f/data\",\"authentication\":\"none\",\"sendQuery\":false,\"sendHeaders\":false,\"sendBody\":false,\"options\":{},\"infoMessage\":\"\"},\"type\":\"n8n-nodes-base.httpRequest\",\"typeVersion\":4.2,\"position\":[-224,320],\"id\":\"aa45caf5-73fa-4330-b09b-fd5c51119c47\",\"name\":\"现货价格查询\"},{\"parameters\":{\"mode\":\"runOnceForAllItems\",\"language\":\"javaScript\",\"jsCode\":\"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\\nfor (const item of $input.all()) {\\n item.json.myNewField = 1;\\n}\\n$input.first().json.result\\nreturn [{data:JSON.stringify($input.first().json.result)}];\",\"notice\":\"\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[16,-112],\"id\":\"7984cf0a-6ae2-453e-915d-85023d0885a3\",\"name\":\"数据处理\"},{\"parameters\":{\"mode\":\"runOnceForAllItems\",\"language\":\"javaScript\",\"jsCode\":\"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\\nfor (const item of $input.all()) {\\n item.json.myNewField = 1;\\n}\\n\\n\\n$input.first().json.result\\nreturn [{data:JSON.stringify($input.first().json.result)}];\",\"notice\":\"\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[16,128],\"id\":\"4dad0949-fbd3-4fe2-b3be-f2437c8eeb6f\",\"name\":\"数据处理2\",\"retryOnFail\":true},{\"parameters\":{\"mode\":\"runOnceForAllItems\",\"language\":\"javaScript\",\"jsCode\":\"// 只获取前10个索引的数据进行处理\\n\\ndd = $input.first().json.data.data.slice(0,10)\\n\\n\\nreturn [{data: JSON.stringify(dd)}];\",\"notice\":\"\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[16,320],\"id\":\"99163285-9886-498c-806d-4c7ca0a402c2\",\"name\":\"数据处理3\"},{\"parameters\":{\"mode\":\"runOnceForAllItems\",\"language\":\"javaScript\",\"jsCode\":\"const result = $input.all().reduce((sum, item) => sum += item.json.data, '')\\nLog(result)\\nreturn [{\\n result\\n}]\",\"notice\":\"\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[416,128],\"id\":\"47df8cf7-f719-447a-9ee1-1da2c8a5964f\",\"name\":\"数据整合\"},{\"parameters\":{\"text\":\"=您是专业量化交易分析师,基于提供的账户持仓数据和K线行情数据进行技术分析。{{ $json.result }}\\n数据格式:\\n\\n第一个数组:持仓数据(price=持仓价格,amount=持仓数量,正数=多头,负数=空头,空数组=无持仓)\\n第二个数组:K线数据(Time、Open、High、Low、Close、Volume、OpenInterest)\\n第三个数组:铁矿石最近20日的现货数据。\\n\\n分析要求:\\n\\n价格行为分析(K线形态、关键位反应、突破确认)\\n成交量确认(量价关系、量能配合)\\n技术指标验证(RSI、MACD、EMA等关键信号)\\n持仓状况评估(盈亏、风险)\\n\\n输出格式:\\n当前持仓:[多仓/空仓/无持仓 数量及盈亏状况];核心逻辑:✓ [关键技术信号1] ✓ [关键技术信号2] ✓ [关键技术信号3] ✓ [关键技术信号4];交易决策:[无操作/开多仓/开空仓/平多仓/平空仓]\\n分析原则:价格行为为核心,成交量为确认,技术指标为验证。必须从五种操作中选择唯一最终决策。最后输出语言简洁,不要多余的语言和markdown符号\",\"options\":{}},\"type\":\"@n8n/n8n-nodes-langchain.agent\",\"typeVersion\":1,\"position\":[608,128],\"id\":\"94df21db-3793-444c-9412-0877673cc417\",\"name\":\"AI 智能研判\",\"retryOnFail\":false},{\"parameters\":{\"inputText\":\"=请分析{{ $json.output }},做出 下多单,下空单,平多单,平空单,无操作 的交易决策\",\"options\":{\"categories\":\"下多单,下空单,平多单,平空单,无操作\"}},\"type\":\"n8n-nodes-base.sentimentAnalysis\",\"typeVersion\":1.1,\"position\":[1008,64],\"id\":\"651030c4-3d5f-4779-9ba6-7f06fcf06ec3\",\"name\":\"AI交易决策\"},{\"parameters\":{\"mode\":\"runOnceForAllItems\",\"language\":\"javaScript\",\"jsCode\":\"\\nreturn [{data:JSON.stringify($input.first().json.output)}];\",\"notice\":\"\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[1072,400],\"id\":\"b9f2be0d-3294-495f-90dc-311eb5f25df9\",\"name\":\"交易决策整合\"},{\"parameters\":{\"logAll\":false,\"output\":\"={{ $json.data }}\"},\"type\":\"n8n-nodes-base.log\",\"typeVersion\":1,\"position\":[1296,400],\"id\":\"eb82dad3-1e17-4335-b4c4-c6965a29c009\",\"name\":\"输出交易决策\"},{\"parameters\":{\"operation\":\"buy\",\"exchange\":0,\"symbol\":{\"__rl\":true,\"value\":\"i2601\",\"mode\":\"id\"},\"amount\":1,\"comment\":\"\",\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,-128],\"id\":\"df3d881e-159b-4a5f-a60f-66fda2498b24\",\"name\":\"开多\"},{\"parameters\":{\"operation\":\"sell\",\"exchange\":0,\"symbol\":{\"__rl\":true,\"value\":\"i2601\",\"mode\":\"id\"},\"amount\":1,\"comment\":\"\",\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,16],\"id\":\"eda44644-9437-4df6-898c-8735385ec173\",\"name\":\"开空\"},{\"parameters\":{\"operation\":\"close\",\"exchange\":0,\"symbol\":{\"__rl\":true,\"value\":\"i2601\",\"mode\":\"id\"},\"closeOption\":\"all\",\"comment\":\"\",\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,144],\"id\":\"fefafb2f-f8ff-41aa-a75e-65fe6d72884d\",\"name\":\"平多\"},{\"parameters\":{\"operation\":\"close\",\"exchange\":0,\"symbol\":{\"__rl\":true,\"value\":\"i2601\",\"mode\":\"id\"},\"closeOption\":\"all\",\"comment\":\"\",\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,288],\"id\":\"195bbd9e-90f8-41a8-8a57-6e01ab753c08\",\"name\":\"平多1\"},{\"parameters\":{\"notice\":\"\",\"content\":\"开多\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,-128],\"id\":\"143337d3-4307-4005-930f-a130abe8faa2\",\"name\":\"开多信息推送\"},{\"parameters\":{\"notice\":\"\",\"content\":\"开空\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,16],\"id\":\"dad293a7-892c-4a2b-bf10-adbfa45e7b4e\",\"name\":\"开空信息推送\"},{\"parameters\":{\"notice\":\"\",\"content\":\"平多\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,144],\"id\":\"1a047a49-47fc-4ac3-a073-8f8977fdffb6\",\"name\":\"平多信息推送\"},{\"parameters\":{\"notice\":\"\",\"content\":\"平空\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,288],\"id\":\"8f3688bb-2e52-4612-a59b-2d4a7a423162\",\"name\":\"平空信息推送\"},{\"parameters\":{\"input\":\"\",\"operation\":408518},\"type\":\"n8n-nodes-base.tradingPlugin\",\"typeVersion\":1,\"position\":[1568,448],\"id\":\"6b405f8c-7833-44c6-91c6-b5237a6261bc\",\"name\":\"交易插件\"}],\"pinData\":{},\"connections\":{\"定时触发器\":{\"main\":[[{\"node\":\"分钟K线\",\"type\":\"main\",\"index\":0},{\"node\":\"现货价格查询\",\"type\":\"main\",\"index\":0},{\"node\":\"账户信息\",\"type\":\"main\",\"index\":0}]]},\"合并\":{\"main\":[[{\"node\":\"数据整合\",\"type\":\"main\",\"index\":0}]]},\"分钟K线\":{\"main\":[[{\"node\":\"数据处理2\",\"type\":\"main\",\"index\":0}],[]]},\"OpenAI 模型1\":{\"ai_languageModel\":[[{\"node\":\"AI 智能研判\",\"type\":\"ai_languageModel\",\"index\":0},{\"node\":\"AI交易决策\",\"type\":\"ai_languageModel\",\"index\":0}]]},\"账户信息\":{\"main\":[[{\"node\":\"数据处理\",\"type\":\"main\",\"index\":0}],[]]},\"现货价格查询\":{\"main\":[[{\"node\":\"数据处理3\",\"type\":\"main\",\"index\":0}],[]]},\"数据处理\":{\"main\":[[{\"node\":\"合并\",\"type\":\"main\",\"index\":0}]]},\"数据处理2\":{\"main\":[[{\"node\":\"合并\",\"type\":\"main\",\"index\":1}]]},\"数据处理3\":{\"main\":[[{\"node\":\"合并\",\"type\":\"main\",\"index\":2}]]},\"数据整合\":{\"main\":[[{\"node\":\"AI 智能研判\",\"type\":\"main\",\"index\":0}]]},\"AI 智能研判\":{\"main\":[[{\"node\":\"AI交易决策\",\"type\":\"main\",\"index\":0},{\"node\":\"交易决策整合\",\"type\":\"main\",\"index\":0}],[]]},\"AI交易决策\":{\"main\":[[{\"node\":\"开多\",\"type\":\"main\",\"index\":0}],[{\"node\":\"开空\",\"type\":\"main\",\"index\":0}],[{\"node\":\"平多\",\"type\":\"main\",\"index\":0}],[{\"node\":\"平多1\",\"type\":\"main\",\"index\":0}],[{\"node\":\"交易插件\",\"type\":\"main\",\"index\":0}],[]]},\"交易决策整合\":{\"main\":[[{\"node\":\"输出交易决策\",\"type\":\"main\",\"index\":0}]]},\"开多\":{\"main\":[[{\"node\":\"开多信息推送\",\"type\":\"main\",\"index\":0}]]},\"开空\":{\"main\":[[{\"node\":\"开空信息推送\",\"type\":\"main\",\"index\":0}]]},\"平多\":{\"main\":[[{\"node\":\"平多信息推送\",\"type\":\"main\",\"index\":0}]]},\"平多1\":{\"main\":[[{\"node\":\"平空信息推送\",\"type\":\"main\",\"index\":0}]]},\"交易插件\":{\"main\":[[]]}},\"active\":false,\"settings\":{\"timezone\":\"Asia/Shanghai\"},\"tags\":[],\"meta\":{\"templateCredsSetupCompleted\":true},\"credentials\":{},\"id\":\"f40ba8ee-2c1a-42dc-820b-23bbdf3b083c\",\"plugins\":{\"408518\":{\"id\":408518,\"args\":\"[]\",\"name\":\"止盈止损插件\"}}},\"startNodes\":[],\"triggerToStartFrom\":{\"name\":\"定时触发器\"}}"}