算法交易中的Python - 页 7

 

用于 Python 设置的 MetaTrader 5



用于 Python 设置的 MetaTrader 5

该视频教程涵盖了为 Python 安装 MetaTrader 5 的过程,其中涉及在 Anaconda 提示符中输入“pip install MetaTrader5”,并通过运行 Python 中 MT5 包中的 MT5Initialize() 函数来验证安装。

MetaTrader 5 for Python setup
MetaTrader 5 for Python setup
  • 2019.04.21
  • www.youtube.com
MetaTrader 5 계좌만들기 : https://www.forextime.com/?form=JbbrANACONDA : https://www.youtube.com/watch?v=YGkps5nqpKk- in real, I prefer the Visual Studio Python...
 

使用带有 Streamlit 的 Python 和 MetaTrader 5 构建网络应用程序




使用带有 Streamlit 的 Python 和 Metatrader 5 构建 Web 应用程序

该视频演示了如何使用 Python、Streamlit 和 MetaTrader 5 创建显示货币汇率并提供缩放和时间范围选项的实时图表。演示者使用 Pandas 导入数据框,使用 Plotly 绘制数据,添加计算移动平均数和相对强度指数的函数。该视频包括用于处理缩放的线程和用于交互的键盘快捷键。演示者通过解释代码的不同功能和添加在图表上绘制对象的功能来结束视频,并在应用程序的描述中分享代码。本教程为初学者提供了构建实时金融图表的简单介绍。

  • 00:00:00 在本节中,视频的创作者展示了使用 MetaTrader 5、Python 和 Streamlit 构建的实时图表。该图表显示货币汇率并提供放大、缩小和在时间范围之间切换的功能。 Python 代码使用 Streamlit 和 MetaTrader 5 库,以及用于导入数据框的 Pandas 和用于绘图的 Plotly。该图表包括计算移动平均线和相对强弱指数的功能,用户可调整参数。创建者还包括用于处理缩放的线程和用于用户交互的键盘快捷键。总的来说,本教程为初学者提供了使用这些库构建实时金融图表的友好介绍。

  • 00:05:00 如果您想使用 Python 和 MetaTrader 5 以及 Streamlit 构建一个网络应用程序,您将需要调用特定函数来提供必要的数据。要获取符号,您可以使用“metatrader”函数提取它们的名称,然后以字典格式返回它们。设置包配置功能允许您自定义 Web 应用程序的布局,例如窗口大小和标题。此外,为了计算 lsi(相对强度指数),您必须为函数提供必要的数据和参数,例如数据框和 rsi 值,然后可以绘制这些数据和参数。

  • 00:10:00 在本节中,演讲者解释了他如何创建全局变量并将 LSI 计算添加到数据框,并附加跟踪以便 RSI 值可以显示在图表上。他还展示了他如何创建无限循环函数,该函数每秒更新一次图表,使用时间范围、交易品种、柱状图、移动平均线和 LSI 值。时间范围是从字典中获取的,柱是使用 mt5.copy_rates_from_pos() 函数获取的。图表不是图像,而是每秒不断更新的动画。

  • 00:15:00 在本节中,演示者解释了如何转换柱形数据帧以便稍后减少,以及如何将时间转换为秒以提高可读性。本节还介绍了使用散点图以及如何计算移动平均线以将其绘制到图表中。演示者使用固定范围和纸张颜色更新图形布局,以使图表固定到位并更好地向用户呈现数据。

  • 00:20:00 在本节中,演讲者解释了他们如何调整窗口大小和 x 轴以消除日线图中的间隙。他们还使用简单的方法添加了最后价格的水平线
    代码行。然后,演讲者演示了按键功能,当用户按下减号或加号键时,该功能会缩小或扩大图表。该代码包括多个函数和占位符,以保持应用程序简单且易于导航。

  • 00:25:00 在本节中,演讲者解释了初始化 Metatrader5 和图表之间连接的代码,以及使用键盘侦听器线程使用加号和减号键调整图表大小的代码。他们还讨论了“st.title”函数的使用,以及通过“st.connect”函数为滑块和选项创建两列。演讲者解释了第一列占位符的使用以及通过 `sd.selectbox` 函数选择移动平均线。他们还提到了选择股票代码或货币对的选项的可用性,以及时间范围。

  • 00:30:00 在本节中,YouTuber 结束了使用 Python 和 MetaTrader 5 与 Streamlit 构建网络应用程序的演示。他们解释说,该应用程序显示了有关交易信号的信息,并添加了在图表上绘制对象的功能。他们还指出了代码中的不同功能及其用途,最后在应用程序描述中分享了代码。 YouTuber 感谢观众的观看并结束了视频。
Building a web application using Python and Metatrader 5 with Streamlit
Building a web application using Python and Metatrader 5 with Streamlit
  • 2022.07.23
  • www.youtube.com
This is web application made with streamlit and metatrader 5 .************The code is here : https://github.com/azario0/metatrader5-streamlit************My l...
 

PYTHON 综合指数交易机器人!! - 从 MetaTrader 5 接收蜡烛数据



PYTHON 综合指数交易机器人!! - 从 MetaTrader 5 接收蜡烛数据

该视频教程解释了如何创建一个从 MetaTrader 5 (MT5) 接收蜡烛图数据的 Python 交易机器人。演示者逐步介绍了该过程,包括配置 MT5、为机器人创建类、初始化变量、创建线程以及使用简单的止盈和止损参数定义交易策略。演示者还提供了有关处理错误和调试代码的说明,并通过强调过程的简单性并提及即将推出的有关该主题的课程来结束视频。该教程富有洞察力且对初学者友好,对于任何有兴趣创建 Python 交易机器人的人来说,它都是一个很好的资源。

  • 00:00:00 在视频的这一部分中,演示者通过解释过程中涉及的步骤展示了如何使用 Python 创建指数交易机器人。第一步是通过启用算法交易并允许对本地主机的 Web 请求来配置 MetaTrader 5 平台。之后,演示者打开 Visual Studio Code 并开始编码,方法是使用构造函数为机器人创建一个类,该构造函数接收批次边缘、时间段和市场的参数。机器人将与通过字典共享信息的线程一起工作,因此演示者初始化一个线程列表和一个用于存储共享数据的字典。最后,创建一个事件来停止线程。演示者在 GitHub 存储库中提供了更多信息和解释。

  • 00:05:00 在本节中,演示者初始化所有必要的项目,例如类变量、常量、队列、字典和线程,以允许交易机器人在线程之间共享数据。 Presenter 还声明了机器人启动和终止线程的方法。 kill 线程函数将 peel 变量的值设置为“kill”,然后调用 join 函数以安全地停止线程。最后,presenter 创建了一个等待函数,使用户能够通过按 enter 来停止 bot。

  • 00:10:00 在视频的这一部分,演讲者解释说他们将创建一个 Python 程序来使用套接字从 MetaTrader 5 接收蜡烛数据。他们首先创建一个名为 candles.py 的文件,并导入必要的库(如 socket 和 json)以通过套接字发送和接收数据。它们还定义了用于套接字连接的地址和端口。然后演讲者继续创建一个函数来使用服务器和客户端套接字初始化套接字连接。他们演示了如何将套接字绑定到指定的地址和端口并侦听传入连接。该函数然后接受连接并打印出客户端地址。

  • 00:15:00 在本节中,YouTuber 解释了如何创建通过调用“thread_candles”函数获取蜡烛信息的函数。它首先创建一个名为“消息”的变量以从 MetaTrader5 接收信息。然后,套接字启动,并创建一个主循环,该循环将一直工作到用户按下回车键,此时设置了要杀死的药丸。循环首先从连接的套接字中获取消息并对其进行解码。该代码检查消息是否可以打印,如果可以,它将打印它。在展示了如何创建主文件后,YouTuber 继续解释如何在 MT5 中创建客户端,但强调他们不会深入,因为它不是 MT5 教程。

  • 00:20:00 在本节中,演示者提供了有关如何从 GitHub 复制代码并使用它创建从 MT5 接收蜡烛数据的 Python 交易机器人的分步指南。演示者解释说,该代码使用令牌在每个报价单上发送信息,并创建一个字符串,其中包含每个蜡烛的开盘价和收盘价的 JSON 格式。要将字符串转换为字典,演示者建议使用 json 加载函数。演示者还演示了如何启动和停止机器人和客户端,以及如何从专家顾问菜单中删除机器人。

  • 00:25:00 在本节中,视频教程介绍了如何使用从 MT5 接收到的数据更新字典并创建订单线程。使用 self.data 函数发送更新的字典,该函数将数据转换为正确的格式。该教程包括为机器人定义宏,例如操作之间的蜡烛数和止损参数。订单线程函数接收停止事件和交易数据,并创建具有简单止盈和止损的基本交易策略。本教程还包括关闭连接和服务器套接字,然后使用示例代码测试机器人。

  • 00:30:00 在本节中,YouTuber 讨论了从 MT5 接收蜡烛数据并使用它根据特定标准进行操作的必要步骤。第一步是声明一个名为 last operation time 的变量,并将其初始值设置为零,稍后将使用该变量来跟踪打开操作的时间。然后,使用 datetime 函数声明一个纪元,稍后我们将使用该函数将当前时间转换为秒。接下来,我们等待蜡烛线程启动以防止错误。完成后,我们进入一个循环,检查是否满足打开操作的条件。如果前一个蜡烛是繁荣(关闭>打开)并且当前时间大于上次操作时间加上交易数据时间段,则打开操作。更新上次操作时间并调用开仓函数。最后,交易数据(包括市场和手数)被定义并作为参数传递给开仓函数。

  • 00:35:00 在本节中,创建者解释了如何使用 MT5 发送单元格操作,并给出了如何执行开仓功能的教程。用户需要输入市场作为字符串,lotex 作为浮点数和类型操作。此函数有助于定义止损和止盈变量,这些变量是通过将当前价格减去止损值,并将止盈值添加到当前价格来定义的。创建者建议使用 cell candle 和交易数据来测试和调试代码。最后,创建者提供了一个函数运行时间和订单交易时间的示例。

  • 00:40:00 在本节中,教程重点介绍调试错误。显示了调试的分步过程,从显示的错误消息开始到谷歌搜索以找到解决方案。这里的具体错误是无效的订单填写类型,这取决于所使用的经纪商。解决方案是尝试列出的所有三种订单填写类型,看看哪一种适合您的经纪商。修复错误后,教程将继续成功开仓。

  • 00:45:00 在本节中,演讲者通过简要概述 Python 综合指数交易机器人来结束视频,强调创建它有多么容易。他还提到他将创建一个关于这个主题的课程,与同类课程相比,该课程非常全面且价格合理。他鼓励观众点赞、分享和订阅他的频道,并在有任何问题时与他联系。
PYTHON SYNTHETIC INDEX TRADING BOT!! - RECEIVING CANDLE DATA FROM MT5
PYTHON SYNTHETIC INDEX TRADING BOT!! - RECEIVING CANDLE DATA FROM MT5
  • 2022.06.29
  • www.youtube.com
YOU MUST INSTALL THE MT5 LIBRARY FOR PYTHON:pip install MetaTrader5In this video I'm going to teach you how to create a PYTHON TRADING BOT that uses MT5 and ...
 

如何将股票价格数据从 MetaTrader 5 导入 Python?



如何将股票价格数据从 MetaTrader 5 导入 Python?

在此 YouTube 视频中,解释了将股票价格数据从 MetaTrader 5 导入 Python 的不同方法。这些方法包括导入必要的库、设置所需的时间范围和时区、定义一个名为“获取数据”的函数、操作生成的数据框、使用 tqtndm 包、创建利率框架以及利用两个数据框检索价格和日期/时间信息。演讲者建议将循环放入一个函数中以使代码更简洁,并且使用这些方法,用户可以轻松地为众多符号导入数据而不会有太大困难。

  • 00:00:00 在本节中,演讲者解释了如何将股票价格数据从 MetaTrader5 导入 Python。第一步是导入所有必要的库,包括 pandas、pytz、datetime、tqdm 和 MetaTrader5。然后,演讲者初始化 MetaTrader5 并设置所需的时区和时间范围。演讲者定义了一个称为“获取数据”的函数,该函数需要符号、所需的蜡烛数和时间范围。该函数返回所需的数据,演讲者解释了每个输入和输出在函数中的作用。

  • 00:05:00 在本节中,演讲者解释了用于将股票价格数据从 MetaTrader5 导入 Python 的函数。该函数接受一个符号、一个时间范围和一个日期,并返回一个包含所请求数据的数据框。演讲者通过步骤操作生成的数据框,包括将时间列转换为白天并删除不必要的列。此外,建议使用 for 循环,以便更轻松地调用多个资产的数据。

  • 00:10:00 在本节中,演讲者解释了如何使用 tqtndm 包将股票价格数据从 MetaTrader5 导入 Python。他们使用 try 函数和 accept 函数来调用先前定义的利率函数,该函数接受符号和设置为 400 的天数。返回的数据附加到字典中,并删除任何不可用的数据。演讲者建议将循环放入函数中以使代码更简洁。总的来说,该过程涉及创建利率框架、将数据附加到字典,然后运行脚本。

  • 00:15:00 在本节中,演讲者解释说,通过使用两个数据框,用户可以通过检索价格和日期/时间信息轻松地将股票价格数据从 metatrader5 导入 Python。这种方法可以毫不费力地用于许多符号。
