如何构建自己的交易机器人开发环境
作者:老余捞鱼
原创不易,转载请标明出处及原作者。

写在前面的话:
本文主要讲解如何构建一个交易机器人开发环境。描述具体的步骤和工具,包括使用 GitHub Codespaces、Visual Studio Code(VS Code)和 GitHub,以及如何安装 TA Lib 和 GitHub CoPilot。
我永远不会忘记第一次尝试创建交易机器人的情景。我花了好几个小时才弄明白如何正确配置我的环境、下载我需要的工具、设置我的编码环境。不瞒你说,我曾多次深深地想过放弃!然而,我从未忘记我所经历的挫折和痛苦。
起初,我以为我的经历是独一无二的。我想这是因为我以前从未做过,这 “只是旅程的一部分”。然而,随着我AI顾投朋友圈的不断扩大,我发现越来越多的人表示面临着同样的挑战。最后,我决定现在是写一写这个的时候了。
在本文中,您将了解到…
- 如何在任何地方(包括 Raspberry Pi)创建自己的交易机器人开发环境;
- 如何添加强大的人工智能编码助手工具,如 GitHub CoPilot;
- 如何准备强大的技术分析工具,如 TA Lib,供您的交易机器人使用;
- 关于一些可简化和增强开发体验的优秀附加组件。
本文适用于希望以最少的麻烦建立出色的交易机器人开发环境的任何人。
一、法律问题
DYOR.请注意,所有交易风险自担。我的目标是为您提供我自己开发的方法、系统和工具–至于这个解决方案是否适合您,以及我提供的内容是否可信,则取决于您自己。永远 DYOR (Do Your Own Research)自己研究。
推荐。我在本文中提到的任何产品都不收取任何佣金。它们都是免费的(或有免费层级),我只是提供链接来简化您的学习体验。
人工智能的使用。在创建本博客的过程中,人工智能没有受到任何伤害。部分图片是通过人工智能工具生成或增强的,但除了一张有明确标注的图片外,我们始终使用真人将它们组合在一起。我没有使用人工智能生成文字,只是进行了拼写检查。
二、构建环境
我将在这篇博客中向你展示的开发环境,可以在世界上任何有互联网连接和计算能力的地方使用,我将向你展示如何将三种工具结合在一起:
- Visual Studio Code,简称 VS Code
- GitHub
- GitHub 代码空间
步骤 1:注册 GitHub

我们工具的第一步是注册 GitHub。这个功能强大的在线平台是代码开发的行业标准,被世界上一些最大的公司用来运行一些最著名的软件。包括我们Ainvest在内的所有公司都广泛使用它。
最重要的是:它有一个慷慨的免费层。在此注册。
步骤 2:注册 VS 代码

工具的下一步是选择集成开发环境,即 IDE。多年来,我使用过许多不同的集成开发环境,但最近我选择了 VS Code。它非常简单、轻便,老实说,它让集成开发环境适用于我们所做的一切。
现在,我将为你提供两种获取它的方式(都是免费的)。请注意,由于现代技术和我接下来要介绍的工具的神奇之处,无论你选择哪种方式,都能获得几乎完全相同的体验:
- 本地安装。如果您想在本地计算机上运行 VS Code(这意味着下载并安装它),那么请查看此链接以获取与您的操作系统相关的可执行文件。
- 网络浏览器使用。如果你想获得完全相同的用户体验,且无需安装,请使用此链接。
步骤 3:注册 GitHub 代码空间

我个人认为,GitHub 代码空间改变了开发游戏规则。虽然也有其他工具试图做类似的事情,但代码空间的广度和范围着实令人吃惊。不过,长话短说、Codespaces 基本上是将您的交易机器人封装到一个开发环境中,并始终保持更新。
Want some more reasons it’s awesome?
- 再也不会丢失代码
- 添加工具(如 TA Lib)只需几分钟而不是几小时
- 只要有网络浏览器和互联网,在任何地方都能使用。
- 看起来就像 VS 代码
在撰写本文时,您每月可免费获得 60 小时的 Codespace 使用时间。完成这个系列的学习并建立自己的第一个交易机器人绰绰有余 😀在此注册。
步骤 4:10 分钟内创建开发环境
如果您已经注册了这三项服务,那么您就拥有了创建开发环境所需的一切。具体方法如下:

