如果这些指标也能根据其值对这一指标进行排序,将非常有用。
值进行排序。如果有这样的功能,请与大家分享,以免发明自行车。
在这些指标中进行排序也很有用
根据其数值进行排序。如果有这样的功能,请与大家分享,以免发明自行车。
目前还没有现成的功能,但我认为绘制草图并不困难。
19.05.2010
已实现
谢谢。
我唯一想指出的是,同步方法并不总是有效。下面是一张图片。引号中的洞 24 小时,但所有内容都是同步的 ((( 。
这太糟糕了。我不明白为什么会这样,最重要的是,该如何解决?
....
我认为值得添加第三种同步类型,以类比第二种同步类型,检查每对条形图的开盘时间。
根据您的图片和相似性,我创建了函数 bool init_tf(...)。
//+------------------------------------------------------------------+ //| 初始化相关货币对的图表 //| 和数据同步检查| //+------------------------------------------------------------------+ //| in.| //| mas[] 是所需字符名称的数组。 //| time_0 - 当前酒吧时间[0]| //| count_Bars - 所需的条形图数量 //+------------------------------------------------------------------+ bool init_tf(string &mas[], datetime time_0, int count_Bars) { bool rez=false; // 成功标志 int copied=0, // 复制数据的数量 counter=0, // 错误计数器 tmp_bars=0; // 检查可用条数 datetime tmp_time[1]; // 检查酒吧时间的数组 f_comment("正在进行同步"); for(int i=0; i<count_symbol; i++) { //Print("i=",i," ",count_symbol," ",mas[i]); tmp_bars=Bars(mas[i],PERIOD_CURRENT); if(tmp_bars<count_Bars) { // 检查条数 Print("i=",i," 酒吧不够(", mas[i],"-",fTimeFrameName(_Period),") MaxBars=",MaxBars," > Bars=",tmp_bars); counter++; } ResetLastError(); copied = CopyTime(mas[i],PERIOD_CURRENT,0,1,tmp_time); if(copied < 1) { // 复制错误 Print("i=",i,"复制错误(", mas[i],"-",fTimeFrameName(_Period),") №",_LastError," (",ErrorDescription(_LastError),")"); counter++; } if(tmp_time[0]!=time_0) { // 时间不符 Print("i=",i,"没有时间同步(", mas[i],"-",fTimeFrameName(_Period),") delta ="",(long)(time_0-tmp_time[0])/60," 最小"); counter++; } }// 结束 for(int i=0; i<k; i++) if(counter==0) { // 一切正常,没有错误 rez=true; f_comment("一切都好"); } else f_comment("没有同步"+(string)counter); ChartRedraw( ); return(rez); }
我选择了 12 个将参加锦标赛的货币对。我制作了一个指标RVI_ALL ,仅用于研究同步。启动它。结果。
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 10 没有 时间同步 ( GBPJPY - M1 ) delta = 1 分钟
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 5 没有 时间同步 ( AUDUSD - M1 ) delta = 1 分钟
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 1 没有 时间同步 ( GBPUSD - M1 ) delta = 1 分钟
今天是周日,这些符号上没有条形图(最后一个条形图)。下一个刻度只在周一出现。然后我想起了这篇文章:无孔图表https://www.mql5.com/zh/articles/1407。
会有漏洞的。会有的。我们必须以某种方式对抗它们。原则上,你也可以像文章中描述的那样做。但我有一个问题。
该指标挂在一张图表上。如果这个符号发生了历史交换,我可以发现它,prev_calculated 将被重置为零。
但我怎么知道其他符号是否发生了历史交换,或者数据只是延迟了很长时间?
会有漏洞的会有漏洞的必须想办法解决。原则上,你也可以像文章中描述的那样做。但我有一个问题
该指标挂在一张图表上。如果在这个符号上有历史交换,我就可以发现它,prev_calculated 将被重置为零。
但我怎么知道其他符号也发生了历史交换,或者数据只是延迟了很长时间?
1 要么在历史记录出现漏洞时不允许绘制指标,并在 "修补 "漏洞时定期轮询历史记录。(当前图表上的新刻度或计时器)。
2.或者在历史记录中的漏洞足够大的情况下,仅在漏洞前绘制指标。
并对该函数稍作修改
bool init_tf(string &mas[], datetime time_0, int count_Bars, int shift) и далее по тексту copied = CopyTime(mas[i],PERIOD_CURRENT,shift,1,tmp_time);
然后循环调用该函数(从 0 到 shiftbars)。
在这种情况下
shift
将是当前工具和 TF 上的条形图位置,我们将检查该位置是否与其他工具同步。
我不知道故事中是否有漏洞。
https://www.mql5.com/ru/forum/1111/8747#comment_8747
唯一的办法是复制时间并循环整个数组,但这又会让人很扫兴,因为这是一个恶性循环 ( (()
如果开发人员不改变https://www.mql5.com/zh/articles/1407 的概念来制作没有漏洞的图表,可能会发现不可能同步所有内容。
我不知道故事中是否有漏洞。
https://www.mql5.com/ru/forum/1111/8747#comment_8747
唯一的办法是复制时间并循环整个数组,但这又会让人很扫兴,因为这是一个恶性循环 ( (()
如果开发人员不改变https://www.mql5.com/zh/articles/1407 的概念来制作没有漏洞的图表,可能会发现不可能同步所有内容。
使用时间[]缓冲区同步就不会出现混乱。
只需在调用报价的同时按时间进行预检查,然后一切就都同步了。
虽然我同意这种方法并不容易,而且可能会出现很多错误。
您好!
我对美元指数公式的正确性有疑问,也许它们是假的。
有人能详细解释一下这个公式吗?
新文章 使用若干中间指标缓存创建多货币指标已发布:
最近对 FOREX 市场进行群集分析的兴趣越来越高。MQL5 提供了研究货币对运动趋势的新可能。MQL5 不同于 MQL4 的一个新特点是能够使用数量不受限制的指标缓存。本文描述了一个创建多货币指标的例子。
作者:Alexey Klenov