How to import stock price data from metatrader5 into python?
How to import stock price data from metatrader5 into python?
  • 2022.04.10
  • www.youtube.com
Using MetaTrader5 module in python to import data from metatrader to python and turn it into a dataframe to use in your strategy backtesting .
 

在 MetaTrader 5 中通过 Python 进行在线交易 + 从 MQL5 获取数据



在 MetaTrader 5 中通过 Python 进行在线交易 + 从 MQL5 获取数据

本教程演示了如何从 MetaTrader 下载数据集并使用 Python 进行在线交易。讲师导入 MetaTrader5、pandas 和 datetime 库,指定数据集的资产和时间范围,并下载最后一百个数据点。他们解释了如何在 MetaTrader5 中通过设置止损、获利和使用 GTC 命令在指定的持续时间内管理头寸。虽然该部分提供了对管理头寸所需的不同命令的基本理解,但尚不清楚所采用的整体交易策略是什么。

  • 00:00:00 在教程的这一部分,讲师演示了从 MetaTrader 5 下载数据集并使用 Python 进行简单的在线交易。导入MetaTrader5库,软件快捷路径指向Python。还导入了pandas和datetime库,用当前时间指定数据集中最后一条数据的时间。写入所需资产的符号密钥,并为数据集选择时间范围(在本例中为每日时间范围)。下载最后一百个数据点,并使用格式命令将数据存储在用户的个人系统中。在线交易是通过确定交易的资产和数量,将价格单位定义为点,并根据输入的头寸使用卖价或买价来进行的。

  • 00:05:00 在本节中,视频解释了如何在 MetaTrader 5 中使用 Python 命令为仓位设置止损和获利。它还展示了如何通过指定仓位单号来平仓。 GTC 命令被解释为在指定的持续时间内保持事务处于活动状态。该视频还展示了具有主动止损和止盈的 USDJPY 交易示例。总的来说,本节提供了对通过 Python 在 MetaTrader 5 中管理头寸所需的不同命令的基本理解。

  • 00:10:00 在本节中,我们了解到多头仓位已成功平仓。不幸的是,在没有进一步背景的情况下,不清楚多头头寸指的是什么或所采用的整体交易策略是什么。
online trading by python in MetaTrader5 + get data from mql5
online trading by python in MetaTrader5 + get data from mql5
  • 2022.04.19
  • www.youtube.com
https://github.com/Hesamtps/online-trading-by-python-in-MetaTrader5-get-data-from-mql5
 

Python MetaTrader 5 复制交易



Python MetaTrader 5 复制交易

此应用程序可以将交易从 MetaTrader 5 复制到另一个由 Web 仪表板控制的 MetaTrader 5,该仪表板还可以控制谁可以复制您的交易、设置货币对/代码、设置交易量、止损和获利每个复制信号。
复制的时间容差为5秒,如果超过5秒信号将不会被复制,windows cmd有时会卡住,建议在windows上使用另一个终端应用程序。

