期货量化交易软件:如何在 MQL5 中集成 ONNX 模型的示例

概述

为了稳定进行交易,通常建议采用多样化得交易工具和交易策略。 这同样是指机器学习模型:创建几个更简单的模型比创建一个复杂的模型更容易。 但是,将这些模型汇集到一个 ONNX 模型可能很困难。

不过,可以在一个 MQL5 程序中组合多个经过训练的 ONNX 模型。 在本文中,赫兹量化软件将研究融合方式之一,称为表决分类器。 我们将向您展示如何轻松地实现这样的融合。

添加图片注释,不超过 140 字(可选)

项目的模型

对于我们的示例,赫兹量化软件将用到两个简单的模型:回归价格预测模型,和分类价格变动预测模型。 模型之间的主要区别在于回归模型预测数量,而分类模型预测分类。

第一个模型是回归。

它依据 2003 年至 2022 年底的 EURUSD D1 数据进行训练。 训练是基于一个 10 OHLC 价格序列进行。 为了提高模型的可训练性,赫兹量化软件对价格进行归常规化,并将序列中的平均价格除以序列中的标准差。 因此,我们将一个序列纳入某个范围,平均值为 0,扩散为 1,这提高了训练期间的收敛性。

结果就是,模型应能预测下一个交易日的收盘价。

模型非常简单。 此处提供的仅用于演示目的。

 
 

# Copyright 2023, MetaQuotes Ltd. # https://www.mql5.com from datetime import datetime import MetaTrader5 as mt5 import tensorflow as tf import numpy as np import pandas as pd import tf2onnx from sklearn.model_selection import train_test_split from tqdm import tqdm from sys import argv if not mt5.initialize(): print("initialize() failed, error code =",mt5.last_error()) quit() # we will save generated onnx-file near the our script data_path=argv[0] last_index=data_path.rfind("\\")+1 data_path=data_path[0:last_index] print("data path to save onnx model",data_path) # input parameters inp_model_name = "model.eurusd.D1.10.onnx" inp_history_size = 10 inp_start_date = datetime(2003, 1, 1, 0) inp_end_date = datetime(2023, 1, 1, 0) # get data from client terminal euru

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值