[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 230

 

日安!

我的问题很简单:当以数组形式访问指标缓冲区时(因此第一个元素的索引为0),ArraySetAsSeries 应该在每次迭代时 都被调用--还是只调用一次这个函数就足够了,例如在init()中?

 
betmen >> :

我为此使用了以下代码。


bool Fun_New_bar()
/*
函数的目的是检测是否有一个新酒吧。
否则就会返回 "false"。
===========
变量。
===========
Test_Time - 测试时间
*/
{
static datetime Test_Time=0。
如果(Test_Time!=Time[0])
{
Test_Time=Time[0];
return(true)。
}
return(false)。
}


对于我的问题,请知道的人帮助我,或者告诉我这是不可能的......我已经找了3天的答案,到目前为止还没有找到。:-(




非常感谢你。这很有帮助。
 
betmen >> :

你提出在初始化过程中启动一个从另一个IDE编译的exe,作为一种选择,确实可以在初始化过程中运行一个exe文件,但这样就有另一个问题--如何在指标本身的变量中传递程序的数据?

也就是说,如何将combobox1.text的值转换为数字转移到MA_Method?

通过文件并不美观,MetaTrader和我创建的 "test.exe "并没有共同的内存空间。

没有。我不建议这样做:-)。这是一个相当复杂的事情。我说的是Dll,我或多或少描述了它的细节。

字符串被传递。我只是给你一个警告。数字的通过完全没有任何问题。

在metatrader中,它是这样导入的:get(int & to[]),在C语言中,它被解释为get(int * to)。找到一个例子。

 
xp3rienced >> :

日安!

我的问题很简单:当以数组形式访问指标缓冲区时(因此第一个元素的索引为0),ArraySetAsSeries 应该在每次迭代时 都被调用--还是在init()中调用一次这个函数就足够了?

只要把数据放在那里就可以了。如果它已经是一个指标缓冲区(SetIndexBuffer)--你不需要做任何事情。

为什么会出现这个问题?:-)

 
jartmailru >> :

在那里输入数据即可。如果它已经是一个指标缓冲区(SetIndexBuffer)--你不需要做任何事情。

为什么会出现这个问题?:-)


我就是这样做的。是的,数组是一个指标缓冲区。我需要它被当作一个数组,当第一个元素的索引为零时。或者你想说(通过 "什么都不做"),这样的寻址,对于索引缓冲区,是默认的?

出现这个问题是因为我需要把缓冲区从 "过去 "填到 "未来",而我不知道数组寻址模式是否被重置,如果被重置,在什么情况下重置。仅此而已)

 
xp3rienced >> :

或者你是说(通过 "不做任何事情"),对于索引缓冲区,这种寻址方式是默认的?

是的,你会好起来的。

 
jartmailru >> :

>> 是的,会好起来的。


>> 非常感谢您!
 
jartmailru >> :

Nah.我不是在建议:-)。这已经很复杂了。我说的是Dll,我已经或多或少描述了它的细节。

字符串被传递。我只是给你一个警告。数字的通过没有任何问题。

Metatrader以这种方式导入它们:get(int & to[]),而C解释为get(int * to)。找到一个例子。

谢谢,我们将继续挖掘...

 
还有一个问题。指标的条数可能比当前图表上的多,在这种情况下:索引数组 中有新的数值,但条数没有出现在指标上。如何解决这个问题?最好不需要完全重新计算和调整索引阵列的大小 :)
 
同事们,在尝试设置延迟时,错误130 可能意味着什么?我必须在放置钟摆之前检查最小距离!"。我知道你们并不都是通灵者,我们假设我保持100%的最小距离,在这种情况下,还有什么原因会导致错误130?
原因: