ICustom函数

 

你好

首先,我必须说,这里有很多有用的信息,非常棒:D

接下来是我的问题

如果我用icustom调用它,我如何获得指标结果(或其他变量)作为回报值?

我试着分析了一些其他指标的代码,但是......没有任何区别(或者我错过了)。

那么它是如何工作的呢?

问候HOMI:)

 
 

嗨,对不起

tj的回答:)

哦,你误解了我

我的英语太差了......对不起!

通常我知道如何用icustom()调用一个指标。

但当我试图调用LSMA趋势指标时,它总是给我一个值 "1",不管趋势到底是什么,它总是返回一个值....。"1".

所以我想,它返回的1是某种错误检查,返回的是真或假。

但我需要知道趋势是什么,必须在指标中添加一些代码,给我返回趋势值而不是错误检查值。

我上面的问题是指:当我用icustom()调用指标时,应该在指标中添加什么代码来获得趋势值而不是错误检查值。

问候HOMI

 

使用iCustom来获取LSMA的值。

homicida:
tj的回答:)

哦,你误解了我

我的英语太差了......对不起!

通常我知道如何用icustom()调用一个指标。

但当我试图调用LSMA趋势指标时,它总是给我一个 "1 "的值,不管趋势到底是什么,它总是返回一个值....。"1".

所以我认为它返回的1是某种错误检查,会返回真或假。

但我需要知道趋势是什么,必须在指标中添加一些代码,给我返回趋势值而不是错误检查值。

我上面的问题是指:当我用icustom()调用指标时,应该在指标中添加什么代码来获得趋势值而不是错误检查值。

问候HOMI

你好,homi。

我没有误解你的意思。我给了你iCustom的工作例子。

总之,这是一行代码,它将使用iCustom获得LSMA 的值。

注意:我用LSMA的颜色()。

Alert(iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

parmeter 1: 符号 -NULL 代表当前符号。

parmeter 2: 时间框架 -0 代表当前时间 框架。

参数3:指标名称 - 这里是"LSMA in Color"。

参数4:这是LSMA的设置 -Rperiod=14。

参数5:这是LSMA的设置 -Draw4HowLongg=1500。

参数6:行数(范围从0到7) - 通常使用0。

parmeter 7: 工作栏 -0 为当前栏。

请尝试这行代码并告诉我

 

尊敬的先生,您好

我测试了一下,你的代码运行良好.....

但这并没有解决这个问题^^。

我得到了你说的回报值,但它总是相同的值,不管趋势是什么,它一直是214783647。

我搜索了指标代码中的值,有3个缓冲区,其中存放214783647的缓冲区是趋势,而不是存储在其中的值。

比如说

如果缓冲区1持有214783647意味着趋势上升,其他两个缓冲区持有类似174......

如果缓冲区2持有214783647意味着趋势下降,其他2个缓冲区持有类似174的东西......

这是否会导致问题的出现?

问候HOMI

 

214783647意味着有一个错误!

homicida:
嗨,

我测试了一下,你的代码运行良好.....

但这并不能解决这个问题^^。

我得到了你说的回报值,但它总是相同的值,不管趋势是什么,它总是214783647。

我搜索了指标代码中的值,有3个缓冲区,其中存放214783647的缓冲区是趋势,而不是存储在其中的值。

比如说

如果缓冲区1持有214783647意味着趋势上升,其他两个缓冲区持有类似174......

如果缓冲区2持有214783647意味着趋势下降,其他2个缓冲区持有类似174的东西......

这是否会导致问题的出现?

问候HOMI

你好,homi。

我认为在你的iCustom调用中存在一个错误。

无论如何,这里的代码将调用 LSMA的iCustom,以返回其3条线的值。

注1:3条线的值是相同的,因为LSMA是颜色指标(如果你想知道更多,可以问我)。

注2:214783647是一个错误。我在演示示例中包括了一些将返回相同错误的代码行,以便让你明白。

//+------------------------------------------------------------------+

//| iCustom_Demo.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//----

Alert("Line3 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,2,0));

Alert("Line1 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

Alert("Line2 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,1,0));

//Some mis-typed iCustom calls which will return:

//Wrong LSMA parameter

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",0,1500,0,0));

//Wrong line number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,0));

//Wrong Bar number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,counted_bars));

//----

return(0);

}

//+------------------------------------------------------------------+
附加的文件:
 

又见面了:D

好吧,我被这个指标打败了,笑了:)

我不能让它像我想要的那样工作

你说它是一个颜色指示器,那是什么意思?

重要的 是,我怎样才能得到它的当前状态?

我总是只能从它那里得到一些数字,这些数字看起来就像所有三行中收盘价的圆角版本,即使使用你未修改的演示(指标和演示)。

我错过了什么?

我如何将输出转换为简单的 "绿色""红色""黄色 "字符串?

问候

强调 homi

 

请帮助我!

homicida:
好吧,我被这个指标打败了,笑了:)

我不能让它像我想要的那样工作

你说它是一个颜色指示器,这是什么意思?

最重要的是,我怎样才能得到它的当前状态?

我总是只能从它那里得到一些数字,这些数字看起来像是所有三行中收盘价的圆角版本,即使使用你未修改的演示(指标和演示)。

我错过了什么?

我如何将输出转换为简单的 "绿色""红色""黄色 "字符串?

问候

紧张的同胞们

你好,强调一下homi

你试过演示,仍然得到错误的数字吗?

你能告诉我你得到的警报吗? 这就是我得到的(2分钟前)。

附加的文件:
icustom.jpg  29 kb
 

看起来和我得到的结果完全一样。

但这些数值是什么?

问候HOMI

p.s

有没有人遇到过strategybuilder不更新图表的情况?

 
homicida:
看起来和我得到的结果完全一样。

但这些价值是什么?

问候HOMI

homi。

第1行提示:是第一个 缓冲区或LSMA(ExtMapBuffer1)的值

第二行提示:是第二个 缓冲区或LSMA(ExtMapBuffer2)的值。

第三行Alert:是第三个 缓冲区或LSMA(ExtMapBuffer3)的值。

然后我写了三个iCustoms的调用,故意用错误的参数 来告诉你你的iCustoms的调用可能有什么问题。

你能告诉我你到底想做什么吗?也许我可以帮助你!

 

哦,我唯一想要的是调用它并获得当前的趋势回来。

比如说 "1 "代表上升,"2 "代表下降,"3 "代表侧面。

这就是我想做的事情。

因为你的代码是正确的。

我知道我的主要问题是缺乏对该指标的了解。

所以我不能以正确的方式解释回报值。

但我找不到相关的信息。

问候HOMI

原因: