# crypto_jsbot **Repository Path**: ifangnet/crypto_jsbot ## Basic Information - **Project Name**: crypto_jsbot - **Description**: 使用js,electron实现的交易机器人 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-12-24 - **Last Updated**: 2025-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 Crypto Trading Bot (加密货币交易机器人) > 一个功能强大的加密货币交易机器人,基于 Electron + Vue 3 + Element Plus 构建,支持实时虚拟交易、历史数据回测、多数据源价格监控等功能。     ## 📋 目录 - [功能特性](#-功能特性) - [系统要求](#-系统要求) - [快速开始](#-快速开始) - [详细安装步骤](#-详细安装步骤) - [使用说明](#-使用说明) - [项目结构](#-项目结构) - [开发指南](#-开发指南) - [故障排除](#-故障排除) - [贡献指南](#-贡献指南) - [许可证](#-许可证) ## ✨ 功能特性 ### 🎯 核心功能 - **实时虚拟交易**: 使用真实市场数据进行零风险模拟交易 - **历史数据回测**: 基于真实历史数据验证交易策略 - **多数据源支持**: 集成 Binance、CoinGecko、CryptoCompare 等多个数据源 - **实时价格监控**: Binance 图表实时价格同步 - **智能交易策略**: 支持 MA交叉、RSI、布林带、自定义策略 ### 📊 交易分析 - **实时市场概览**: 多币种价格和涨跌幅显示 - **多数据源价格比较**: 自动对比不同数据源的价格差异 - **交易统计分析**: 胜率、盈亏比、夏普比率等详细指标 - **可视化图表**: 权益曲线、K线图、交易记录等 ### 🛡️ 风险管理 - **止损止盈**: 自动止损和止盈功能 - **仓位控制**: 智能仓位管理和风险控制 - **状态持久化**: 自动保存交易状态,防止数据丢失 - **多重备份**: 多级数据源保障,确保数据可靠性 ### 🌐 技术特性 - **跨平台**: 支持 Windows、macOS、Linux - **现代界面**: 基于 Element Plus 的现代化 UI - **实时同步**: WebView 集成 Binance 交易图表 - **智能缓存**: 减少 API 调用,提升性能 ## 🖥️ 系统要求 ### 必需环境 - **Node.js**: 16.0.0 或更高版本 - **npm**: 8.0.0 或更高版本 (或 yarn 1.22.0+) - **操作系统**: Windows 10+, macOS 10.15+, Ubuntu 18.04+ ### 推荐配置 - **内存**: 4GB RAM 或更多 - **硬盘**: 至少 1GB 可用空间 - **网络**: 稳定的互联网连接(用于获取实时数据) ## 🚀 快速开始 ### 一键启动(推荐) ```bash # 1. 克隆项目 git clone https://github.com/your-username/crypto_jsbot.git cd crypto_jsbot # 2. 安装依赖 npm install # 3. 启动开发模式 npm run dev ``` 等待几分钟后,应用程序会自动启动!🎉 ## 📝 详细安装步骤 ### 步骤 1: 准备环境 #### Windows 用户 1. **安装 Node.js** - 访问 [Node.js 官网](https://nodejs.org/) - 下载 LTS 版本(推荐 18.x 或 20.x) - 双击安装包,按默认设置安装 - 打开命令提示符,输入 `node --version` 验证安装 2. **安装 Git** - 访问 [Git 官网](https://git-scm.com/) - 下载并安装 Git for Windows - 安装时选择 "Git from the command line and also from 3rd-party software" #### macOS 用户 ```bash # 使用 Homebrew 安装(推荐) brew install node brew install git # 或者从官网下载安装包 ``` #### Linux 用户 ```bash # Ubuntu/Debian sudo apt update sudo apt install nodejs npm git # CentOS/RHEL sudo yum install nodejs npm git # 或使用 NodeSource 仓库安装最新版本 curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs ``` ### 步骤 2: 获取项目代码 ```bash # 方法1: 使用 Git 克隆(推荐) git clone https://github.com/your-username/crypto_jsbot.git cd crypto_jsbot # 方法2: 直接下载 ZIP # 1. 访问项目 GitHub 页面 # 2. 点击 "Code" -> "Download ZIP" # 3. 解压到本地文件夹 # 4. cd 到项目目录 ``` ### 步骤 3: 安装项目依赖 ```bash # 确保在项目根目录下 pwd # 应该显示 .../crypto_jsbot # 安装依赖(选择其中一种方式) npm install # 使用 npm # 或 yarn install # 使用 yarn(如果已安装) # 如果下载速度慢,可以使用国内镜像 npm install --registry=https://registry.npmmirror.com ``` **📌 常见安装问题:** - 如果遇到权限错误,在命令前加 `sudo`(Linux/macOS) - Windows 用户如果遇到 PowerShell 执行策略错误,以管理员身份运行命令行 - 网络问题可以尝试使用科学上网工具或更换网络环境 ### 步骤 4: 启动应用 #### 开发模式(推荐) ```bash # 启动开发服务器(自动重载) npm run dev # 等待编译完成,应用会自动打开 # 如果没有自动打开,请等待控制台显示 "Ready" 信息 ``` #### 生产模式 ```bash # 构建生产版本 npm run build # 运行构建后的应用 npm start ``` #### 打包为可执行文件 ```bash # 打包为桌面应用(可分发给其他人) npm run build:electron # 打包文件会生成在 build/ 目录下 ``` ## 🎮 使用说明 ### 首次启动 1. **应用启动后,您会看到登录界面** - 首次使用请点击 "注册账号" - 或使用默认账号:`admin` / `password` 2. **进入主界面** - 🏠 **仪表盘**: 查看系统概览和快速操作 - 📊 **交易分析**: 实时市场数据和价格监控 - 🤖 **虚拟交易**: 零风险模拟交易功能 - 📈 **策略回测**: 历史数据验证交易策略 - ⚙️ **设置**: 个人设置和系统配置 ### 核心功能使用 #### 🤖 虚拟交易 1. **导航到 "交易分析" 页面** 2. **配置交易参数** ``` - 交易对: BTC/USDT, ETH/USDT, BNB/USDT, SOL/USDT - 初始资金: 建议 10,000 - 100,000 USDT - 交易策略: MA交叉/RSI/布林带/自定义 - 风险控制: 止损/止盈百分比 ``` 3. **点击 "虚拟交易" 按钮启动** 4. **实时监控交易状态** - 查看实时价格和盈亏情况 - 观察交易信号和执行记录 - 分析统计数据和性能指标 📖 **详细说明**: 请参考 [虚拟交易功能说明.md](./虚拟交易功能说明.md) #### 📈 策略回测 1. **选择 "交易策略回测" 功能** 2. **配置回测参数** ``` - 数据源: 真实数据 (Binance + CoinGecko + CryptoCompare) - 回测周期: 7天/30天/90天/1年 - K线周期: 1小时/4小时/1天 - 交易策略: 选择合适的策略类型 ``` 3. **运行回测分析** 4. **查看结果报告** - 收益率、夏普比率、最大回撤 - 交易次数、胜率、盈亏比 - 权益曲线图和详细交易记录 📖 **详细说明**: 请参考 [数据源使用说明.md](./数据源使用说明.md) #### 📊 实时价格监控 - **多数据源价格比较**: 自动对比不同交易所的价格 - **Binance 实时图表**: 内嵌真实交易图表 - **价格异常监控**: 自动识别价格差异和套利机会 - **自动数据刷新**: 每分钟自动更新最新价格 ## 📁 项目结构 ``` crypto_jsbot/ ├── src/ # 源代码目录 │ ├── main/ # Electron 主进程 │ │ ├── index.js # 主进程入口 │ │ └── preload.js # 预加载脚本 │ └── renderer/ # 渲染进程(前端) │ ├── src/ │ │ ├── views/ # 页面组件 │ │ │ ├── dashboard/ # 仪表盘 │ │ │ ├── trading/ # 交易分析 │ │ │ ├── settings/ # 设置页面 │ │ │ └── login/ # 登录页面 │ │ ├── components/ # 公共组件 │ │ ├── router/ # 路由配置 │ │ └── stores/ # 状态管理 │ └── public/ # 静态资源 ├── build/ # 构建输出目录 ├── package.json # 项目配置 ├── vite.config.js # Vite 配置 ├── README.md # 项目说明 ├── 虚拟交易功能说明.md # 虚拟交易文档 └── 数据源使用说明.md # 数据源文档 ``` ## 🛠️ 开发指南 ### 开发环境设置 ```bash # 安装开发依赖 npm install # 启动开发服务器 npm run dev # 运行代码检查 npm run lint # 运行测试(如果有) npm test ``` ### 可用脚本 ```bash npm run dev # 启动开发模式 npm run build # 构建生产版本 npm run build:vite # 构建前端资源 npm run build:electron # 打包桌面应用 npm start # 运行构建后的应用 npm run dev:vite # 仅启动前端开发服务器 npm run dev:electron # 仅启动 Electron ``` ### 技术栈 - **前端框架**: Vue 3 + Composition API - **UI 组件库**: Element Plus - **图表库**: ECharts - **桌面框架**: Electron 30.x - **构建工具**: Vite - **网络请求**: Axios - **路由**: Vue Router 4 - **状态管理**: Vuex 4 ## 🐛 故障排除 ### 常见问题 #### 1. 应用无法启动 **问题**: 运行 `npm run dev` 后没有反应或报错 **解决方案**: ```bash # 1. 检查 Node.js 版本 node --version # 应该 >= 16.0.0 # 2. 清除缓存并重新安装依赖 rm -rf node_modules package-lock.json npm install # 3. 检查端口是否被占用 lsof -i :5173 # macOS/Linux netstat -ano | findstr :5173 # Windows # 4. 尝试使用不同端口 VITE_PORT=3000 npm run dev ``` #### 2. 数据获取失败 **问题**: "获取市场数据失败" 或 "API 请求超时" **解决方案**: - ✅ 检查网络连接 - ✅ 确认防火墙设置 - ✅ 尝试使用科学上网工具 - ✅ 切换到模拟数据模式 #### 3. 虚拟交易状态丢失 **问题**: 刷新页面后虚拟交易数据消失 **解决方案**: - ✅ 检查浏览器本地存储是否启用 - ✅ 确认没有使用隐私模式/无痕模式 - ✅ 手动点击 "保存状态" 按钮 #### 4. Electron 白屏 **问题**: Electron 应用启动后显示白屏 **解决方案**: ```bash # 1. 重新构建 npm run build:vite # 2. 检查开发者工具 # 在 Electron 窗口中按 F12 查看错误信息 # 3. 重置应用数据 # 删除用户数据目录下的应用文件夹 ``` #### 5. 打包失败 **问题**: `npm run build:electron` 失败 **解决方案**: ```bash # 1. 确保先构建前端 npm run build:vite # 2. 清除缓存 npx electron-builder --dir # 3. 检查系统依赖 # Windows: 安装 Visual Studio Build Tools # macOS: 安装 Xcode Command Line Tools # Linux: 安装 build-essential ``` ### 获取帮助 如果遇到其他问题: 1. 📖 查看 [Issues](https://github.com/your-username/crypto_jsbot/issues) 2. 💬 提交新的 Issue 并详细描述问题 3. 📧 联系开发者: your-email@example.com 4. 🔍 查看浏览器/Electron 开发者工具的错误信息 ## 🤝 贡献指南 我们欢迎各种形式的贡献! ### 如何贡献 1. **Fork 项目** 到你的 GitHub 账号 2. **创建功能分支**: `git checkout -b feature/AmazingFeature` 3. **提交更改**: `git commit -m 'Add some AmazingFeature'` 4. **推送分支**: `git push origin feature/AmazingFeature` 5. **提交 Pull Request** ### 贡献类型 - 🐛 **Bug 修复**: 修复现有问题 - ✨ **新功能**: 添加新的交易策略或功能 - 📚 **文档改进**: 完善文档和使用说明 - 🎨 **UI/UX 改进**: 优化用户界面和体验 - ⚡ **性能优化**: 提升应用性能 - 🧪 **测试**: 添加或改进测试用例 ### 开发规范 - 使用 ES6+ 语法 - 遵循 Vue 3 Composition API 最佳实践 - 保持代码注释和文档更新 - 确保新功能向后兼容 ## 📄 许可证 本项目基于 [MIT License](LICENSE) 开源协议。 ``` MIT License Copyright (c) 2024 Crypto Trading Bot Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMplied, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## 🙏 致谢 感谢以下开源项目和服务: - [Vue.js](https://vuejs.org/) - 渐进式 JavaScript 框架 - [Electron](https://electronjs.org/) - 跨平台桌面应用开发 - [Element Plus](https://element-plus.org/) - Vue 3 组件库 - [ECharts](https://echarts.apache.org/) - 数据可视化图表库 - [Binance API](https://binance-docs.github.io/apidocs/) - 加密货币交易数据 - [CoinGecko API](https://www.coingecko.com/en/api) - 市场数据服务 - [CryptoCompare API](https://min-api.cryptocompare.com/) - 历史数据服务 ## 📞 联系方式 - **项目主页**: [GitHub Repository](https://github.com/your-username/crypto_jsbot) - **问题反馈**: [Issues](https://github.com/your-username/crypto_jsbot/issues) - **讨论交流**: [Discussions](https://github.com/your-username/crypto_jsbot/discussions) - **邮件联系**: your-email@example.com ---