流程如下:
- 转到 GitHub -> Repositories -> New
- 填写详细信息(并根据您的偏好设置为 “公开 “或 “私人”)。
- 选择代码 -> 代码空间 -> 在主屏幕上创建代码空间
- 添加名为 app.py 的新文件,并添加一行 print(“Hello World”)
- 添加一些扩展功能。请在本文底部查看我最喜欢的一些扩展功能
三、交易机器人 ❤️TA Lib
很久很久以前,世界上有一款功能最强大、使用最广泛的技术分析工具。它被称为 TA Lib,是技术分析的黄金标准。然而,这个工具却成了许多人的心病,主要问题是:
- 难以安装
- 难于上青天
- 100% 不与 Windows 电脑兼容
许多人试图让它运转起来。这花费了他们很多时间。他们再也找不回来的时间。最宝贵的资源–时间,就浪费在这个令人沮丧的工具上。不过现在,我们可以使用 GitHub 代码空间来解决这个问题。
1. 在 8 分钟内为您的交易机器人添加 TA Lib
首先,按照以下步骤在开发环境中设置几个文件:

流程如下,全部在您之前创建的代码空间内:
- 创建名为 requirements.txt 的文件
- 在 requirements.txt 中添加 TA-Lib
- 创建名为 .devcontainer 的文件夹
- 在该文件夹中,创建一个名为 Dockerfile 的文件
- 在该文件夹中,创建另一个名为 devcontainer.json 的文件
文件结构现在应该是下面这样的:
现在,用这段代码更新你的 Dockerfile:
# Part of the article: Build Your Own Trading Bot Dev Environment that works from Anywhere and includes TA Lib, AI
# TradeOxy URL to access article: https://www.tradeoxy.com/blog/build-your-own-trading-bot-dev-environment-that-works-from-anywhere-includes-technical-indicators-from-ta-lib-and-cutting-edge-ai/
# Medium URL to access article: https://medium.com/@appnologyjames/build-your-own-trading-bot-development-environment-5163443da220
# Main GitHub Repo: https://github.com/jimtin/something-cool/blob/main/README.md# Use the official image as a parent image.
FROM mcr.microsoft.com/vscode/devcontainers/python:3.10# Set environment varibles
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1# Set work directory
WORKDIR /code# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \gcc \default-libmysqlclient-dev \build-essential \wget# Download TA-Lib to the /tmp directory
RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz -O /tmp/ta-lib-0.4.0-src.tar.gz# Extract TA-Lib files
RUN tar xvzf /tmp/ta-lib-0.4.0-src.tar.gz -C /tmp# Navigate into the extracted TA-Lib source code directory
WORKDIR /tmp/ta-lib/# Build and install TA-Lib
RUN ./configure --prefix=/usr && make && make install# Navigate back to the root directory
WORKDIR /# Copy the requirements.txt file to the root directory
COPY requirements.txt /# Install the Python dependencies
RUN pip install --upgrade pip && pip install -r /requirements.txt# Install TA-Lib python wrapper
RUN pip install TA-Lib
接下来,用这段文字更新 devcontainer.json:
{"name": "Python 3","build": {"dockerfile": "Dockerfile","context": "..","args": { "VARIANT": "3.10","INSTALL_NODE": "true","NODE_VERSION": "lts/*"}},"runArgs": ["--network","host"],"postCreateCommand": "pip install TA-Lib","remoteUser": "vscode"
}
最后,当 VS Code 要求您重新启动代码空间时,请按照提示操作。

2.在一分钟内为您的交易机器人开发环境添加 ChatGPT
GitHub CoPilot,是我迄今为止见过的最实用的人工智能实现之一。

