[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 71 1...646566676869707172737475767778...432 新评论 Arles 2013.01.10 17:49 #701 r772ra , artmedia70 谢谢你,它起作用了! Viktar Dzemikhau 2013.01.10 18:22 #702 artmedia70:这里有一个提示。NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point ---相邻条形的差异。如果条件没有得到满足->Return(False); (返回错误)循环结束后返回(False)。我们可以用不同的方式来做。如果条件NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point为真,将相邻小节的计数器(最初等于0)增加1。如果条件是假的,我们返回相邻条形计数器的值。函数返回的数字越大,集合就越强。如果返回0--设置不存在。 我认为价格不应该被规范化,因为我们只需要与一个整数比较。最好使用MathAbs(double value)函数,这样,如果其中一个价格高于另一个,输出的符号总是正的。 这里还有一点。事实证明,我们根本就不需要一个循环!"。我们可以简单地使用一个带有计数器的函数。我们连续检查2个相邻的柱子的极值,如果它们是相同的,计数器就会增加1(当然,最初它将是0)。接下来,在下一个新条形 上,我们进行类似的检查。如果极值相等,计数器将被递增1,等等。这里不需要在我们前进的过程中进行循环,对吗?毕竟,我们不知道我们会有多少个具有相同极值的柱子,因此在历史中指定移位参数没有意义。 [删除] 2013.01.10 18:34 #703 Notter:有很多关于高频交易的讨论。他们说HFT击败了他们所有人。它对我们的主要优势是什么?短暂的平移本身是一件好事,这一点可以理解,但要进行交易需要超过一毫秒的时间 :)HFT中出现了什么新的质量,算法在原则上有什么不同?谢谢你。 你开的是Zaporozhets,而这些人开的是法拉利。你能超车吗? (这与算法无关) Vadim Zhunko 2013.01.11 00:04 #704 YOUNGA: 你开的是Zaporozhets,这些人开的是法拉利。你能超车吗? (这与算法无关) Zaporozhets需要做一点儿工作。那么不仅是法拉利可以 "完成"。 [删除] 2013.01.11 04:41 #705 YOUNGA: 你开的是Zaporozhets,而这些人开的是法拉利。你能跑得过他们吗? 然而,这其中有一个根本性的区别。 至少要承担风险/回报。如果HFT按点数登记利润,它显然不会设置止损,并根据其他标准进行平仓。可能任何针对某个头寸的勾选都是一种退出。)但这样一来,利润从何而来? [删除] 2013.01.11 04:47 #706 再次寻求帮助。 我如何确定均线从哪一边穿过价格? Artyom Trishkin 2013.01.11 05:22 #707 hoz: 我认为我们不需要将价格归一化,因为我们只需要与一个整数进行比较。最好使用MathAbs(double value)函数,这样,如果其中一个价格高于另一个,输出的符号总是正的。 这里还有一点。事实证明,我们根本就不需要一个循环!"。我们可以简单地使用一个带有计数器的函数。我们连续检查2个相邻的柱子的极值,如果它们是相同的,计数器就会增加1(当然,最初它将是0)。接下来,在下一个新条形上,我们进行类似的检查。如果极值相等,计数器将被递增1,等等。这里不需要沿途的循环,对吗?毕竟,我们不知道会有多少个具有相同极值的柱子,因此,在历史中指定移位参数没有意义。当然,那里需要MathAbs()--我突然写的,坐在方向盘前--你不能写太多,更何况我给了它一个提示。归一化价格,因为比较实数需要归一化,而我们不是与整数比较(因为3*Point是int*double- int到double 的转换)。我还是会做一个在每个tick上比较条形的函数--我习惯于立即为真实而思考。如果EA因某种原因被禁用,存储计数器值的变量将在EA重新启动时被重置--这不是好事......它是一种数据的损失。但在热搜索的情况下(或更好地优化速度),在这种情况下重新启动专家顾问并不坏--它将重新计算一切。因此,最好是创建一个单独的函数,在每个新条形上比较给定数量的相邻条形是否相等(好吧,正如你所拥有的),并返回按给定标准相等的连续条形的数量,从第一个条形 开始,并进一步进入历史,为已传递给该函数的条形数量(每件10个...)。一般来说,...像这样的事情... Artyom Trishkin 2013.01.11 05:34 #708 md4RM: 再次寻求帮助。我怎样才能分辨出均线与价格交叉的哪一面? 如果(iMA(Symbol(),Period(), 1, 0, MODE_SMA, PRICE_CLOSE,2) <= SMA(blah, blah, blah,2)иiMA(Symbol(), Period(), 1, 0, MODE_SMA, PRICE_CLOSE,1) > SMA(blah, blah, blah,1)),那么{ 价格在第一个柱状体上由下往上穿过你的均线}。 WindSW 2013.01.11 06:51 #709 谢谢你,我已经发现了这个错误。 андрей 2013.01.11 08:06 #710 下午好,请帮助。我下载了VininI_HMA指标,并试图将其插入EA模板中,但EA并没有打开交易。汇编工作进展顺利。卖出条件 (Sigj1==EMPTY_VALUE)&& (Sigj2!=EMPTY_VALUE)&& (Sigj1!=EMPTY_VALUE)&& (Sigj2!=EMPTY_VALUE)买入条件 (sigj1==EMPTY_VALUE)&& (sigj2!=EMPTY_VALUE)&& (sigj1!=EMPTY_VALUE)&& (sigj2!=EMPTY_VALUE)double sigz1 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,0,1); double sigz2 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,0,2); double sigz1 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,1,1); double sigz2 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,1,2); double sigk1 = iCustom(NULL,0," VininI_HMA_sound&Alert",period,method,price,sdvig,2,1); double sigk2 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,2,2); 请告诉我,我哪里做错了? 1...646566676869707172737475767778...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这里有一个提示。
NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point ---相邻条形的差异。如果条件没有得到满足->Return(False); (返回错误)
循环结束后返回(False)。
我们可以用不同的方式来做。
如果条件NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point为真,将相邻小节的计数器(最初等于0)增加1。
如果条件是假的,我们返回相邻条形计数器的值。
函数返回的数字越大,集合就越强。如果返回0--设置不存在。
我认为价格不应该被规范化,因为我们只需要与一个整数比较。最好使用MathAbs(double value)函数,这样,如果其中一个价格高于另一个,输出的符号总是正的。
这里还有一点。事实证明,我们根本就不需要一个循环!"。
我们可以简单地使用一个带有计数器的函数。我们连续检查2个相邻的柱子的极值,如果它们是相同的,计数器就会增加1(当然,最初它将是0)。接下来,在下一个新条形 上,我们进行类似的检查。如果极值相等,计数器将被递增1,等等。这里不需要在我们前进的过程中进行循环,对吗?
毕竟,我们不知道我们会有多少个具有相同极值的柱子,因此在历史中指定移位参数没有意义。
有很多关于高频交易的讨论。他们说HFT击败了他们所有人。它对我们的主要优势是什么?短暂的平移本身是一件好事,这一点可以理解,但要进行交易需要超过一毫秒的时间 :)HFT中出现了什么新的质量,算法在原则上有什么不同?
谢谢你。
你开的是Zaporozhets,而这些人开的是法拉利。你能超车吗? (这与算法无关)
你开的是Zaporozhets,这些人开的是法拉利。你能超车吗? (这与算法无关)
你开的是Zaporozhets,而这些人开的是法拉利。你能跑得过他们吗?
然而,这其中有一个根本性的区别。
至少要承担风险/回报。如果HFT按点数登记利润,它显然不会设置止损,并根据其他标准进行平仓。可能任何针对某个头寸的勾选都是一种退出。)但这样一来,利润从何而来?
我如何确定均线从哪一边穿过价格?
我认为我们不需要将价格归一化,因为我们只需要与一个整数进行比较。最好使用MathAbs(double value)函数,这样,如果其中一个价格高于另一个,输出的符号总是正的。
这里还有一点。事实证明,我们根本就不需要一个循环!"。
我们可以简单地使用一个带有计数器的函数。我们连续检查2个相邻的柱子的极值,如果它们是相同的,计数器就会增加1(当然,最初它将是0)。接下来,在下一个新条形上,我们进行类似的检查。如果极值相等,计数器将被递增1,等等。这里不需要沿途的循环,对吗?
毕竟,我们不知道会有多少个具有相同极值的柱子,因此,在历史中指定移位参数没有意义。
当然,那里需要MathAbs()--我突然写的,坐在方向盘前--你不能写太多,更何况我给了它一个提示。归一化价格,因为比较实数需要归一化,而我们不是与整数比较(因为3*Point是int*double- int到double 的转换)。我还是会做一个在每个tick上比较条形的函数--我习惯于立即为真实而思考。如果EA因某种原因被禁用,存储计数器值的变量将在EA重新启动时被重置--这不是好事......它是一种数据的损失。但在热搜索的情况下(或更好地优化速度),在这种情况下重新启动专家顾问并不坏--它将重新计算一切。因此,最好是创建一个单独的函数,在每个新条形上比较给定数量的相邻条形是否相等(好吧,正如你所拥有的),并返回按给定标准相等的连续条形的数量,从第一个条形 开始,并进一步进入历史,为已传递给该函数的条形数量(每件10个...)。
一般来说,...像这样的事情...
再次寻求帮助。我怎样才能分辨出均线与价格交叉的哪一面?
如果(
iMA(Symbol(),Period(), 1, 0, MODE_SMA, PRICE_CLOSE,2) <= SMA(blah, blah, blah,2)
и
iMA(Symbol(), Period(), 1, 0, MODE_SMA, PRICE_CLOSE,1) > SMA(blah, blah, blah,1)
),那么
{ 价格在第一个柱状体上由下往上穿过你的均线}。
谢谢你,我已经发现了这个错误。
下午好,请帮助。我下载了VininI_HMA指标,并试图将其插入EA模板中,但EA并没有打开交易。汇编工作进展顺利。
卖出条件 (Sigj1==EMPTY_VALUE)&& (Sigj2!=EMPTY_VALUE)&& (Sigj1!=EMPTY_VALUE)&& (Sigj2!=EMPTY_VALUE)
买入条件 (sigj1==EMPTY_VALUE)&& (sigj2!=EMPTY_VALUE)&& (sigj1!=EMPTY_VALUE)&& (sigj2!=EMPTY_VALUE)
double sigz1 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,0,1);
double sigz2 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,0,2);
double sigz1 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,1,1);
double sigz2 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,1,2);
double sigk1 = iCustom(NULL,0," VininI_HMA_sound&Alert",period,method,price,sdvig,2,1);
double sigk2 = iCustom(NULL,0, "VininI_HMA_sound&Alert",period,method,price,sdvig,2,2);
请告诉我,我哪里做错了?