策略源码
{"type":"n8n","content":"{\"workflowData\":{\"nodes\":[{\"parameters\":{\"jsCode\":\"const result = $input.all().reduce((sum, item) => sum += item.json.data, '')\\n\\nreturn [{\\n result\\n}]\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[448,112],\"id\":\"47df8cf7-f719-447a-9ee1-1da2c8a5964f\",\"name\":\"merge\"},{\"parameters\":{},\"type\":\"n8n-nodes-base.manualTrigger\",\"typeVersion\":1,\"position\":[-608,80],\"id\":\"207675f5-d385-4229-adc0-ddcd509c48ca\",\"name\":\"When clicking ‘Execute workflow’\"},{\"parameters\":{\"jsCode\":\"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\\nLogReset()\\n\\nfor (const item of $input.all()) {\\n item.json.myNewField = 1;\\n exchange.IO(\\\"simulate\\\", true)\\n Log(\\\"simulate assets: \\\", exchange.GetAssets())\\n}\\n\\nreturn $input.all();\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[-400,80],\"id\":\"bc59ec99-6ba6-4255-ab13-948bb54a5544\",\"name\":\"Code\"},{\"parameters\":{\"operation\":\"getPosition\",\"symbol\":{\"__rl\":true,\"mode\":\"list\",\"value\":\"\"}},\"type\":\"n8n-nodes-base.accountInfo\",\"typeVersion\":1,\"position\":[-112,-160],\"id\":\"66943d61-2f93-4b97-814f-1dbc2ef6ac10\",\"name\":\"Account Information\"},{\"parameters\":{\"operation\":\"getRecords\",\"symbol\":{\"__rl\":true,\"mode\":\"list\",\"value\":\"\"},\"limit\":30},\"type\":\"n8n-nodes-base.marketInfo\",\"typeVersion\":1,\"position\":[-96,112],\"id\":\"69cfc8ea-68f0-4111-8020-459d8d2384f3\",\"name\":\"Minute K-line\"},{\"parameters\":{\"url\":\"https://www.okx.com/api/v5/rubik/stat/contracts/long-short-account-ratio\",\"sendQuery\":true,\"queryParameters\":{\"parameters\":[{\"name\":\"ccy\",\"value\":\"SOL\"},{\"name\":\"period\",\"value\":\"5m\"}]},\"options\":{}},\"type\":\"n8n-nodes-base.httpRequest\",\"typeVersion\":4.2,\"position\":[-96,336],\"id\":\"aa45caf5-73fa-4330-b09b-fd5c51119c47\",\"name\":\"HTTP Request\"},{\"parameters\":{\"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)}];\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[96,-160],\"id\":\"7984cf0a-6ae2-453e-915d-85023d0885a3\",\"name\":\"Data Processing 1\"},{\"parameters\":{\"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)}];\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[96,112],\"id\":\"4dad0949-fbd3-4fe2-b3be-f2437c8eeb6f\",\"name\":\"Data Processing 2\"},{\"parameters\":{\"jsCode\":\"// 只获取前10个索引的数据进行处理\\ndd = $input.first().json.data.data.slice(0,10)\\n\\nreturn [{data: JSON.stringify(dd)}];\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[96,336],\"id\":\"99163285-9886-498c-806d-4c7ca0a402c2\",\"name\":\"Data Processing 3\"},{\"parameters\":{\"numberInputs\":3},\"type\":\"n8n-nodes-base.merge\",\"typeVersion\":3.2,\"position\":[320,96],\"id\":\"3a714439-b9b0-4807-997f-8dff3c584c23\",\"name\":\"Merge\"},{\"parameters\":{\"text\":\"=You are a professional quantitative trading analyst. Conduct technical analysis based on the provided account position data and K-line market data. {{ $json.result }}\\nData Format:\\nFirst array: Position data (price=position price, amount=position quantity, positive=long, negative=short, empty array=no position)\\nSecond array: K-line data (Time, Open, High, Low, Close, Volume, OpenInterest)\\nThird array: Long and short position ratio data.\\nAnalysis Requirements:\\nPrice action analysis (K-line patterns, key level reactions, breakout confirmation)\\nVolume confirmation (price-volume relationship, volume coordination)\\nTechnical indicator verification (RSI, MACD, EMA and other key signals)\\nPosition status assessment (profit/loss, risk)\\nOutput Format:\\nCurrent Position: [Long/Short/No Position quantity and profit/loss status]; Core Logic: ✓ [Key Technical Signal 1] ✓ [Key Technical Signal 2] ✓ [Key Technical Signal 3] ✓ [Key Technical Signal 4]; Trading Decision: [No Action/Long Entry/Short Entry/Long Exit/Short Exit]\\nAnalysis Principles: Price action as core, volume as confirmation, technical indicators as verification. Must select one unique final decision from five operations. Final output language should be concise, no redundant language and markdown symbols\",\"options\":{}},\"type\":\"@n8n/n8n-nodes-langchain.agent\",\"typeVersion\":1,\"position\":[576,112],\"id\":\"94df21db-3793-444c-9412-0877673cc417\",\"name\":\"AI Intelligent Analysis\"},{\"parameters\":{\"model\":{\"__rl\":true,\"value\":\"anthropic/claude-sonnet-4\",\"mode\":\"list\",\"cachedResultName\":\"anthropic/claude-sonnet-4\"}},\"type\":\"n8n-nodes-base.lmOpenAi\",\"typeVersion\":1,\"position\":[576,304],\"id\":\"e758d8f0-804b-465f-adb2-cc613e32fcc7\",\"name\":\"OpenAI Model 1\",\"credentials\":{\"openAiApi\":{\"id\":\"0122a64b-d4f0-4143-b8cb-39ff326c9c4e\",\"name\":\"OpenAi account\"}}},{\"parameters\":{\"inputText\":\"=Please analyze {{ $json.output }} and make a trading decision: Long Entry, Short Entry, Long Exit, Short Exit, No Action\",\"options\":{\"categories\":\"Long Entry, Short Entry, Long Exit, Short Exit, No Action\"}},\"type\":\"n8n-nodes-base.sentimentAnalysis\",\"typeVersion\":1.1,\"position\":[880,-144],\"id\":\"651030c4-3d5f-4779-9ba6-7f06fcf06ec3\",\"name\":\"AI Trading Decision\"},{\"parameters\":{\"model\":{\"__rl\":true,\"value\":\"anthropic/claude-sonnet-4\",\"mode\":\"list\",\"cachedResultName\":\"anthropic/claude-sonnet-4\"}},\"type\":\"n8n-nodes-base.lmOpenAi\",\"typeVersion\":1,\"position\":[880,144],\"id\":\"d9348681-aade-47a3-98b8-33434607a537\",\"name\":\"OpenAI Model 2\",\"credentials\":{\"openAiApi\":{\"id\":\"0122a64b-d4f0-4143-b8cb-39ff326c9c4e\",\"name\":\"OpenAi account\"}}},{\"parameters\":{\"jsCode\":\"\\nreturn [{data:JSON.stringify($input.first().json.output)}];\"},\"type\":\"n8n-nodes-base.code\",\"typeVersion\":2,\"position\":[880,368],\"id\":\"b9f2be0d-3294-495f-90dc-311eb5f25df9\",\"name\":\"Format Output\"},{\"parameters\":{\"logAll\":false,\"output\":\"={{ $json.data }}\"},\"type\":\"n8n-nodes-base.log\",\"typeVersion\":1,\"position\":[1136,368],\"id\":\"eb82dad3-1e17-4335-b4c4-c6965a29c009\",\"name\":\"Log\"},{\"parameters\":{\"symbol\":{\"__rl\":true,\"mode\":\"list\",\"value\":\"\"},\"amount\":1,\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,-128],\"id\":\"df3d881e-159b-4a5f-a60f-66fda2498b24\",\"name\":\"Long Entry\"},{\"parameters\":{\"operation\":\"sell\",\"symbol\":{\"__rl\":true,\"mode\":\"list\",\"value\":\"\"},\"amount\":1,\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,16],\"id\":\"eda44644-9437-4df6-898c-8735385ec173\",\"name\":\"Short Entry\"},{\"parameters\":{\"operation\":\"close\",\"symbol\":{\"__rl\":true,\"mode\":\"list\",\"value\":\"\"},\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,160],\"id\":\"23b0a81d-0941-4d84-ac4a-ec7fd82760e0\",\"name\":\"Long Exit\"},{\"parameters\":{\"operation\":\"close\",\"symbol\":{\"__rl\":true,\"mode\":\"list\",\"value\":\"\"},\"additionalOptions\":{}},\"type\":\"n8n-nodes-base.tradingExecutor\",\"typeVersion\":1,\"position\":[1568,288],\"id\":\"195bbd9e-90f8-41a8-8a57-6e01ab753c08\",\"name\":\"Short Exit\"},{\"parameters\":{\"content\":\"No Action\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1568,464],\"id\":\"feaa6566-b933-43ab-b60c-d1eeb95c7e74\",\"name\":\"No Action\"},{\"parameters\":{\"content\":\"Long Entry\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,-128],\"id\":\"143337d3-4307-4005-930f-a130abe8faa2\",\"name\":\"App Push\"},{\"parameters\":{\"content\":\"Short Entry\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,16],\"id\":\"dad293a7-892c-4a2b-bf10-adbfa45e7b4e\",\"name\":\"App Push1\"},{\"parameters\":{\"content\":\"Long Exit\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,160],\"id\":\"1a047a49-47fc-4ac3-a073-8f8977fdffb6\",\"name\":\"App Push2\"},{\"parameters\":{\"content\":\"Short Exit\"},\"type\":\"n8n-nodes-base.mobilePush\",\"typeVersion\":1,\"position\":[1776,288],\"id\":\"8f3688bb-2e52-4612-a59b-2d4a7a423162\",\"name\":\"App Push3\"}],\"pinData\":{},\"connections\":{\"merge\":{\"main\":[[{\"node\":\"AI Intelligent Analysis\",\"type\":\"main\",\"index\":0}]]},\"When clicking ‘Execute workflow’\":{\"main\":[[{\"node\":\"Code\",\"type\":\"main\",\"index\":0}]]},\"Code\":{\"main\":[[{\"node\":\"Account Information\",\"type\":\"main\",\"index\":0},{\"node\":\"Minute K-line\",\"type\":\"main\",\"index\":0},{\"node\":\"HTTP Request\",\"type\":\"main\",\"index\":0}]]},\"Account Information\":{\"main\":[[{\"node\":\"Data Processing 1\",\"type\":\"main\",\"index\":0}]]},\"Minute K-line\":{\"main\":[[{\"node\":\"Data Processing 2\",\"type\":\"main\",\"index\":0}]]},\"HTTP Request\":{\"main\":[[{\"node\":\"Data Processing 3\",\"type\":\"main\",\"index\":0}]]},\"Data Processing 1\":{\"main\":[[{\"node\":\"Merge\",\"type\":\"main\",\"index\":0}]]},\"Data Processing 2\":{\"main\":[[{\"node\":\"Merge\",\"type\":\"main\",\"index\":1}]]},\"Data Processing 3\":{\"main\":[[{\"node\":\"Merge\",\"type\":\"main\",\"index\":2}]]},\"Merge\":{\"main\":[[{\"node\":\"merge\",\"type\":\"main\",\"index\":0}]]},\"AI Intelligent Analysis\":{\"main\":[[{\"node\":\"Format Output\",\"type\":\"main\",\"index\":0},{\"node\":\"AI Trading Decision\",\"type\":\"main\",\"index\":0}]]},\"OpenAI Model 1\":{\"ai_languageModel\":[[{\"node\":\"AI Intelligent Analysis\",\"type\":\"ai_languageModel\",\"index\":0}]]},\"AI Trading Decision\":{\"main\":[[{\"node\":\"Long Entry\",\"type\":\"main\",\"index\":0}],[{\"node\":\"Short Entry\",\"type\":\"main\",\"index\":0}],[{\"node\":\"Long Exit\",\"type\":\"main\",\"index\":0}],[{\"node\":\"Short Exit\",\"type\":\"main\",\"index\":0}],[{\"node\":\"No Action\",\"type\":\"main\",\"index\":0}]]},\"OpenAI Model 2\":{\"ai_languageModel\":[[{\"node\":\"AI Trading Decision\",\"type\":\"ai_languageModel\",\"index\":0}]]},\"Format Output\":{\"main\":[[{\"node\":\"Log\",\"type\":\"main\",\"index\":0}]]},\"Long Entry\":{\"main\":[[{\"node\":\"App Push\",\"type\":\"main\",\"index\":0}]]},\"Short Entry\":{\"main\":[[{\"node\":\"App Push1\",\"type\":\"main\",\"index\":0}]]},\"Long Exit\":{\"main\":[[{\"node\":\"App Push2\",\"type\":\"main\",\"index\":0}]]},\"Short Exit\":{\"main\":[[{\"node\":\"App Push3\",\"type\":\"main\",\"index\":0}]]}},\"active\":false,\"settings\":{\"timezone\":\"Asia/Shanghai\"},\"tags\":[],\"meta\":{\"templateCredsSetupCompleted\":true},\"credentials\":{},\"id\":\"f40ba8ee-2c1a-42dc-820b-23bbdf3b083c\"},\"startNodes\":[],\"triggerToStartFrom\":{\"name\":\"When clicking ‘Execute workflow’\"}}"}
全部留言
BIghaozi
牛逼
2025-09-19 03:12:42
发明者量化-小小梦
您好,感谢支持FMZ量化。
2025-09-19 21:44:57