ICustom函数 - 页 3

 

主要是为了测试/验证

我用一个指标来开发我的策略,并想验证EA是否按照指标的方式工作。 如果我对MT4有了更多的经验,也许我可以把指标的逻辑部分做成一个子程序或DLL,然后从我的指标和EA中调用它。

当你使用测试器时,你可以打开一个图表。 如果我可以覆盖这个逻辑,我也可以把对象放在那个图表上。

有谁知道有哪些EA能以图形方式显示它们在做什么?

 

我做了我的第一个ICustom,使用Fisher m11作为定制。它在测试器中 显示的指标 是很好的图表,但在大多数时候是个失败者。Fisher m11是一个指标,需要放在该文件夹中。Fisher Auto EA m11必须放在专家文件夹中。以下是我在EA中放置它的方法。

iCustom(NULL,0, "Fisher_m11",Fisher_Period, IndexSmoothing, PriceSmoothing,0)。

下面是使用它的格式: double iCustom( 字符串,int timeframe,字符串名称,...,int mode,int shift)

这可能有助于一些正在创建自己的EA的人。

附加的文件:
 

我有一个类似的问题。

有没有人知道如何使用

SHI_SilverTrendSigAlert

SilverTrend_Signal With Alert v3

在EA中使用?

我需要一个专业的帮助。

 

SilverTrend是很好的交易工具,但信号会不断出现,直到条形图关闭,这对制作EA来说很困难。 我附上了一个12个白银EA的压缩包供你查看。

附加的文件:
 

我只是想在脑子里弄清楚iCustom线的终端值。

线条和移位

所以,如果我有一个像VQ这样的指标,它只有一条图形线,而我想知道,在前一根收盘的蜡烛上,它是否发出了买入条件的箭头信号,或者它是否发出了卖出条件的箭头信号,我需要设置两个条件,比如。

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

[/code]

So the above is going to check for an up condition (up) or sell (down) condition on the closed bar, correct?

Then my Buy and Sell code should be; correct?

//Buy

if (VQ0>VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

[/code]

Now if I wanted to add a second indicator so that TWO conditions need to be met at the same time to trigger a trade, it has two graphical lines (Don't know if it matters by how many lines it has, the indicator knows what it's Buy and Sell conditions are, correct?) My code would change to;

[code]

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

double QQEA0 = iCustom(NULL, 0, "QQEA",5,14,4.236, 1, 1);

double QQEA1 = iCustom(NULL, 0, "QQEA",5,14,4.236, 2, 1);

and Buy and Sell code should be

[code]

//Buy

if (VQ0>VQ1 && QQEA0>QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && QQEA0<QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

编辑:刚刚做了一个回测,它似乎像每个M30(图表TF)一样在交易。我只想让它只在第一个信号条件下启动交易,然后等待下一个相反的信号条件。似乎当两个指标都认为是买入时,它就会进行交易,然后当该交易被关闭时,如果条件仍然满足,它就会在下一个蜡烛上继续进行另一个买入交易。这不是我想要的 ,我只想在每个买入/卖出信号中进行一次交易。谢谢

附上两个EA,一个叫 "我的第一个EA",是有人为我修改的,因为他们认为条件是错误的,另一个是我用一个叫YourExpertAdvisor的模板做的。它们都正确吗?

谢谢你

附加的文件:
 

如果我没有理解错的话,你希望你的EA将一系列不间断的指标一致视为 "一个信号",而不是将每次一致视为一个信号。

这样做的一个方法是使它成为一个有状态的EA,并使用如下设计。

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

 
ralph.ronnquist:
如果我没有理解错的话,你想让你的EA把一系列不间断的指标一致视为 "一个信号",而不是说每次一致都是一个信号。

一种方法是使它成为一个有状态的EA,并使用如下设计。

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

嗨,拉尔夫,也许我发起的这个主题会更清楚。

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

谢谢

 
codersguru:
homicida。

很抱歉耽误了时间。

请看附件中LSMA和iCustom_Demo的修改版本。

我在LSMA中加入了一个新的缓冲区,用来保存当前的颜色(1=红色,2=绿色,3=黄色)。

其中(1=下降趋势,2=上升趋势,3=无趋势)。

要使用iCustomfunction 来获得这个缓冲区的值,你可以写。

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

谢谢Codersguru!!

我能够创建一个我的数字罗盘的版本,与磁盘指标一起使用。

 

如果你,TheRumpledOne,也能学会如何附加 图片,而不是让它们内联,那就更好了;你粘贴的那些垃圾,只是浪费了大量的空间。

 
ralph.ronnquist:
如果你,TheRumpledOne,也能学会如何附加 图片,而不是让它们内联;你粘贴的垃圾,只是浪费了很多空间。

如果它是 "垃圾",那为什么还要贴呢?