问与答
----------------------------------
Q : 可以使用MT4运行
A : 不,MT4 不支持 python

Q:可以在linux上运行吗?
A : 不,实际上 mt5 是为 windows 设计的,如果在 mac 或 linux 上运行它只能使用类似 windows 模拟器或类似的东西来强制运行在 mac 或 linux 上运行的 windows 应用程序

Q : 是否保证信号会被复制?
A : 信号被复制的成功或失败取决于多种因素,最常见的是你的vps条件,可以处理来自主站或客户端的连接,客户端连接不稳定,脚本延迟,终端,挂起等。

如果您在运行 python 脚本时遇到冻结命令提示符等问题,请访问https://stackoverflow.com/questions/591047/command-line-windows-hanging-in-rdp-windows

脚本
--------------
创建虚拟环境:
python -m venv .venv

激活虚拟环境:
.venv/脚本/激活

安装需求库:
pip install -r requirements.txt

运行主脚本:
蟒蛇大师.py

运行从属脚本:
蟒蛇交易.py

Python MT5 Copy Trade
Python MT5 Copy Trade
  • 2022.06.15
  • www.youtube.com
This application can copy trade from MT5 to another MT5 controlled by web dashboard that also can control who can copy your trade, set pair/ticker, set volum...
 

Python 和 MetaTrader 回溯测试系统 |开发和测试交易 ML 策略



Python 和 Metatrader 回溯测试系统 |开发和测试交易 ML 策略

该视频讨论了一个稳定的回溯测试平台的开发,以评估多种交易策略并将机器学习用于外汇交易。演讲者演示了如何使用 MetaTrader 5 创建一个新的回溯测试平台,该平台与经纪商交互以提取输入数据。他们还解释了如何编写专家顾问来提取数据、使用 Python 策略处理它,然后根据预定参数启动交易。该视频还展示了如何生成标签数据和提取特征以构建和训练机器学习算法。最后,演讲者讨论了用于回测的几种算法,其中随机森林被认为是最准确的。总的来说,回测系统提供了可靠和高效的结果,性能为 96%,未来的工作包括将机器学习算法集成到实时交易环境中。

  • 00:00:00 在本节中,演讲者介绍了外汇交易的概念以及它为何如此受到机构、政府、跨国公司和个人投资者的欢迎。市场从周一到周五每天 24 小时开放,任何人都可以进入。其受欢迎的原因之一是巨大的利润潜力。然而,准确预测外汇交易方向很重要。为此,演讲者的目标是创建一个稳定的回溯测试平台来评估多种交易策略,确定哪些货币对和时间框架表现最佳,并使用机器学习来改进预测。演讲者还提到了之前使用支持向量机和人工神经网络进行预测的研究。

  • 00:05:00 在本节中,演讲者讨论了开发用于算法训练和测试的回测平台的方法,这是开发机器学习算法的第一步。他们检查了可用的回测平台,例如 MK Backtesting,但最终决定创建一个新平台,该平台可与现有 Python 策略无缝集成并满足数据一致性和完整性标准。新平台依赖于行业标准的 MetaTrader 5 平台,该平台与经纪商交互,为回测平台提取输入数据。回测平台使用一组参数(如止损和获利)来评估数据并根据交易策略(如交易策略类)生成的信号生成输出文件。总体而言,该方法涉及准备级别数据、开发回测平台,然后基于准备好的数据构建机器学习算法。

  • 00:10:00 在本节中,演讲者描述了如何对专家顾问进行编码,以便在每次生成新蜡烛时基于实时交易扩展 MetaTrader 5 的数据。专家顾问从 MetaTrader 5 中提取数据并将其写入外部电子表格文件,然后由 Python 引擎读取该文件以使用不同的策略对其进行处理以获得交易信号。然后信号被写入一个动作文件,由智能交易系统读取,然后在 MetaTrader 5 环境中启动交易。交易环境可以通过根据确定的获利和止损保证金执行交易来进行实时交易,专家顾问根据各种参数修改和关闭交易。

  • 00:15:00 在本节中,演讲者解释了在 MetaTrader 平台中进行回测和生成报告的过程。他们展示了如何调整回溯测试的速度并导入必要的策略来进行预测。然后他们讨论程序的不同功能,包括动作编写器,它处理诸如创建和保存输出文件之类的内务处理任务。最后,他们展示了回溯测试生成的报告,其中包括所有已完成交易的摘要以及有关货币对、时间框架和周期的详细信息。

  • 00:20:00 在本节中,视频介绍了回测平台的使用,该平台旨在创建标签数据和特征提取,以构建和训练用于交易的 ML 算法。该平台通过提取整个周期的数据并生成交易所需的信号和指标,然后启动和跟踪交易以获得真实结果,从而简化了流程。使用此平台,视频展示了如何生成代表交易真实结果的标签数据以及从数据中提取的各种特征,例如 RSI、TSI 和随机指标。通过创建更平衡的数据,该平台可以生成更可靠的交易机器学习算法。

  • 00:25:00 在本节中,演讲者讨论了用于回测的不同机器学习算法,包括支持向量机、逻辑回归、xgboost、MLP 和随机森林。记录和分析每个算法的准确性,演讲者将随机森林识别为最准确的,准确率为 96%。数据也被标记和跟踪以创建电子表格文件供以后使用。总的来说,使用这些算法进行回测的过程快速高效。

  • 00:30:00 在本节中,演讲者总结了回测系统的结果以及使用技术指标和机器学习算法开发交易 ML 策略。稳定的回测平台提供了可靠和高效的结果,与基准策略 SMAEMA 的性能相比,性能达到 96%,后者只有 25% 的性能。回测平台能够自动交易,无需人工干预。未来的工作包括将机器学习算法集成到实时回测和交易环境中,以使用多种策略和更复杂的算法(例如自注意力 RNN 和 LSTM)来提高预测准确性和最大化利润。
