17 三月 2023
17 三月 2023
网页端
MQL5
MQL5:分别为CopyTicks、CopyTicksRange和CopyRates方法添加COPY_TICKS_VERTICAL和COPY_RATES_VERTICAL标识。
默认情况下,报价和函数沿水平轴复制到矩阵,这意味着数据添加到右侧,在行尾。在练习的ONNX模型运行任务中,这样的矩阵需要被转置以提供输入数据:
const long ExtOutputShape[] = {1,1}; // 模型输出形状
const long ExtInputShape [] = {1,10,4}; // 模型输入形状
#resource "Python/model.onnx" as uchar ExtModel[]// 作为资源的模型
//+------------------------------------------------------------------+
//| 脚本程序起始函数 |
//+------------------------------------------------------------------+
int OnStart(void)
{
matrix rates;
//--- 获取10个柱状图
if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC,2,10))
return(-1);
//--- 输入一组OHLC向量
matrix x_norm=rates.Transpose();
vector m=x_norm.Mean(0);
vector s=x_norm.Std(0);
matrix mm(10,4);
matrix ms(10,4);
通过在调用该方法时指定附加标识COPY_RATES_VERTICAL(COPY_TICKS_VERTICAL用于报价),可以消除额外的数据转置操作:
//+------------------------------------------------------------------+
//| 脚本程序起始函数 |
//+------------------------------------------------------------------+
int OnStart(void)
{
matrix rates;
//--- 获取10个柱状图
if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC|COPY_RATES_VERTICAL,2,10))
return(-1);
//--- 输入一组OHLC向量
MetaEditor
客户端