当前位置: 首页 > news >正文

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

作者:老余捞鱼

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

写在前面的话:
       
本文主要讲解如何构建一个交易机器人开发环境。描述具体的步骤和工具,包括使用 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 的结合,开发者可以在全球任何地方访问和使用他们的开发环境。
  • 开源和社区支持:作者强调了开源工具和社区支持的重要性,提供了多种方式让开发者可以互相帮助和学习。
  • 个人化开发环境:通过添加特定的扩展和定制设置,开发者可以根据自己的需求个性化他们的开发环境。


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

相关文章:

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

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文主要讲解如何构建一个交易机器人开发环境。描述具体的步骤和工具,包括使用 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下的日志(日常级)

日志是日后工作中非常重要的一部分,现在写一份简单的日志项目可以帮助我们熟悉并理解原理。 目录 设计思路:一些实现细节:代码:日志的使用方法: 设计思路: 图示是我们的最终目的。 设计一个类&#xff0…...

手把手教你如何在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("完成的不错&#xff0…...

【网络安全】LockBit病毒入侵揭秘:如何防范与应对

文章目录 前言 主要特征攻击手段演进历程主要威胁防范与对策 如何入门学习网络安全【黑客】 【----帮助网安学习&#xff0c;以下所有学习资料文末免费领取&#xff01;----】 大纲学习教程面试刷题 资料领取 前言 在数字时代&#xff0c;随着科技的飞速发展&#xff0c;网络…...

《开源大模型食用指南》适合中国宝宝的部署教程,基于Linux环境快速部署开源大模型

本项目是一个围绕开源大模型、针对国内初学者、基于 AutoDL 平台的中国宝宝专属大模型教程&#xff0c;针对各类开源大模型提供包括环境配置、本地部署、高效微调等技能在内的全流程指导&#xff0c;简化开源大模型的部署、使用和应用流程&#xff0c;让更多的普通学生、研究者…...

体验教程:通义灵码陪你备战求职季

本场景将带大家体验在技术面试准备场景下&#xff0c;如何通过使用阿里云通义灵码实现高效的编程算法题练习 、代码优化、技术知识查询等工作&#xff0c;帮助开发者提升实战能力&#xff0c;更加从容地应对面试挑战。主要包括&#xff1a; 1、模拟题练习&#xff1a;精心挑选…...

(070)爬楼梯

思路&#xff1a;一次爬一个或者一次爬两个楼梯,终止条件&#xff0c;即是当n1或n2时&#xff0c;完成操作&#xff0c;当n>2时&#xff0c;总方法就等于一次爬一个楼梯的方法数加上一次爬两个楼梯的方法数。 解法一&#xff1a;递归解法 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、思路 打开题目&#xff0c;出现源码 题目要我们上传一个fi…...

分割损失:Dice vs. IoU

NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 对于医学影像分割&#xf…...

SpringBoot整合Juint,ssm框架

目录 SpringBoot整合Juint 1.导入相关的依赖 2.创建测试类&#xff0c;使用注解SpringBootTest SpringBoot整合ssm框架 1.使用脚手架创建Spring项目 2.修改pom.xml 我先修改了SpringBoot的版本&#xff0c;修改为2.3.10.RELEASE&#xff0c;因为SpringBoot版本太高会出现…...

基于supervisor制作基于环境变量配置的redis

背景&#xff1a; redis 的镜像很多很多&#xff0c;但都需要直接修改配置文件&#xff0c;不符合我们公司当前环境变量解决一切容易配置的思路。 材料&#xff1a; 1、CentOS-Base.repo [base] nameCentOS-$releasever enabled1 failovermethodpriority baseurlhttp://mirr…...

动态规划part01 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

509. 斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xff0c;其中 …...

CSS实现图片边框酷炫效果

一、前言 我们在浏览一些网页时&#xff0c;经常会看到一些好看酷炫的元素边框效果&#xff08;如下图&#xff09;&#xff0c;那么这些效果是怎么实现的呢&#xff1f;我们知道&#xff0c;一般的边框&#xff0c;要么是实线&#xff0c;要么是虚线&#xff08;点状&#xf…...

遇到 MySQL 死锁问题如何解决?

终于来到死锁检查线程的第三步&#xff0c;可以解决死锁了。 作者&#xff1a;操盛春&#xff0c;爱可生技术专家&#xff0c;公众号『一树一溪』作者&#xff0c;专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0…...

Pyinstaller打包OSError: could not get source code【终极解决】

pyinstaller 打包的时候&#xff0c;发现只要是torch.jit.script装饰的函数&#xff0c;会报以下错误&#xff1a; Traceback (most recent call last):File "torch/_sources.py", line 25, in get_source_lines_and_fileFile "inspect.py", line 1123, i…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...