ICustom函数 - 页 18

 
OneandOnly666:
好的!谢谢你的帮助。谢谢你的帮助,我将研究一下,看看是否能找到问题所在。

这两行是简单的条件检查,测试这两个条件只需要非常非常短的时间。

在这两行之后所做的事情(或依赖于这两行的其他代码)才是导致速度下降的原因。

[删除]  
mladen:
这两行是简单的条件检查,测试这两个条件需要非常非常短的时间,这两行之后的工作(或依赖于这两行的其他代码)才是导致速度减慢的原因。

是指标的问题。

用一个更简单的遍历指标代替,然后就成功了。

谢谢你的帮助,如果没有你的帮助,我永远不会找到它。

//托马斯

 
codersguru:
你好,homi。

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

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

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

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

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

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

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

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

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

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

参数7:工作栏 -0 为当前栏。

请尝试这行代码并告诉我

谢谢你的帮助

 

嗨,mladen/mrtools。

是否有一个专门针对这种信息的主题?我相信这将有利于本网站的非编码成员。

(Ref. post #91 by Forex2006)

谢谢。

保罗

 
tamaraofx:
回复:专家顾问的iCustom部分

嗨,mladen/mrtools。

是否有一个专门针对这种信息的主题?我相信这将有利于本网站的非编码成员。

(Ref. post #91 by Forex2006)

谢谢。

保罗

保罗

这些只是使用这些指标的一些可能方式。你不可能 "涵盖 "所有的可能性(和组合),即一些指标值如何在EA中使用。这就是为什么有一个iCustom()函数,然后我们可以按照自己的意愿(或需要)在EA中使用这些指标。

更不用说有某种标准的EA如何工作了。在一个EA中可能起作用的东西在另一个EA中不会起作用。你不可能抓到一些和平的代码,并使所有的EA都用这些和平的代码工作。

 

是的,我注意到了。有些是基本的,如a>b或a>0,有些是复杂的。对于基本的,我可以理解,并且可以在一些EA上进行实验。有时它可以工作。有一些EA模板,可以改变指标买入/卖出的信号代码,它可以工作。虽然,我并不是说这是完全有利可图的。

你在这个网站上有这么多好的、设计得很好的指标。但如何 在EA中测试/模拟 这些指标,对一些会员来说并不容易,包括我自己。作为这里的成员,我特别想知道这些漂亮的指标如何适合EA模板;在代码中使用哪些缓冲区;使用哪些操作数和运算符;类似的东西。

如果能看到类似该帖子中那些漂亮的指标的更基本的代码组合,将是很有帮助的。

这只是一个想法。

谢谢,并致以最诚挚的问候。

保罗

 

如果原始指标 "动态区域MACD dll "在这种情况下有缓冲区0-3,那么

值'4'意味着这个指标的另一个实例和缓冲区0的数据,还是编码错误/不匹配?

冯先生

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

 
fajst_k:
如果原始指标 "动态区域MACD dll "在这种情况下有缓冲区0-3,则

值'4'意味着这个指标的另一个实例和缓冲区0的数据,还是编码错误/不匹配?

克里斯托夫

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

这段代码是怎么来的?

它不能访问缓冲区 "4",因为该指标没有这个缓冲区。

 

从这里

.........................

我在检查 这段代码时也有怀疑,但编译器没有抱怨。

 
fajst_k:
从这里我检查了这段代码,也得到了怀疑,但编译器并没有抱怨。

其实我的意思是,那些iCustom()调用 的来源是什么?

PS: 删除了那个网站的链接(原因很明显)。