如何为Build 600+升级指标? - 页 4 1234 新评论 Arav007 2014.04.04 04:39 #31 qjol: 你在开玩笑,当然,它工作了 是的,它现在工作了。 我使用了最新版本的所有10个参数,现在已经工作了。 谢谢。 BTW,我还是不明白为什么有7个参数的旧版没有工作!我想知道为什么。 如上图所示,该指标有8个外部参数。这里'TimeFrame'在字符串 "xpMA "之前被定义为'0'。 然后我声明了其余的7个参数,如下所示。 double signal = iCustom(NULL,0,"xpMA",MA_Period,MA_Type,MA_Applied ,T3MA_VolumeFactor,JMA_Phase,Step_Period,DebugMode,3,0); 所以,我哪里做错了,请指出。 谢谢 Arav007 2014.04.04 04:40 #32 deysmacro: 他必须从常见的错误中学习。 谢谢你的支持和理解。) qjol 2014.04.04 09:16 #33 Arav007: BTW,我仍然不明白为什么有7个参数的旧版本不能工作 如上图所示,该指标有8个外部参数。这里'TimeFrame'在字符串 "xpMA "之前被定义为'0'。 然后我声明了其余的7个参数,如下所示。 所以,我哪里做错了,请指出。 让我再说一遍,通过使用iCustom ,你必须传递与声明顺序相对应的 参数 传递的参数和它们的顺序必须与自定义指标的声明顺序和外部变量的类型一致。如果没有指定输入参数的值,将使用默认值。 你不能 跳过一个参数 例如,如果一个自定义指标有5个参数,你可以 像这样使用它。 double x = iCustom (Symbol(), Period(), "Name", Param1, Param2, Param3, mode, shift); 但你不能 像这样使用它。 double x = iCustom (Symbol(), Period(), "Name", Param2, Param3, Param4, mode, shift); Arav007 2014.04.04 10:23 #34 qjol: 让我再说一遍,通过使用iCustom ,你必须传递与声明顺序相应的 参数。 你不能 跳过一个参数 例如,如果一个自定义指标有5个参数,你可以 像这样使用它。 但你不能 像这样使用它。 这是我做错的事,无法确定。 好的,这里是我如何分配参数的。 Param1=MA_Period Param2=MA_Type Param3=MA_Applied 参数4=T3MA_VolumeFactor Param5=JMA_Phase Param6=Step_Period(周期) Param7=DebugMode 现在哪一个是错的? 解释一下 qjol 2014.04.04 10:42 #35 你跳过了第一个 "时间框架"。 Arav007 2014.04.04 11:06 #36 qjol: 你跳过了第一个 "时间框架"。 哦,那就是这种情况了。 如果我错过了任何一个外部参数,它就不会工作。 但我有意识地跳过了它,因为它应该在开始时定义的当前时间 框架下工作。 iCustom(Null,0, Param1,...) 这就是为什么我认为没有必要再把它定义为 "TimeFrame"。 谢谢你的纠正。 qjol 2014.04.04 11:19 #37 Arav007: 哦,那就是这种情况了。 如果我错过了任何一个外部参数,它就不会工作。 不,你可以 错过,但你不能 跳过,例如,如果有5个参数,你留下最后 两个,就没有问题。 但你不能跳过1而使用2 3 4 5 但我有意识地跳过了它,因为它应该与当前的时间框架一起工作,这是在开始时定义的。 iCustom(Null,0, Param1,...) 是的,但是终端不知道这个参数包含什么,它可以包含任何东西 (不一定是时间框架) 这就是为什么我认为没有必要再把它定义为'TimeFrame'。 不要想,要做!;-) 谢谢你的纠正。 William Roeder 2014.04.04 14:03 #38 iCustom的详细解释 - MQL4论坛 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你在开玩笑,当然,它工作了
是的,它现在工作了。
我使用了最新版本的所有10个参数,现在已经工作了。
谢谢。
BTW,我还是不明白为什么有7个参数的旧版没有工作!我想知道为什么。
如上图所示,该指标有8个外部参数。这里'TimeFrame'在字符串 "xpMA "之前被定义为'0'。
然后我声明了其余的7个参数,如下所示。
所以,我哪里做错了,请指出。
谢谢
他必须从常见的错误中学习。
谢谢你的支持和理解。)
BTW,我仍然不明白为什么有7个参数的旧版本不能工作
如上图所示,该指标有8个外部参数。这里'TimeFrame'在字符串 "xpMA "之前被定义为'0'。
然后我声明了其余的7个参数,如下所示。
所以,我哪里做错了,请指出。
让我再说一遍,通过使用iCustom ,你必须传递与声明顺序相对应的 参数
传递的参数和它们的顺序必须与自定义指标的声明顺序和外部变量的类型一致。如果没有指定输入参数的值,将使用默认值。
你不能 跳过一个参数
例如,如果一个自定义指标有5个参数,你可以 像这样使用它。
但你不能 像这样使用它。
让我再说一遍,通过使用iCustom ,你必须传递与声明顺序相应的 参数。
你不能 跳过一个参数
例如,如果一个自定义指标有5个参数,你可以 像这样使用它。
但你不能 像这样使用它。
这是我做错的事,无法确定。
好的,这里是我如何分配参数的。
Param1=MA_Period
Param2=MA_Type
Param3=MA_Applied
参数4=T3MA_VolumeFactor
Param5=JMA_Phase
Param6=Step_Period(周期)
Param7=DebugMode
现在哪一个是错的?
解释一下
你跳过了第一个 "时间框架"。
你跳过了第一个 "时间框架"。
哦,那就是这种情况了。
如果我错过了任何一个外部参数,它就不会工作。
但我有意识地跳过了它,因为它应该在开始时定义的当前时间 框架下工作。
iCustom(Null,0, Param1,...)
这就是为什么我认为没有必要再把它定义为 "TimeFrame"。
谢谢你的纠正。
哦,那就是这种情况了。
如果我错过了任何一个外部参数,它就不会工作。
不,你可以 错过,但你不能 跳过,例如,如果有5个参数,你留下最后 两个,就没有问题。
但你不能跳过1而使用2 3 4 5
但我有意识地跳过了它,因为它应该与当前的时间框架一起工作,这是在开始时定义的。
iCustom(Null,0, Param1,...)
是的,但是终端不知道这个参数包含什么,它可以包含任何东西 (不一定是时间框架)
这就是为什么我认为没有必要再把它定义为'TimeFrame'。
不要想,要做!;-)
谢谢你的纠正。