实际上,这一工具将:
- 可为您节省多达 60% 的开发时间(据许多开发人员称)
- 充当功能齐全的代码补全编辑器,每次都能复制你的个人编码风格
- 当您的代码出现问题时,为您提供有用的建议
我将在以后的文章中解释 CoPilot 为何如此强大,但现在,你可以在 60 秒内将其添加到你的代码空间。具体方法如下:
- 使用此链接注册
- 进入代码空间,找到 GitHub CoPilot 扩展
- 安装
请注意。在撰写本文时,您还可以免费试用该扩展 30 天。绰绰有余,足以构建您的第一个交易机器人。
四、其他一些有用的 VS 代码扩展
最后,我将列举一些我在自己的 VS Code 设置中使用的有用工具。请随意使用:
- CoPilot 主题 – 我喜欢这种配色方案
- Docker– 帮助我格式化 Docker 文件
- autopep8– 帮助我保持代码格式正确
- Resource Monitor — 资源监控器 ,显示集成开发环境正在消耗哪些资源
五、总结
恭喜您建立了自己的交易机器人开发环境!您现在已经拥有了开始构建交易机器人所需的一切!总结下本文中的一些观点。
- 开发环境的重要性:作者认为一个良好配置的开发环境对于交易机器人的开发至关重要,可以显著提高开发效率。
- 技术分析工具的挑战:TA Lib 作为技术分析的黄金标准,但其安装过程极其挑战性,作者通过 GitHub Codespaces 提供了一种简化安装的方法。
- AI 编码助手的价值:GitHub CoPilot 作为一个 AI 编码助手,能够提供代码补全建议,节省开发时间,并且能够适应开发者的编码风格。
- 开发环境的全球可访问性:通过 Starlink 和 Raspberry Pi 的结合,开发者可以在全球任何地方访问和使用他们的开发环境。
- 开源和社区支持:作者强调了开源工具和社区支持的重要性,提供了多种方式让开发者可以互相帮助和学习。
- 个人化开发环境:通过添加特定的扩展和定制设置,开发者可以根据自己的需求个性化他们的开发环境。
本文内容仅仅是技术探讨和学习,并不构成任何投资建议。
转发请注明原作者和出处。
相关文章:
如何构建自己的交易机器人开发环境
作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文主要讲解如何构建一个交易机器人开发环境。描述具体的步骤和工具,包括使用 GitHub Codespaces、Visual Studio Code(VS Code)…...
解决WordPress文章引用的图片不显示问题
在使用WordPress发布文章时,有时会遇到复制发布的文档中包含的外链图片无法正常显示的问题。然而,当我们将图片路径复制到浏览器中单独打开时,图片却可以正常显示。以下是解决这一问题的方法。 问题描述 当你在WordPress文章中引用外链图片…...
商业银行国际结算规模创新高,合合信息AI助力金融行业智能处理多版式文档
随着我国外贸新业态的快速增长,银行国际结算业务在服务实体经济发展、促进贸易投资便利化进程中发挥了越来越重要的作用。根据中国银行业协会近日发布的《中国贸易金融行业发展报告(2023—2024)》,2023年我国主要商业银行国际结算…...
数字芯片设计验证经验分享:将ASIC IP核移植到FPGA上——更新概念并推动改变以完成充满挑战的任务!
作者:Philipp Jacobsohn,SmartDV首席应用工程师 Sunil Kumar,SmartDV FPGA设计总监 本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用I…...
【Linux】Linux下的日志(日常级)
日志是日后工作中非常重要的一部分,现在写一份简单的日志项目可以帮助我们熟悉并理解原理。 目录 设计思路:一些实现细节:代码:日志的使用方法: 设计思路: 图示是我们的最终目的。 设计一个类࿰…...
手把手教你如何在Linux上轻松安装Python,告别编程入门难题
导语: Python作为当下最热门的编程语言之一,受到了越来越多人的喜爱。对于Linux用户来说,掌握如何在Linux上安装Python至关重要。今天,就让我带领大家一步步在Linux上安装Python,让你轻松迈入编程世界! 一…...
XSS-labs靶场(超详解)1-20关——附原码
level1 原码 <!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> <script> window.alert function() { confirm("完成的不错࿰…...
【网络安全】LockBit病毒入侵揭秘:如何防范与应对
文章目录 前言 主要特征攻击手段演进历程主要威胁防范与对策 如何入门学习网络安全【黑客】 【----帮助网安学习,以下所有学习资料文末免费领取!----】 大纲学习教程面试刷题 资料领取 前言 在数字时代,随着科技的飞速发展,网络…...
《开源大模型食用指南》适合中国宝宝的部署教程,基于Linux环境快速部署开源大模型
本项目是一个围绕开源大模型、针对国内初学者、基于 AutoDL 平台的中国宝宝专属大模型教程,针对各类开源大模型提供包括环境配置、本地部署、高效微调等技能在内的全流程指导,简化开源大模型的部署、使用和应用流程,让更多的普通学生、研究者…...
体验教程:通义灵码陪你备战求职季
本场景将带大家体验在技术面试准备场景下,如何通过使用阿里云通义灵码实现高效的编程算法题练习 、代码优化、技术知识查询等工作,帮助开发者提升实战能力,更加从容地应对面试挑战。主要包括: 1、模拟题练习:精心挑选…...
(070)爬楼梯
思路:一次爬一个或者一次爬两个楼梯,终止条件,即是当n1或n2时,完成操作,当n>2时,总方法就等于一次爬一个楼梯的方法数加上一次爬两个楼梯的方法数。 解法一:递归解法 if(n 1)return 1;if(n 2)return 2…...
el-table 表格序号列前端实现递增,切换分页不从头开始
<el-table-column type"index" width"55" label"序号" :index"hIndex"> </el-table-column> 分页 <el-pagination size-change"handleSizeChange" current-change"handleCurrentChange"> <…...
NSSCTF-Web题目27(Nginx漏洞、php伪协议、php解析绕过)
目录 [HNCTF 2022 WEEK2]easy_include 1、题目 2、知识点 3、思路 [NSSRound#8 Basic]MyDoor 4、题目 5、知识点 6、思路 [HNCTF 2022 WEEK2]easy_include 1、题目 2、知识点 nginx日志漏洞执行系统命令 3、思路 打开题目,出现源码 题目要我们上传一个fi…...
分割损失:Dice vs. IoU
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 对于医学影像分割…...
SpringBoot整合Juint,ssm框架
目录 SpringBoot整合Juint 1.导入相关的依赖 2.创建测试类,使用注解SpringBootTest SpringBoot整合ssm框架 1.使用脚手架创建Spring项目 2.修改pom.xml 我先修改了SpringBoot的版本,修改为2.3.10.RELEASE,因为SpringBoot版本太高会出现…...
基于supervisor制作基于环境变量配置的redis
背景: redis 的镜像很多很多,但都需要直接修改配置文件,不符合我们公司当前环境变量解决一切容易配置的思路。 材料: 1、CentOS-Base.repo [base] nameCentOS-$releasever enabled1 failovermethodpriority baseurlhttp://mirr…...
动态规划part01 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
509. 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中 …...
CSS实现图片边框酷炫效果
一、前言 我们在浏览一些网页时,经常会看到一些好看酷炫的元素边框效果(如下图),那么这些效果是怎么实现的呢?我们知道,一般的边框,要么是实线,要么是虚线(点状…...
遇到 MySQL 死锁问题如何解决?
终于来到死锁检查线程的第三步,可以解决死锁了。 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品,原创内容未经授权不得随意使用࿰…...
Pyinstaller打包OSError: could not get source code【终极解决】
pyinstaller 打包的时候,发现只要是torch.jit.script装饰的函数,会报以下错误: Traceback (most recent call last):File "torch/_sources.py", line 25, in get_source_lines_and_fileFile "inspect.py", line 1123, i…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
