xChar

本文面向了解加密货币交易基础,希望利用AI进行技术分析的读者

1. 背景

近期社区内合约交易讨论增多,展现出了潜在市场需求。考虑到大语言模型(LLM)在编程领域已超过一般程序员,所以我在 MyShell 平台开发了 AI交易助手机器人 CoinGlass,验证 LLM 在交易领域的能力。

CleanShot 2024-08-05 at 10.54.03@2x

CoinGlass 名称源自提供全面合约交易指标的数据平台 coinglass.com 。使用时,需上传 CoinGlass 的截图供机器人分析。此外,该机器人也支持分析其他技术指标图表,如 Tradingview 或 交易所图表。

MyShell 是一个 Web3 AI 平台,允许用户创建、共享 AI 应用并从中获利。创作者无需编写代码,即可利用强大的 LLM 快速开发和发布 AI 应用。

该机器人被设定为加密货币衍生品交易专家。经过大量回测和迭代优化,它在多数情况下都表现出色。这是8月4日SOL还在150+的时候的开空建议: https://app.myshell.ai/share/AjMbEj

注意:金融市场行情不可预测。虽然建议由 AI 提供,但用户应始终警惕风险。

2. 设计思路

技术指标的有效性因情况而异。你需要深入理解指标的作用,并根据不同的交易策略进行选择。

顶级交易者通常专注于当下可控的因素和风险管理,而非预测难以把握的未来市场走向。

设计提示词(Prompt)时,我参考了多位交易员的经验,选择了几个加密货币交易常用指标。指标参数设置与最大加密货币交易所Binance的默认界面保持一致。

开发过程中遇到的主要问题:

  • 同样图表只有微小差别,输出结果不一致
  • 用不同语言回复,输出结果不一致
  • 难以精确识别指标具体值,尤其是均线与价格的关系
  • 无法准确解读异常指标的含义

经过多次迭代,最新版本采用思维链(CoT)技术,按以下步骤分析: 1. 读图 2. 识别指标特征 3. 分析方向 4. 寻找阻力支撑 5. 计算盈亏比 6. 判断交易可行性 7. 量化指标分数 8. 计算总分 9. 提供交易建议。

所有后续分析均基于第一步获取的指标数据,确保结果的一致性和可追溯性。

该机器人使用 Claude Sonnet 3.5 模型,温度参数设为0,以确保相同输入产生一致的输出结果。

3. LLM 在技术分析中的优劣势

在开发时我发现,使用LLM进行技术分析有以下值得关注的优劣势:

优势

  • 图像模式识别: LLM在训练过程中接触了大量图像数据,因此在K线图等交易图表的模式识别方面表现出色
  • 技术指标理解: 它们可以解释常见技术指标并提供见解
  • 泛化能力: 能够解读各种图表和指标,回答多样化的问题,并支持多语言输出
  • 易用性:使用和构建都像聊天一样简单

劣势

  • 需要指导: 有的技术指标你必须明确告诉它特定的隐藏信息,例如CVD和价格分歧时,有不同解读,但 LLM 往往无法发现潜在的信号
  • 幻觉:若不采用思维链(CoT)方法逐步分析,可能产生不一致或错误的结果。使用不同语言输出时,有时会导致交易建议的不一致
  • 自动化交易: 除非在本地做定制开发,否则无法接入实盘做自动化交易
  • 回测困难:与传统量化交易相比,评估模型和提示词的效果更为复杂,通常需要进行大量手动测试

4. 使用指南

how to use

图例展示了基本操作流程:打开 CoinGlass、截图、将图片和文字输入给机器人,然后发送。然而,实际使用中还有许多细节需要注意。

首先打开 CoinGlass https://www.coinglass.com/tv/Binance_BTCUSDT 并注册(注册后才能保存布局)。

4.1 设置图表

live layout

建议除了合约的重要数据外,再加上不同类型的指标作为补充,以下是我的选择的指标(点击顶部菜单的"CoinGlass - Indicator" 和 "Indicators" 可选择其他指标):

  • 主价格:基础类。选择 1D 4H 1H
  • 均线(MA):趋势均线类。选择 7/25/99,和币安默认一致
  • 成交量(Volume):基础类。默认币安 SMA 9
  • 聚合现货累计成交量增量(<CoinGlass>Aggregated Spot Cumulative Volume Delta):成交量类,简称 CVD。行情一般是现货引领期货市场,所以选择现货的 CVD。不同币种要选择不同交易所,BTC 2024年7月26-27日 的反弹,CoinBase 的CVD一直在降,Karken的 CVD一直在升,说明是 Karken 的现货买入带来了价格上涨。点击⚙️图表修改,我一般勾选 Binance + CoinBase。

CVD setting

  • 持仓加权平均资金费率(<CoinGlass>Funding Rates):合约类。
  • 多空持仓人数比(<CoinGlass>Long/Short Ratio (Accounts)):合约类。也可以选择Top Trader Ratio (Accounts)
  • 持仓(k线)(<CoinGlass>Open Interest (Candles)):合约类。
  • 随机相对强弱指数(Stoch RSI):振荡器类。默认设置 14 14 3 3,和币安一致。
  • 币种爆仓(<CoinGlass>Aggregated Liquidations):合约类。
  • ATR:趋势强度类,默认14。
  • 聚合合约订单薄深度差值(<CoinGlass> Aggregated Spot Orderbook Liquidity Delta(±1%)):订单流类。开单时深度参考。

