ICustom函数 - 页 5

 

好的,谢谢你,我必须阅读和重读这篇文章几遍,以得到它 ,是的,我确实想让它只在两条线同时变成蓝色或红色时发出信号。那么 "买入交易 "的代码是什么?

 
matrixebiz:
好的,谢谢你,我将不得不阅读和重读几遍,以获得它 ,是的,我确实希望它只在两条线同时出现蓝色或红色时发出信号。那么 "买入交易 "的代码是什么?

提到这个指标的术语只是提到布尔变量,例如 "both_go_blue "作为买入条件的术语,而 "both_go_red "作为卖出条件的术语。为了说明这一点,它看起来像。

if ( .... && both_go_blue && ... ) ....

请注意,我对指标做了假设,即每个指示缓冲区 要么有 "空值",要么有一个常量值,这对同一行的蓝色和红色指示是一样的。如果这个假设是错误的,那么实际的代码就需要更复杂一些,但我们会在这个总线到来时接受它。

 

好的,谢谢你的清晰解释。我现在应该能理解了 最后一件事,如果我不只是想比较当前和之前的条形图,而是想说 "如果信号在过去的2-4个条形图中一致,那么仍然创建买入条件",在指标相互一致的时候不超过4个条形图,我应该如何编码?这将改变整个EA的编码逻辑,对吗?

编辑:另外,我应该怎样做才能创造一个条件,当一个指标发出信号,而另一个指标没有发出信号,但至少是一致的,并且朝着同一方向发展时,EA仍然会触发买入交易?

 
matrixebiz:
好的,谢谢你的清晰解释。我现在应该能明白了

最后一件事,如果我不只是想比较当前和之前的条形图,而是想说 "如果信号在过去2-4个条形图内一致,那么仍然创建买入条件",当指标相互一致时,不超过4个条形图的差异,我将如何编码?这将改变整个EA的编码逻辑,对吗?

对;你可以通过两种方式来实现。1)用一个有状态的EA,保持过去的读数与现在的读数进行比较,或者2)进一步读取指标的过去。我认为第二种方法更好,因为它使EA更加强大,可以毫无顾虑地重新启动。而且从性能上看,这两种方法大致相同。

对于(2),你或我将使用一个代码段来向后扫描过渡,例如像(原则上)。

bool top_went_blue_in_5 = false;

for ( int i = 1; i < 6; i++ ) {

if ( iCustom( ...., 0, i ) != EMPTY_VALUE ) continue; // is blue

if ( iCustom( ...., 1, i ) != EMPTY_VALUE ) {

top_went_blue_in_5 = ( i > 1 ); // Red at i, and blue after

break;

}

}[/PHP]

EDIT: also, what did I do to create a condition where the EA triggered a BUY when One indicator signaled and the other indicator didn't signal but was at least in agreement and going in the same direction, BUY trade was still triggered ??

You are getting fancy ...

It involves a) to represent the "right direction" concept, and then have a disjunctive condition of the form:

if ( ( buy_signal_A && buy_direction_B ) || ( buy_signal_B && buy_direction_A ) ) ...

or, you might prefer a nested condition structure:

[PHP]if ( buy_signal_A || buy_signal_B ) {

if ( buy_direction_A && buy_direction_B ) {

...

}

}
 

向您发送电子邮件

 

矩阵,你能帮助我在哪里可以得到MTF CI indi吗?你知道我在哪里可以找到Stealth indies吗?谢谢你

matrixebiz:
好吧,我得到了Shift,将不得不做更多关于Mode的阅读。

你会编码吗?我有这个指标,我从我的EA调用,但不知道如何正确设置它。见图片。

它只有两条线,当蓝色变化并与另一条线对齐时,就会产生多头信号(与红色的想法相同)。

我尝试了一些不同的代码,比如我在VQ指标中使用的代码。

double Entry1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2);

只是交易不对。

谢谢
 

Matrixebiz,和Ralph。

如果你想在EA中使用VQ,它有一个2条滞后。 我强烈建议你看看我在这里发布的作品。

https://www.mql5.com/en/forum/general

见319号帖子。

拉尔夫,你能帮助我解决我的任何问题吗?我将不胜感激!

这里有一个:https://www.mql5.com/en/forum/173219

702号帖子。

另一个在这里。

https://www.mql5.com/en/forum/173060 Post 986

谢谢。

大贝

 

自定义指标

关于如何制作一个性感好看的指标的指南

新手的MQL4语言。自定义指标(第二部分) - MQL4文章

 

如何从自定义指标 中获取多个值?

大家好。

我需要使用iCustom函数从自定义指标中获取数值,但似乎iCustom只能获取一个返回值。

如果一个自定义指标返回一个以上的值,我怎样才能得到我需要的某个值?

例如,一个枢轴指标将返回2个或更多的支持、阻力值......那么,我怎样才能在一个指标中获得每个值?

先谢谢你

 

通常情况下,读取指标中的缓冲区数量。 如果有两个缓冲区,那么使用iCustom对每个缓冲区进行寻址。

例如。

double Buff0=iCustom(NULL, 0, "Pivot",13,0,0)。

double Buff1=iCustom(NULL, 0, "Pivot",13,1,0);

double Buff2=iCustom(NULL, 0, "Pivot",13,2,0)。

如果指标中只有两个缓冲区,缓冲区0正常与代表上升的指标颜色有关。 缓冲区1正常与指标 缓冲区下降有关。

另外,如果指标的图形有各种颜色,你可以打开平台上的指标设置屏幕框,选择颜色设置。 有时,缓冲区和颜色会按顺序列出,这样你就可以看到什么缓冲区(和颜色)做什么。 顺序可能是1号,即0号缓冲区,绿色(或石灰色),然后是2号,即1号缓冲区,红色,以此类推。

希望这对你有帮助。