项目介绍:基于ChartScanAI的crypto currency决策系统

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: ChartScanAI 是一个基于 GitHub 的增强型加密货币交易策略工具,结合 RSI、EMA、ADX 和 OBV 等技术指标,通过动态权重分配与蜡烛图模式识别,实现多周期(1h、4h、1d、1w)交易信号生成。策略内置市场状态判断、信号加权评分、风险管理(ATR 止损止盈)及仓位控制逻辑,旨在提升交易适应性与收益风险比。

项目地址: https://github.com/ahsan3219/ChartScanAI


策略介绍


增强型加密货币交易策略

该策略综合运用技术指标、基于市场状况的动态权重分配、蜡烛图模式确认以及专为加密货币交易量身定制的风险管理,数据通过 ccxt 获取。

可用周期 :1 小时(1h)、4 小时(4h)、1 天(1d)、1 周(1w)。

1. 指标

  • 核心指标 :RSI(14)、EMA(50)、ADX(14)、OBV
  • 风险指标 :ATR(14)

2. 市场状况(ADX)

  • ADX > 25 :趋势行情(提高 EMA 和 ADX 的权重)
  • ADX < 20 :盘整行情(提高 RSI 的权重)
  • 20 - 25 :中性行情(基础权重)

3. 指标信号

  • RSI :若小于 30,信号为 +1;若大于 70,信号为 -1;否则为 0
  • EMA :若收盘价大于 EMA(50),信号为 +1;若收盘价小于 EMA(50),信号为 -1;否则为 0
  • ADX :信号为 0(影响权重,不直接影响得分)
  • OBV :若当前值大于前值,信号为 +1;若当前值小于前值,信号为 -1;否则为 0

4. 风险管理

  • 止损 :入场价 ±(2 × ATR)
  • 止盈 :入场价 ±(4 × ATR)(风险回报比 1:2)
  • 头寸规模 :若得分绝对值 > 5,满仓;若 0 < 得分绝对值 ≤5,半仓

5. 蜡烛图确认

  • 被识别的蜡烛图模式(如锤子线、吞没形态等)仅在方向(看涨 / 看跌)与基础得分方向一致时,分别添加权重 1.12。

6. 最终信号

  • 由加权信号总和 + 条件蜡烛图调整共同计算得出。
  • 输出:多 / 空 / 中性信号、头寸规模、止损 / 止盈价位。




核心逻辑


   1. 数据检查

   输入数据验证:函数首先检查输入数据框(df)是否为空或行数少于 2 行。因为至少需要两行数据来比较 OBV(能量潮指标)等指标。


   2. 获取最新和前一行数据

   提取数据:获取数据框中最新一行(latest)和前一行(previous)的数据,用于后续指标的比较和计算。


   3. 市场条件适应

   ADX 值获取:从最新数据中获取 ADX(平均趋向指数)值,用于判断市场处于趋势行情还是盘整行情。

   权重调整:根据 ADX 值调整不同指标的权重。如果 ADX 大于 25,市场处于趋势行情,增加 EMA(指数移动平均线)和 ADX 的权重;如果 ADX 小于 20,市场处于盘整行情,增加 RSI(相对强弱指数)的权重。


   4. 指标信号定义

   RSI 信号:根据 RSI 值生成买卖信号。RSI 低于 30 表示超卖(买入信号),高于 70 表示超买(卖出信号)。

   EMA 信号:比较收盘价和 EMA 的大小,生成买卖信号。收盘价高于 EMA 为买入信号,低于 EMA 为卖出信号。

   OBV 信号:比较最新和前一时刻的 OBV 值,生成买卖信号。OBV 增加为买入信号,减少为卖出信号。


   5. 计算分数和最终信号

   基础分数计算:根据调整后的权重和指标信号计算基础总分。

   蜡烛图模式整合:调用函数获取蜡烛图模式信号,并根据基础分数和蜡烛图模式调整最终分数。

   最终信号生成:根据最终分数生成交易信号(买入、卖出或持币)。


   6. 风险管理

   ATR 值获取:从最新数据中获取 ATR(平均真实波幅)值,用于计算止损和止盈价位。

   头寸大小确定:根据最终分数的绝对值确定头寸大小。如果分数绝对值大于某个阈值,使用全额头寸;否则使用半额头寸。

   止损和止盈计算:根据 ATR 值和交易信号计算止损和止盈价位。


   7. 返回结果

   结果汇总:将所有计算结果汇总到一个字典中并返回,包括各个指标的值、调整后的权重、市场条件、基础和最终分数、交易信号、头寸大小、止损和止盈价位等。

   核心逻辑

     综合多种技术指标:结合多个技术指标(如 RSI、EMA、OBV、ADX)的优点,全面分析市场状况。

     市场条件适应性:根据市场是趋势行情还是盘整行情,动态调整指标权重,提高策略的适应性和有效性。

     风险管理:通过 ATR 指标计算合理的止损和止盈价位,控制交易风险。

     信号整合:将各个指标的信号整合成一个综合分数,最终生成明确的交易信号。


   该函数通过综合分析多个技术指标和市场条件,生成可靠的交易信号,同时考虑风险管理和头寸控制。



image.png

相关文章
|
2月前
|
人工智能 自然语言处理 数据可视化
开源AI BI可视化工具-dataline
DataLine 是一个开源数据分析工具,支持自然语言交互,可快速生成图表与报告。数据默认存储本地,保障隐私安全,兼容 Postgres、MySQL、Excel 等多种数据源。提供可视化仪表盘、触发器及知识库功能,支持 Windows、Mac、Linux 平台运行,并可通过 Docker 部署,适合企业使用。
|
缓存 监控 Java
Java Socket编程最佳实践:优化客户端-服务器通信性能
【6月更文挑战第21天】Java Socket编程优化涉及识别性能瓶颈,如网络延迟和CPU计算。使用非阻塞I/O(NIO)和多路复用技术提升并发处理能力,减少线程上下文切换。缓存利用可减少I/O操作,异步I/O(AIO)进一步提高效率。持续监控系统性能是关键。通过实践这些策略,开发者能构建高效稳定的通信系统。
342 1
|
JavaScript
面试官:v-model原理?
面试官:v-model原理?
359 2
|
前端开发 安全 iOS开发
手把手教你做iOS逆向分析,突破微信的群发多选数量限制
很久没碰iOS开发了,最近都在web前端持续输出,加了很多推文群,每次群发文章的时候都要受到这个最多只能选择9个聊天的限制。 很不爽,好歹我也曾是一名iOS开发者呀,弄它~
743 0
手把手教你做iOS逆向分析,突破微信的群发多选数量限制
|
2月前
|
机器学习/深度学习 人工智能 算法
基于YOLOv8的FPS射击类游戏人物识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目基于YOLOv8与PyQt5开发,专为FPS射击类游戏人物识别设计,具备高精度、实时检测能力。包含完整训练代码、数据集及图形界面,支持图片、视频、摄像头多模式输入,提供从模型训练到部署的全流程解决方案,开箱即用,适合学术研究与AI工程实践。
基于YOLOv8的FPS射击类游戏人物识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
|
存储 人工智能 Java
ChatGPT API接口编程基础与使用技巧
ChatGPT API接口编程基础与使用技巧
1210 0
|
9月前
|
人工智能 自然语言处理 前端开发
Lobe Vidol:AI数字人交互平台,可与虚拟人和3D模型聊天互动
Lobe Vidol是一款开源的AI数字人交互平台,允许用户创建和互动自己的虚拟偶像。该平台提供流畅的对话体验、丰富的动作姿势库、优雅的用户界面设计以及多种技术支持,如文本到语音和语音到文本技术。Lobe Vidol适用于娱乐互动、在线教育、客户服务、品牌营销和社交媒体等多个应用场景。
497 7
Lobe Vidol:AI数字人交互平台,可与虚拟人和3D模型聊天互动
|
11月前
|
移动开发 JavaScript 前端开发
UniApp低代码-颜色选择器diy-color-picker-代码生成器
UniApp低代码-颜色选择器diy-color-picker-代码生成器
378 5
|
Windows
|
机器学习/深度学习 算法 数据挖掘
Python 机器学习算法交易实用指南(一)(1)
Python 机器学习算法交易实用指南(一)
409 4