Python & Metatrader Back Testing Systems | Developing & Test Trading ML Strategies
Python & Metatrader Back Testing Systems | Developing & Test Trading ML Strategies
  • 2021.06.24
  • www.youtube.com
Dr. Khushi supervised this master project in which they developed Python and MetaTrader based backtesting system, trading strategies and wrapped around machi...
 

如何使用 Python 创建算法交易策略 - 分步过程



如何使用 Python 创建算法交易策略 - 分步过程

该视频提供了有关如何使用 Python 创建算法交易策略的分步指南。第一步涉及定义系统规则,消除交易情绪,并进行回溯测试以优化盈利能力。然后,演示者演示如何使用假设和技术指标(例如移动平均线交叉)创建交易策略。然后对该策略进行编码,并反复进行回测以确保优化。第二部分侧重于对算法框架进行编码,并创建一个信号函数,该函数根据简单移动平均线的比较来确定是买入还是卖出。第三部分讨论如何使用函数处理实时行情数据,第四部分描述如何在 WPS 上部署策略。主持人最后建议初学者保持交易策略简单明了。

  • 00:00:00 在视频的这一部分,演示者解释了使用 Python 创建算法交易策略的过程。首先,他们将算法交易定义为具有明确定义的规则且没有例外的系统。这样做的好处是我们可以根据可量化的数据和情绪来编写交易策略。他们还提到很容易进行回测以优化和测试系统的盈利能力。接下来,演示者展示了如何使用假设和技术指标(尤其是移动平均线交叉)来创建交易策略。通过收集信息,创建规则集,然后对策略进行回测。这个过程可以重复,直到策略被认为是最优的。

  • 00:05:00 在本节中,演讲者讨论了使用 Python 创建算法交易策略的分步过程。他们解释了回溯测试如何让交易者了解他们的损益是如何发展的,如果成功,交易者可以在模拟账户上使用实时交易机器人进行前瞻性测试。演讲者还建议使用 Python 进行交易,因为它是一种易于学习的语言,并且有许多用于回测和算法交易的库,例如 pandas 和 plotly。最后,演讲者介绍了使用 10 的快速移动平均线和 100 的慢速移动平均线创建简单的德国股票指数移动平均线交叉策略的过程。他们强调了对算法框架进行编码的重要性,它可以是在他们的 GitHub 页面上找到。

  • 00:10:00 在本节中,演示者演示了如何使用 Python 使用前面讨论的移动平均线交叉策略创建算法交易策略。他们提供两个文件:一个回测文件和一个实时交易机器人文件。回测文件包括该策略在 2032 年执行情况的数据分析。实时交易机器人文件需要创建一个包含登录凭据的文件,并允许用户使用移动平均线交叉进行交易。演示者随后展示了他们的 Python 集成开发环境并解释了代码,该代码使用 pandas、blockly 和 datetime 等库来检索历史数据、计算简单移动平均线和应用交易逻辑。最后,演示者创建一个信号函数,根据简单移动平均线的比较来确定是买入还是卖出。

  • 00:15:00 在本节中,演讲者解释了计算指示何时买入或卖出特定证券的信号栏的过程。信号列是通过将“获取信号”功能应用于数据框条而得出的,然后逐行检查是否满足买入或卖出条件。此外,还计算了之前的价格变化和信号变化列以确定假设利润,同时考虑到交易量和支付给经纪人的佣金。演讲者随后展示了一个使用六个月期间的毛利润和净利润的图表,表明该策略产生了 2,380 欧元的净利润,并有一些回撤期。最后,演讲者提到分享回测策略的示例代码,以防观众想要自己测试更长时间的历史。

  • 00:20:00 在本节中,演示者解释了如何使用函数处理实时市场数据以在 Python 中创建交易策略。他们建议使用其策略的默认参数导入 MetaTrader5、pandas、时间、日期时间和帐户原则。演示者创建了交易功能以平仓并查看伦敦和纽约交易时段的交易时间。他们还创建了一个使用循环中的交易信号发送市价订单的功能,如果快速 SMA 高于慢速 SMA,他们建议平仓。演示者演示了如何使用这些功能并使用 MT5 持仓总数功能检查未平仓头寸数量,以便在登录交易账户时提供账户概览。

  • 00:25:00 在本节中,演讲者解释了在 WPS(Web 处理服务)上部署策略的过程的最后一步。他建议使用名为 Countable 的 DP(云桌面提供程序),他向其提供基本配置。他还指出,MT5 仅适用于 Windows,如果经纪商位于伦敦,建议选择英国托管数据中心。然后演讲者继续向初学者提供提示和建议,建议他们保持策略简单明了,以便以后随着时间的推移添加更多内容。最后,他感谢观众并鼓励他们在评论中提问。
