如何构建自己的交易机器人开发环境

news2024/11/13 10:12:19

作者:老余捞鱼

原创不易,转载请标明出处及原作者。

写在前面的话:
       
本文主要讲解如何构建一个交易机器人开发环境。描述具体的步骤和工具,包括使用 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 分钟内创建开发环境

        如果您已经注册了这三项服务,那么您就拥有了创建开发环境所需的一切。具体方法如下:

        流程如下:

  1. 转到 GitHub -> Repositories -> New
  2. 填写详细信息(并根据您的偏好设置为 “公开 “或 “私人”)。
  3. 选择代码 -> 代码空间 -> 在主屏幕上创建代码空间
  4. 添加名为 app.py 的新文件,并添加一行 print(“Hello World”)
  5. 添加一些扩展功能。请在本文底部查看我最喜欢的一些扩展功能


三、交易机器人 ❤️TA Lib

        很久很久以前,世界上有一款功能最强大、使用最广泛的技术分析工具。它被称为 TA Lib,是技术分析的黄金标准。然而,这个工具却成了许多人的心病,主要问题是:

  • 难以安装
  • 难于上青天
  • 100% 不与 Windows 电脑兼容

        许多人试图让它运转起来。这花费了他们很多时间。他们再也找不回来的时间。最宝贵的资源–时间,就浪费在这个令人沮丧的工具上。不过现在,我们可以使用 GitHub 代码空间来解决这个问题。

1. 在 8 分钟内为您的交易机器人添加 TA Lib

        首先,按照以下步骤在开发环境中设置几个文件:

        流程如下,全部在您之前创建的代码空间内:

  1. 创建名为 requirements.txt 的文件
  2. 在 requirements.txt 中添加 TA-Lib
  3. 创建名为 .devcontainer 的文件夹
  4. 在该文件夹中,创建一个名为 Dockerfile 的文件
  5. 在该文件夹中,创建另一个名为 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 秒内将其添加到你的代码空间。具体方法如下:

  1. 使用此链接注册
  2. 进入代码空间,找到 GitHub CoPilot 扩展
  3. 安装

        请注意。在撰写本文时,您还可以免费试用该扩展 30 天。绰绰有余,足以构建您的第一个交易机器人。

四、其他一些有用的 VS 代码扩展

最后,我将列举一些我在自己的 VS Code 设置中使用的有用工具。请随意使用:

  1. CoPilot 主题 – 我喜欢这种配色方案
  2. Docker– 帮助我格式化 Docker 文件
  3. autopep8– 帮助我保持代码格式正确
  4. Resource Monitor — 资源监控器 ,显示集成开发环境正在消耗哪些资源

五、总结

恭喜您建立了自己的交易机器人开发环境!您现在已经拥有了开始构建交易机器人所需的一切!总结下本文中的一些观点。

  • 开发环境的重要性:作者认为一个良好配置的开发环境对于交易机器人的开发至关重要,可以显著提高开发效率。
  • 技术分析工具的挑战:TA Lib 作为技术分析的黄金标准,但其安装过程极其挑战性,作者通过 GitHub Codespaces 提供了一种简化安装的方法。
  • AI 编码助手的价值:GitHub CoPilot 作为一个 AI 编码助手,能够提供代码补全建议,节省开发时间,并且能够适应开发者的编码风格。
  • 开发环境的全球可访问性:通过 Starlink 和 Raspberry Pi 的结合,开发者可以在全球任何地方访问和使用他们的开发环境。
  • 开源和社区支持:作者强调了开源工具和社区支持的重要性,提供了多种方式让开发者可以互相帮助和学习。
  • 个人化开发环境:通过添加特定的扩展和定制设置,开发者可以根据自己的需求个性化他们的开发环境。


本文内容仅仅是技术探讨和学习,并不构成任何投资建议。
转发请注明原作者和出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1970604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

线上教育在线课堂知识付费小程序源码系统 带完整的安装代码包以及搭建部署教程

系统概述 线上教育在线课堂知识付费小程序源码系统,是一款专为教育机构、个人讲师及知识创作者设计的综合性在线教育平台解决方案。该系统基于微信小程序框架开发,充分利用了微信庞大的用户基础和高粘性的社交属性,为教育内容的传播与变现提…

Publisher - hackmyvm

简介 靶机名称:Publisher 难度:简单 靶场地址:https://hackmyvm.eu/machines/machine.php?vmPublisher 本地环境 虚拟机:vitual box 靶场IP(Publisher):192.168.56.123 跳板机IP(window…

用Python实现AI人脸识别

实现AI人脸识别通常涉及到使用深度学习库,如TensorFlow或PyTorch,配合预训练的人脸识别模型。以下是一个使用Python和TensorFlow框架中的tensorflow_hub模块来加载和使用一个预训练的人脸识别模型的简单示例。 步骤 1: 安装必要的库 首先,你…

【已解决】在Docker的Alpine容器中使用Docke

在Docker中使用Docker有很多种方法。 这里介绍一种在Alpine中安装使用Docker的方法,这种方法使用的不是宿主机的Docker,而是容器自身的,所以封装起来比较方便。 运行Alpine 用以下命令运行一个Alpine,记得开启--privileged参数&…

一个纯前端实现的头像生成网站

大家好,我是 Java陈序员。 今天,给大家介绍一个纯前端实现的头像生成网站。 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。 项目介绍 vue-color-avatar —— 一款基于 Vite Vue…