以上指标涵盖了基础指标,重要合约指标,均线类、成交量类、振荡器类、趋势强度类、订单流类各一个,能让AI对市场有全面的判断。

另外建议进行以下设置,点击右下角的⚙️:

  • 打开 Symbol last price label,避免读不到最新值
  • 关闭 Indicator value labels,减少截图中的文字,让AI更关注变化而不是数值

setting 1

  • 打开 High and low price labels和 Price line:显示高低点,是重要压力和支撑位
  • 关闭 Count down to bar close:减少不必要的干扰信息

setting 2

设置完毕后,点击菜单栏的 "Save" 保存布局。

4.2 截图

截图时需注意时间跨度不要过小或过大,右键 - Reset chart view 即可。

Reset chart view

然后用页面的截图功能,或者截图工具手动截图。我通常使用MacOS的 Take better screenshots and GIFs 软件手动截图。

Copy image

截图中应保证图片中的文字和线条清晰可读,如果发现机器人第一步读图的指标数字是错误的,就需要考虑截图是否足够清晰和简洁。其他语言界面也会导致识别错误。

以下是一张完整的截图参考。

screenshot ref

4.3 与 LLM 互动

访问 CoinGlass MyShell机器人 https://app.myshell.ai/bot/rYbENf/1713925324 ,点击 "+" 添加截图,或者 Ctrl+V 粘贴截图,然后发送。

CleanShot 2024-08-05 at 11.22.37@2x

在与机器人互动时:

  • 最小化无关信息:直接提供图表,避免添加不必要的文本,以防影响机器人判断
  • 使用英文:为保持判断一致性,建议直接使用英文与机器人交互
  • 清除记忆:分析不同币种前,建议点击"Clear memory"按钮清除之前的对话记录,避免机器人误解为多时间维度分析

Clear memory

  • 多时间维度分析:连续对话,提供不同时间框架的图表,获取全面观点。
  • 市场变化应对:市场出现明显变化时,提供最新图表和当前仓位信息,请求机器人更新建议。

add text

4.4 建立头寸

为了优化盈亏比,我采用以下策略:

  1. 分析1天和4小时时间框架的图表。当两者趋势一致时,确定做多(LONG)或做空(SHORT)方向。
  2. 在1小时图表上观察Stochastic RSI指标:
    • 做多条件:超卖(双线超过80)
    • 做空条件:超买(双线小于20)
    • 更稳健的入场信号:
      a) Stochastic RSI快线穿过慢线
      b) Stochastic RSI与价格出现背离
      观察下图,添加每日周期线后,该策略几乎每天都能发现超买或超卖的交易机会。
      Stoch RSI
  3. Stach RSI达到目标,向机器人发送 1H图表,加上文字 "find entry to LONG/SHORT",它会告诉你入场点位,也可以直接发送图表,无需附加文字。
  4. 手动下单并设置止盈止损

注意事项:

  • 根据个人交易习惯调整策略
  • 保持耐心,等待最佳入场机会
  • 在确认大趋势正确的前提下,优化入场点以提高盈利潜力
  • 单边大波动行情 1 H 给的止盈止损相对保守,可以用 4H 或者 1D的

4.5 如何回测

如果需要回测,图表上不能有最新值出现,有两种办法:

方法一

  1. 关闭所有指标的 Values in status line
    CleanShot 2024-08-05 at 11.48.28@2x

  2. 打开 Indicators value labels。
    CleanShot 2024-08-05 at 11.49.55@2x

  3. 保存布局。

  4. 拖动图表,最后一根k线到想回测的时间。截图。

方法二

  1. 拖动图表,最后一根k线到想回测的时间。
  2. 将鼠标移动到最后一根K线任意指标位置。 当出现垂直虚线时,显示的各指标值即为历史值。
  3. 第三方工具截图。

CleanShot 2024-08-05 at 12.06.57@2x

多时间维度回测注意事项

在进行多时间维度回测时,需要注意不同周期K线之间的时间对应关系。以下是具体的对应方式:

  • 日线对应下一日4小时线的20:00和1小时线的23:00。如果是北京时间UTC+8,就是第二天04:00和07:00。
  • 4小时线的04:00对应1小时线的07:00
  • 1小时线的09:00对应15分钟线的09:45

这种对应关系确保了回测过程中不同时间维度数据的正确同步,有助于获得更准确的回测结果。

5. 总结

LLM 通过提供深入见解和趋势识别能力,有潜力增强交易策略和盈利。其用户友好的特性,使普通交易者也能够轻松使用。

未来会持续改进提示词设计并探索其他用例,可以进一步提高 AI 在交易中的效果。采用新兴模型如 Claude Opus 3.5 有望带来更好的结果。

Loading comments...