当前位置: 首页 > 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…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...