SpringBoot 依赖之Validation

Validation Validation 依赖名称: Validation功能描述: Bean Validation with Hibernate validator.使用 Hibernate 验证器进行 Bean 验证。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation&…

适用于 Mac 和 Windows 电脑的九大数据恢复软件

你们中的一些人肯定经历过由于计算机意外删除、系统崩溃、格式化、病毒攻击等而导致的严重数据丢失。 感觉不一样&#xff1f; 不用担心&#xff0c;使用数据恢复软件可以找回已删除或丢失的文件。 适用于 Mac 和 Windows 电脑的九大数据恢复软件 这里我们收集了大多数用户对…

好家伙,路由器也会中暑,你信吗?

前言 盛夏已经来很久了&#xff0c;这几天广州的天气就像女朋友&#xff0c;说变脸就变脸…… 一会儿下雨&#xff0c;一会儿又是热情满满的大晴天&#xff01; 伴随着这一切来的就是热、很热、闷热&#xff01; 感觉在阳光底下晒个2秒&#xff0c;整个人就会融化消失。 就…

RabbitMQ知识总结(工作模式)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 工作模式 简单模式 一个生产者对应一个消费者&#xff0c;通过队…

预测未来 | MATLAB实现RF随机森林多变量时间序列预测未来-预测新数据

预测未来 | MATLAB实现RF随机森林多变量时间序列预测未来-预测新数据 预测效果 基本介绍 随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法。如果用图来表示他们之间的关系如下: 随机森林是由很多决策树构成的,不同决策树之间没有关联。当我们进行…

基于raid10的Fastdfs HA搭建

1. Fastdfs HA原理 - Fastdfs引入Tracker以支持文件操作的负载均衡调度 - Fastdfs引入基于group分组的storage以支持类似raid10模式的高可靠高性能的存储 - Fastdfs引入fastdfs-nginx-module 可以重定向文件连接到文件上传时的源服务器取文件,避免客户端由于复制延迟导致的文…

揭秘线性代数秩的奥秘:从理论到机器学习的跨越

一、线性代数中的秩&#xff1a;定义与性质 1.1 定义 在线性代数中&#xff0c;秩是一个核心概念&#xff0c;用于描述矩阵或向量组的复杂性和独立性。具体而言&#xff0c;一个矩阵的秩定义为该矩阵中非零子式的最高阶数&#xff0c;而一个向量组的秩则是其最大无关组所含的…

图像分割与图像(目标)监测

图像分割与图像&#xff08;目标&#xff09;监测 图片来自于1.语义分割与实例分割概述_哔哩哔哩_bilibili 图像监测与图像分割是计算机视觉领域的两个重要应用&#xff0c;它们在众多领域如医疗影像分析、遥感图像处理、自动驾驶车辆等都扮演着关键角色。 下面将详细介绍这两…

字符设备驱动开发基础—静态/动态注册设备号,使用cdev注册驱动

文章目录 主次设备号介绍主设备号 (Major Number)次设备号 (Minor Number)设备号的表示与注册设备号的获取设备号的注册 设备文件的创建实际应用中的主次设备号 cdev 结构体介绍cdev 结构体主要字段 使用 cdev 结构体的步骤file_operations 结构体 静态注册设备号示例代码&…

商业银行国际结算规模创新高,合合信息AI助力金融行业智能处理多版式文档

随着我国外贸新业态的快速增长&#xff0c;银行国际结算业务在服务实体经济发展、促进贸易投资便利化进程中发挥了越来越重要的作用。根据中国银行业协会近日发布的《中国贸易金融行业发展报告&#xff08;2023—2024&#xff09;》&#xff0c;2023年我国主要商业银行国际结算…

【征求意见】同济大学--城镇给水厂碳排放核算与评价方法

城镇给水厂保障城镇居民正常生活&#xff0c;是社会经济良性发展的重要基础性设施&#xff0c;对于我国双碳战略目标的实现至关重要。 随着城镇化的发展&#xff0c;城镇供水量不断升高&#xff0c;加上 水资源与生态环境问题不断涌现&#xff0c;人们对水的安全和品质的需求日…

关于在局域网如何避免内网IP被占用的问题

目录 前言 1.使用ipconfig命令 2.排查IP是否被占用&#xff0c;使用ping命令。 3.ip地址冲突&#xff0c;无法访问网站怎么办&#xff1f; 4.怎么避免重启再次出现IP冲突问题&#xff1f; 前言 在一些小型的公司&#xff0c;IP地址没有被规划好&#xff0c;每个人都是通过动…

基于 Rough.js 的 Vue 散点图绘制

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于 Rough.js 的 Vue 散点图绘制 应用场景 本代码展示了如何使用 Rough.js 库在 Vue 应用程序中绘制散点图。Rough.js 是一个轻量级 JavaScript 库&#xff0c;用于创建具有手绘风格的可视化效果。散点图是一…

c++学习笔记—内存概念

c学习笔记 Bit含义用途特点 字节含义用途特点注意事项 c内存基本概念1. 栈&#xff08;Stack&#xff09;2. 堆&#xff08;Heap&#xff09;3. 全局/静态存储区4. 常量存储区5. 内存管理关键字和函数6. 内存泄漏7. 指针和引用8. 虚拟内存9. 内存对齐10. 构造和析构 c中基本数据…