How to create Algorithmic Trading Strategies with Python - Step by Step Process
How to create Algorithmic Trading Strategies with Python - Step by Step Process
  • 2022.08.28
  • www.youtube.com
In this video, I will explain how to create an Algorithmic Trading Robot Step by Step.00:00 - Presentation09:55 - Github Repo11:21 - Backtest19:55 - Live Tra...
 

使用 Python 回测 3 根蜡烛设置



使用 Python 回测 3 根蜡烛设置

该视频演示了如何使用 Python 回测三根蜡烛设置的盈利能力。演示者从 Metatrader5 获取 EUR/USD 货币对的每周 OHLC 数据,并将其转换为 Pandas 数据框,并使用 Plotly Express 将其可视化。他们使用指定的蜡烛类型函数识别看涨和看跌蜡烛,并定义三根看涨蜡烛的设置条件。通过计算每次出现设置时第四根蜡烛上涨或下跌的概率,他们回测购买这些设置的盈利能力。主持人得出结论,在每个看涨设置上做多都会产生一些收入,但强调耐心等待的重要性,因为利润来得很快。

  • 00:00:00 在本节中,演讲者讨论了如何使用 Python 对三根蜡烛设置进行回测。为此,他们首先连接到 Metatrader5 平台,并在 2019 年 1 月 1 日至 2021 年 11 月的每周时间范围内请求欧元/美元货币对的 OHLC 数据。然后将数据转换为 Pandas 数据框,并使用 Plotly Express 进行可视化.然后,演讲者展示了如何使用指定的蜡烛类型函数将数据框中的蜡烛标记为看涨或看跌。他们通过将蜡烛类型列向前移动一根、两根和三根蜡烛来满足三根看涨蜡烛设置的条件,从而创建所有三根蜡烛都看涨的条件。然后,他们计算每次出现此设置时第四根蜡烛上涨或下跌的概率,并回测购买这些设置的盈利能力。

  • 00:05:00 在视频的这一部分,演示者讨论了如何使用 Python 回测三根蜡烛设置。该设置涉及识别第一根、第二根和第三根蜡烛都看涨的蜡烛。演示者使用之前的收盘价创建一个数据框,并将结果与之前的蜡烛进行比较,以计算获得或损失的点数。然后,他们继续对数据进行统计分析,以确定买入还是卖出是个好主意。通过遍历每个单独的设置并在图上添加三个蜡烛设置,他们表明在每个设置结束时买入并在下一个蜡烛关闭后立即卖出在某些情况下是有利可图的。演示者计算设置发生的次数以及每次设置平均会增加或减少多少。他们得出结论,在每个看涨设置上做多都会产生一些收入。

  • 00:10:00 在本节中,视频介绍了使用 Python 回测 3 根蜡烛设置的示例。重置坐标轴后,以累积点数的盈利曲线显示2019年亏损和盈利交易的时间段。利润来得很快,需要耐心等待这个时期的到来。该视频还演示了如何在日线图上分析 XA USD 并通过请求历史数据和绘制数据框来查看其表现。利润曲线是用来看盈亏的起伏的。最后,该视频得出结论,这种测试方法可用于任何数量的市场和时间范围,并暗示用户可以编写自己的算法策略。
