我知道这是一个不应该这样做的例子.....。
标准iMACD() 指标 有什么问题?为什么要使用两个指标?
//--- 获取 MA 句柄 ExtFastMaHandle=iMA(NULL,0,InpFastEMA,0,MODE_EMA,InpAppliedPrice); ExtSlowMaHandle=iMA(NULL,0,InpSlowEMA,0,MODE_EMA,InpAppliedPrice);
现在是时候阅读文档了,而不是
//--- int limit; if(prev_calculated==0) limit=0; else limit=prev_calculated-1;
写更短的文字,但又不失可读性和可操作性。
//--- int limit = prev_calculated == 0 ? 0 : prev_calculated-1;
然后,我们等待柱状图形式的指标,然后是线状图形式的指标。我们可以根据图表类型来做吗?指标应显示我们切换到的图表。
使用这些按钮进行切换![]()
Alexey Viktorov:
至少有两种方法可以编写指标:1.修改指标的父代码;2.访问指标句柄,然后从指标缓冲区复制信息。我知道这是一个不应该这样做的例子.....。
标准iMACD() 指标 有什么问题?为什么要使用两个指标?
现在是时候阅读文档了,而不是
写更简短的文字,但又不失可读性和可操作性。
然后,我们等待柱状图形式的指标,然后是线状图形式的指标。你能根据图表类型来做吗?指标应显示我们切换到的图表。
使用这些按钮进行切换
我选择了方案 1。
Vladimir Karputov:
指标的编写至少有两种方法:1.修改指标的父代码;2.访问指标句柄,然后从指标缓冲区复制信息。
指标的编写至少有两种方法:1.修改指标的父代码;2.访问指标句柄,然后从指标缓冲区复制信息。
我选择了方案 1。
即通过读取 iMA 指标缓冲区来更改父代码。
CopyBuffer(ExtFastMaHandle,0,0,to_copy,ExtFastMaBuffer) CopyBuffer(ExtSlowMaHandle,0,0,to_copy,ExtSlowMaBuffer)
那么是选择第一种方法还是第二种方法?修改父代码还是读取缓冲区????
那么,用切换图表视图的按钮切换指标的视图,指标的通用性如何?
Alexey Viktorov, 2017.10.26 10:29 AM
接下来我们等待柱状形式的指标,然后是线状形式的指标。是否可以根据图表类型进行切换?切换到哪种图表,指标就应该显示在哪种图表上。
用这些按钮切换 ![]()
Vladimir Karputov:
嗯,我可以:)。
如果我懂编程,自己写也不错。
Andrey F. Zelinsky:
这是一个普通的终端 MACD 指标,只是呈现方式不同而已。它有一个现成的 Expert Advisor,是终端自带的。
在终端中,Expert Advisor 的工作原理不同,在这种情况下,我感兴趣的是指标本身的零线交叉。
MACD 与零轴交叉 (彩色蜡烛):
显示 MACD 指标穿越零轴区域的彩色蜡烛条。
作者: Vladimir Karputov