intCopyOpen( stringsymbol_name,// 符号名称 ENUM_TIMEFRAMEStimeframe,// period datetimestart_time,// from which date intcount,// 我们复制多少个 doubleopen_array[]// 用于复制开盘价的数组 );
按所需时间间隔的开始日期和结束日期进行访问
intCopyOpen( stringsymbol_name,// 符号名称 ENUM_TIMEFRAMEStimeframe,// period datetimestart_time,// from which date datetimestop_time,// 直到什么日期 doubleopen_array[]// 用于复制开盘价的数组 );
是的,谢谢你!
没有,但还是谢谢你!)晚上好。
当使用iOpen 时,要指定一个班次。如果没有足够的历史记录给指定的移位器,则返回最古老的酒吧的iOpen。
问题:我怎样才能对指定移位器的酒吧进行检查?如果没有足够的历史,不要返回iOpen?
晚上好。
当使用iOpen时,要指定一个班次。如果没有足够的历史记录给指定的移位器,则返回最古老的酒吧的iOpen。
问题:我怎样才能对指定移位器的酒吧进行检查?如果没有足够的历史记录,就不会返回iOpen?
复制开放
该函数接收指定符号-周期对的条形开盘价的历史数据到指定数量的open_array数组。应该注意的是,从起始位置开始的元素计数是从现在到过去进行的,也就是说,起始位置等于0意味着当前栏。
当复制未知数量的数据时,我们建议使用一个动态数组作为目标数组,因为如果数据少于(或多于)数组所能容纳的数量,将尝试重新洗牌数组,以使请求的数据能被完整地复制。
如果有必要复制已知数量的数据,最好将其复制到静态分配的缓冲区,以避免不必要的内存整体分配。
无论接收数组的as_series=true或as_series=false属性如何,数据将被复制,因此最古老的元素将位于分配给数组的物理内存的开头。该功能有3种变体。
通过起始位置和所需元素的数量进行参考
intCopyOpen(
stringsymbol_name,// 符号名称
ENUM_TIMEFRAMEStimeframe,// period
intstart_pos,//从哪里开始
intcount,// 我们复制多少个
doubleopen_array[]// 用于复制开盘价的数组
);
按开始日期和所需元素的数量进行访问
intCopyOpen(
stringsymbol_name,// 符号名称
ENUM_TIMEFRAMEStimeframe,// period
datetimestart_time,// from which date
intcount,// 我们复制多少个
doubleopen_array[]// 用于复制开盘价的数组
);
按所需时间间隔的开始日期和结束日期进行访问
intCopyOpen(
stringsymbol_name,// 符号名称
ENUM_TIMEFRAMEStimeframe,// period
datetimestart_time,// from which date
datetimestop_time,// 直到什么日期
doubleopen_array[]// 用于复制开盘价的数组
);
参数
符号_名称
[in] 符号。
时限
[in] 期间。
开始位置
[in] 要复制的第一个元素的编号。
数
[in] 要复制的项目的数量。
开始时间
[in] 与第一个要复制的元素相对应的酒吧时间。
停止时间
[in] 对应于最后一个元素的酒吧时间。
open_array[]
[out] 双重类型的数组。
返回的值
复制的数组元素的数量,如果出错则为-1。
注意事项
如果请求的数据间隔完全不在服务器上的可用数据范围内,函数返回-1。如果要求获得TERMINAL_MAXBARS(图表上最大条数)以外的数据,该函数也将返回-1。
如果请求的时间序列尚未建立或需要从服务器下载,该函数将立即返回-1。
当从专家顾问或脚本请求数据时,如果终端在本地没有这些数据,将开始从服务器加载,或者如果数据可以从本地历史建立,但它们还没有准备好,将开始建立所需的时间序列。该函数将返回在超时时间前准备好的数据量,但历史数据的加载将继续进行,下一次类似的请求将返回更多的数据。
当按开始日期和所需的项目数请求数据时,只有日期小于(早于)或等于指定日期的数据才会被返回。同时,间隔时间被指定并考虑到最近的秒数。这意味着任何一个条形图的开盘日期,对其返回的数值(成交量、价差、指标缓冲区中的数值、价格开盘、最高价、最低价、收盘价或开盘时间),总是等于或小于指定的数值。
当请求指定日期范围内的数据时,只返回落在所请求的间隔内的数据,间隔被指定并考虑到最近的秒数。这意味着任何返回数值(成交量、价差、指标缓冲区中的数值、价格开盘、高点、低点、收盘或开盘时间)的条形图的开盘时间,总是在要求的区间内。
因此,如果当前的工作日是星期六,那么当试图在周时间框架上复制数据时,指定 start_time=最后一个星期二 , stop_time=最后一个星期五, 该函数将返回0,因为周时间框架的开盘时间总是在星期天,但没有周柱落入指定范围。
如果我们需要获得与当前未完成的条形图相对应的值,我们可以使用第一种形式的调用,指定 start_pos=0和 count=1。
问候。
先生们,你们能告诉我如何使价格交叉水平的条件在最后有1-2-3个零吗?
问候。
先生们,你们能告诉我如何使价格交叉水平的条件在最后有1-2-3个零吗?
通过将过去和当前的价格值与该水平进行比较,如果该水平在这些值之间,那么就出现了交叉。
通过将过去和现在的价格与该水平进行比较,如果该水平在这些数值之间,那么就发生了交叉。
我怎样才能指定这些级别进行比较?
或者--我如何指定该数字应该有正确的小数位数?不是通过四舍五入,而是通过删除。
那我怎么写这些水平的比较呢?
或者--我如何指定该数字应该有正确的小数位数?不是通过四舍五入,而是通过删除。
这里是查找功能。
Sergey Gritsay,Vitaly Muzichenko 感谢你们。
也有人建议我使用MathFloor()函数 - 返回最接近底部的整数数值。
挖掘MySQL。
谢尔盖-格里察伊。
为此,你需要在你的本地计算机之外创建一个服务器,并通过该服务器传输数据。 对于MT来说,应该编写一个指标或专家顾问来处理这些数据,或者将终端放在一些VPS服务器上,在那里你应该设置交易复制器,从你的账户到你朋友的账户。另一个选择 是通过信号服务复制你在特定水平上执行的交易。一般来说,你应该考虑自己的经济能力,以订购适当的软件。
MosheDayan:
让我提醒你一下史前的情况。我有一个日线指标,从csv中获取数据并在图表上显示(水平线)。我在家里的笔记本电脑上创建了一个服务器(它很弱,但我不需要在那里进行计算,它可以给我提供csvs,而且它们非常小)。在测试连接的服务器上,倒是通常的论坛引擎--从外面看来,一切都可以看到。帮助提供建议。这应该是在服务器上从它的指标csv文件中读取的?也就是说,该指标如何与csv数据库进行通信?能否填补引擎fTP服务器或其他东西,并能为MT需要打开一些特殊的端口?还是我在总体上进入了错误的方向?谢谢
朋友们,我能否再问你们一个问题。是否可以不加载家用笔记本电脑,而是使用,将指标与csv文件、免费云文件存储,例如,Yandex.Disk或Облако@mail.ru或Box.net等联系起来。谢谢你
下面是寻找者的功能