Backtesting the 3-candle-setup with Python
Backtesting the 3-candle-setup with Python
  • 2021.11.12
  • www.youtube.com
In this video, we will backtest 3 candles in-a-row setup for algorithmic trading.Chapters00:00 Intro00:55 Requesting Data & Visualization03:33 Finding the 3-...
 

在 Python 中编写实时烛台图表



在 Python 中编写实时烛台图表

在本视频中,作者使用 Dash、pandas 和 plotly 在 Python 中创建了一个 Web 应用程序,以生成用于外汇交易的实时烛台数据图表。该应用程序使用 MetaTrader 5 库来收集数据,并允许用户更改要显示的符号、时间范围和蜡烛数。该视频介绍了为应用程序创建布局和回调的过程,包括从 MetaTrader 5 请求历史柱和使用 go.candlestick 创建图形对象。生成的应用程序每 20 毫秒更新一次,更新间隔为 200 毫秒。欢迎观众访问 GitHub 页面以下载该应用程序。

  • 00:00:00 在本节中,YouTuber 回答了观众关于使用实时流式烛台数据创建实时外汇数据图表的问题。该视频解释了 YouTuber 如何在使用 MetaTrader5 库从 MetaTrader 5 收集数据的同时,使用 Dash、pandas 和 plotly 在 Python 中编写 Web 应用程序以进行数据分析和可视化。他们还解释了获取符号列表和翻译代码的过程使用字典的时间范围。应用程序的最终输出是一个图表,用户可以在其中更改符号、时间范围和蜡烛数量,以 200 毫秒的更新间隔实时显示数据。

  • 00:05:00 在这部分视频中,演讲者解释了实时烛台图表应用程序布局的创建。符号和时间框架的下拉组件是从 MT5 函数中导入的,值设置为默认值。输入的柱数是使用 DBC 输入字段创建的,默认值为 20。应用程序布局由一个 HTML div 组成,其中包括交易品种下拉列表、时间范围下拉列表和柱数输入。添加了一个小分隔符,后面是 DCC 间隔组件,每 200 毫秒创建一个新回调以更新实时图表。页面内容包括每 20 毫秒更新一次图表的回调,接收符号下拉列表、时间框架下拉列表和输入的柱数的状态。回调从 MetaTrader 5 请求历史柱并使用 go.candlestick 创建图形对象。最后,演讲者感谢观众的关注,并邀请他们访问 GitHub 页面下载该应用程序。
Code Real-Time Candlestick Charts in Python
Code Real-Time Candlestick Charts in Python
  • 2021.11.25
  • www.youtube.com
In this video, we will code a Real-Time Candlestick Web Application in Python. We will connect to MetaTrader5 to get real-time data and use Plotly-Dash to cr...