MT5,外汇,人工神经网络,编程,EA,简洁之1.18. 「难点函数详解」

[复制链接]
查看357 | 回复0 | 2022-8-3 09:54:02 | 显示全部楼层 |阅读模式
1.CopyBuffer 把指标缓冲区的数据复制带自界说 数组,如何可以调出数据剖析



函数结构:

以位置与元素的数量为参数进行挪用

int CopyBuffer(

int indicator_handle, // 指标处理   

int buffer_num, // 指标缓冲区数(指定哪一条指标)

int start_pos, // 启动位置

int count, // 复制总额

double buffer[] // 复制的目标数组

);

以开始日期与元素的数量为参数进行挪用

int CopyBuffer(

int indicator_handle, // 指标处理   

int buffer_num, // 指标缓冲区数(指定哪一条指标)

datetime start_time, // 启动日期和时间

int count, // 复制总额

double buffer[] // 复制的目标数组

);

以开始日期与结束日期的数量为参数进行挪用

int CopyBuffer(

int indicator_handle, // 指标处理   

int buffer_num, // 指标缓冲区数 (指定哪一条指标)

datetime start_time, // 启动日期和时间

datetime stop_time, // 结束日期和时间

double buffer[] // 复制的目标数组

);

参量

indicator_handle

[in] 指标处理  ,通过类似指标函数返回。

buffer_num

[in] 指标缓冲区数量,就是第九条指标

start_pos

[in] 第一复制元素位置。

count

[in] 复制结算数据。

start_time

[in] 字节时间,与第一元素相一致。

stop_time

[in] 字节时间,与最后元素相一致。

buffer[]

[out] 双精度 类型数组。

返回值

返回计算的复制数据或者毛病 时是-1

例子:

void OnStart()

{

//储存从指标拷贝的数据

double iMA_5[];

double iMA_10[];

//指标句柄

int iMA_handle;

//数组反序

ArraySetAsSeries(iMA_5,true);

ArraySetAsSeries(iMA_10,true);

//指标的相关基础 目录路径 (MQL5/Indicators/) 不需要扩展名

iMA_handle=iCustom(NULL,0,"..\\Indicators\\C_iMa");

//显示指标

ChartIndicatorAdd(0,0,iMA_handle);

//储存从指标拷贝的数据,供法度模范   剖析 使用

CopyBuffer(iMA_handle,0,0,4,iMA_5);

CopyBuffer(iMA_handle,1,0,4,iMA_10);

//打印数据

Print("5->0:",iMA_5[0]," 10->0:",iMA_10[0]);

Print("5->1:",iMA_5[1]," 10->1:",iMA_10[1]);

Print("5->2:",iMA_5[2]," 10->2:",iMA_10[2]);

Print("5->3:",iMA_5[3]," 10->3:",iMA_10[3]);

}

void OnInit()

{

//设置iMA句柄;显示指标

iMA_handle_5=iMA(_Symbol,_Period,5,0,MODE_SMA,PRICE_OPEN);

ChartIndicatorAdd(0,0,iMA_handle_5);

//设置iMA句柄;显示指标

iMA_handle_10=iMA(_Symbol,_Period,10,0,MODE_SMA,PRICE_OPEN);

ChartIndicatorAdd(0,0,iMA_handle_10);

//数组反序

ArraySetAsSeries(iMA_5,true);

ArraySetAsSeries(iMA_10,true);

//复制均线价格到数组,供剖析 挪用

CopyBuffer(iMA_handle_5,0,0,4,iMA_5);

CopyBuffer(iMA_handle_10,0,0,4,iMA_10);

//打印数据

Print("5->0:",iMA_5[0]," 10->0:",iMA_10[0]);

Print("5->1:",iMA_5[1]," 10->1:",iMA_10[1]);

Print("5->2:",iMA_5[2]," 10->2:",iMA_10[2]);

Print("5->3:",iMA_5[3]," 10->3:",iMA_10[3]);

}

2.ArraySetAsSeries

设置标记  到选定的动态数组对象的函数,其元件如时间序列中一样被索引。

bool ArraySetAsSeries(

constvoid& array[], // 通过引用的数组

bool flag // true表示  倒序索引

);

参量

array[]

[in][out] 设置数字数组

flag

[in] 数组索引偏向

返回值

胜利 函数返回true,不然  - false.

3.ArrayGetAsSeries

检测数组标引的导向

bool ArrayGetAsSeries(

constvoid& array[] // 用于检测的数组

);

参量

array[]

[in] 检测数组

返回值

返回 true

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

14

主题

55

回帖

162

积分

注册会员

Rank: 2

积分
162