新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1448 1...144114421443144414451446144714481449145014511452145314541455...1953 新评论 [删除] 2021.04.15 16:53 #14471 Alexey Viktorov:嗯,谢谢你......至少我看到了六年前的自己......我就像你现在这样。我没有考虑以错误的方式提供建议。至于模板:如果模板有一个指标,但没有EA,那么模板将在没有EA的情况下被加载......如果模板有一个EA呢?你确定在模板上加载的EA不会应用模板,从而会修复并挂起终端? 它没有--一切都很正常! Alexey Viktorov 2021.04.15 16:57 #14472 SanAlex:我没有任何挂念--一切都很正常!"。 不要像我一样懒惰。把这种操作拍成视频:-))) Artyom Trishkin 2021.04.15 19:10 #14473 Vitaly Muzichenko:现在我来到了调试mt4中的 "SmoothedMAOnBuffer() "结构。怎么了,我一点都不明白。 我已经写了一百遍了--把函数从循环中删除。 而不是这种废话。 ArrayResize(buff, counter); for(i = 0; i < counter; i++) Array_1[i] = 2.0 * ma_1(i, val_1) - ma_1(i, a); for(i = 0; i < counter - a; i++) { // buf_3[i] = iMAOnArray(Array_1, 0, period, 0, MODE_SMMA, i); // Так индикатор работает SmoothedMAOnBuffer(counter, prev_calculated, i, period, Array_1, buff); Совсем не работает, но и ошибок в журнале нет buf_3[i] = buff[0]; ??? } for(i = counter - a; i > 0; i--) { Array_2[i] = Array_2[i + 1]; 像这样写。 ArrayResize(buff, counter); for(i = 0; i < counter; i++) Array_1[i] = 2.0 * ma_1(i, val_1) - ma_1(i, a); if(SmoothedMAOnBuffer(counter, prev_calculated, i, period, Array_1, buff)==0) return 0; for(i = counter - a; i > 0; i--) { Array_2[i] = Array_2[i + 1]; 我告诉你--这个函数的调用是Array中平滑数据的一个完整循环。这个数组的平滑数据将在buff数组中--只要进一步从中提取你需要的平滑数据。 [删除] 2021.04.15 19:45 #14474 Alexey Viktorov:不要像我一样懒惰。把这种操作拍成视频:-))) 这里有一个遗憾--我以前没有访问过你的资料。你那里有这么好的代码。我真的很喜欢这个。https://www.mql5.com/ru/code/16396 TralingLine www.mql5.com Виртуальный Stop Loss или Trailing Stop. Vitaly Muzichenko 2021.04.15 22:40 #14475 Artyom Trishkin:我已经告诉过你一百次了--把这个函数从循环中删除。而不是这种废话。这样写 吧。我告诉你--调用这个函数是在Array中平滑数据的一个完整周期。这个数组的平滑数据将在buff数组中--只要进一步从中提取你需要的平滑数据。 谢谢你!,它的作用。 SmoothedMAOnBuffer(rates_total, prev_calculated, count, period, Array_1, buf_3); 我不明白它是如何工作的,我现在试着弄清楚。 Vitaly Muzichenko 2021.04.16 02:43 #14476 Artyom Trishkin:我已经告诉过你一百次了--把这个函数从循环中删除。而不是这种废话。这样写 吧。我告诉你--调用这个函数是在Array中平滑数据的一个完整周期。这个数组的平滑数据将在buff数组中--只要再进一步,从中提取你需要的平滑数据。 我无论如何也没能把它全部应用,我花了4个多小时。 刚开始时显示正确,然后没有刷新--它冻结了,而标准的则工作正常。 double Array_1[]; double Array_2[]; int i=0; int period = (int)MathFloor(MathSqrt(a)); int val = (int)MathFloor(a / 1.9); int bars=rates_total; int counter = bars - prev_calculated + a + 1; if(counter > bars) counter = bars; ArrayResize(Array_1, counter); ArraySetAsSeries(Array_1, true); ArrayResize(Array_2, counter); ArraySetAsSeries(Array_2, true); for(i = 0; i < counter; i++) Array_1[i] = 2.0 * ma_1(i, val) - ma_1(i, a); // for(i = 0; i < counter - a; i++) // buf_3[i] = iMAOnArray(Array_1, 0, period, 0, MODE_SMMA, i); SmoothedMAOnBuffer(rates_total, prev_calculated, prev_calculated, period, Array_1, buf_3); // Где-то здесь не правильно вписаны параметры --- 我必须要参加什么活动? 在MT5中,它根本不显示任何东西。 附加的文件: test.mq4 13 kb Artyom Trishkin 2021.04.16 06:34 #14477 Vitaly Muzichenko:无论如何也不能全部应用,花了4个多小时。第一次启动时显示正确,然后没有更新 - 冻结,在标准状态下工作正常。---我必须要参加什么活动?我不知道MT5中发生了什么。 你能解释一下你想得到的结果是什么吗? 你的指标是按照你需要的方式建立的,你需要告诉人们如何不这样做:) 绘制的和计算的缓冲区都是混在一起的。计算出来的应该是最后一个--不幸的是,你不能随意混合它们。 它对5不适用,因为5中的ma_1()函数将返回一个句柄,而不是一个MA值。 在SmoothedMAOnBuffer()函数中,你传递了prev_calculated 而不是数组中有意义的数据的开头-- 为什么?你需要在这里传递最小值0,和最大值--一个取决于Array_1中存储的MA数据的计算周期的计算值--好吧,至少是周期 在选择绘制哪种颜色的区块中,你有一个逻辑错误--你覆盖了缓冲区--只要在括号外放一个空白值即可。你检查条件,但在真理的情况下应该做什么被放出括号。也就是说,它总是被执行。这是括号排列习惯的结果--当它们的位置不明显时。 Array_1和Array_2 - 为什么它们不是计算的缓冲区? 总而言之--有很多问题。 a 变量的值被严格设定。为什么要在每个刻度 上计算变量val 的值? 为两个变量做两个计算缓冲区,在OnInit()中用周期a和val计算。从这些缓冲区和取值--那么它将在两个平台上工作。 Vitaly Muzichenko 2021.04.16 12:30 #14478 Artyom Trishkin:你能用语言表达出你想要的结局吗?你的指标是按照你需要的方式建立的,你需要告诉人们如何不这样做:)绘图和计算缓冲区都混在一起。计算过的应该是最后一个--不幸的是,你不能随意地混合它们。它对5不适用,因为5中的ma_1()函数将返回一个句柄,而不是一个MA值。在SmoothedMAOnBuffer()函数中,你传递了prev_calculated 而不是数组中有意义的数据的开始-- 为什么?你需要在那里传递最小值0,和最大值--一个取决于Array_1中存储的MA数据的计算周期的计算值--好吧,至少是周期在选择绘制哪种颜色的区块中,你有一个逻辑错误--你覆盖了缓冲区--只要在括号外放一个空白值即可。你有一个条件,在真理的情况下,应该做什么被放出了括号。也就是说,它总是被执行。这是括号排列习惯的结果--当它们的位置不明显的时候。Array_1和Array_2 - 为什么它们不是计算的缓冲区?总而言之--有很多问题。 a 变量的值被严格设定。为什么要在每个刻度 上计算变量val 的值? 为两个变量做两个计算缓冲区,在OnInit()中用周期a和val计算。从这些缓冲区和取值--那么它将在两个平台上工作。如果我知道解决方案,我就不会写了。这个指标不是我的,我甚至没有看过iMAOnArray()下面的内容,整个任务只是用一些东西来替换iMAOnArray()。能否给我一个工作实例,说明应该怎样做?谢谢! P.S. 对于mt5的手柄是好的 附加的文件: max.mq5 14 kb Artyom Trishkin 2021.04.16 13:24 #14479 Vitaly Muzichenko:能否给我一个工作实例,说明应该怎样做? 一个什么的工作实例?一个来自四区的指标在五区发挥作用?然后给我一个完全工作的指标,从四开始。 或者一个如何使用SmoothedMAOnBuffer()函数的例子? Vitaly Muzichenko 2021.04.16 13:48 #14480 Artyom Trishkin:一个什么的工作实例?一个来自四区的指标在五区发挥作用?然后给我一个完全工作的指标,从四开始。或者一个如何使用SmoothedMAOnBuffer()函数的例子? 一个来自mt4的工作例子,标准的iMAOnArray正在更新,但SmoothedMAOnBuffer在第一次运行时是好的,然后没有更新。 我需要一个使用SmoothedMAOnBuffer()工作的例子 附加的文件: test.mq4 17 kb 1...144114421443144414451446144714481449145014511452145314541455...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗯,谢谢你......至少我看到了六年前的自己......我就像你现在这样。我没有考虑以错误的方式提供建议。
至于模板:如果模板有一个指标,但没有EA,那么模板将在没有EA的情况下被加载......如果模板有一个EA呢?你确定在模板上加载的EA不会应用模板,从而会修复并挂起终端?
它没有--一切都很正常!
我没有任何挂念--一切都很正常!"。
不要像我一样懒惰。把这种操作拍成视频:-)))
现在我来到了调试mt4中的 "SmoothedMAOnBuffer() "结构。
怎么了,我一点都不明白。
我已经写了一百遍了--把函数从循环中删除。
而不是这种废话。
像这样写。
我告诉你--这个函数的调用是Array中平滑数据的一个完整循环。这个数组的平滑数据将在buff数组中--只要进一步从中提取你需要的平滑数据。
不要像我一样懒惰。把这种操作拍成视频:-)))
这里有一个遗憾--我以前没有访问过你的资料。你那里有这么好的代码。我真的很喜欢这个。https://www.mql5.com/ru/code/16396
我已经告诉过你一百次了--把这个函数从循环中删除。
而不是这种废话。
这样写 吧。
我告诉你--调用这个函数是在Array中平滑数据的一个完整周期。这个数组的平滑数据将在buff数组中--只要进一步从中提取你需要的平滑数据。
谢谢你!,它的作用。
我不明白它是如何工作的,我现在试着弄清楚。
我已经告诉过你一百次了--把这个函数从循环中删除。
而不是这种废话。
这样写 吧。
我告诉你--调用这个函数是在Array中平滑数据的一个完整周期。这个数组的平滑数据将在buff数组中--只要再进一步,从中提取你需要的平滑数据。
我无论如何也没能把它全部应用,我花了4个多小时。
刚开始时显示正确,然后没有刷新--它冻结了,而标准的则工作正常。
---
我必须要参加什么活动?
在MT5中,它根本不显示任何东西。
无论如何也不能全部应用,花了4个多小时。
第一次启动时显示正确,然后没有更新 - 冻结,在标准状态下工作正常。
---
我必须要参加什么活动?
我不知道MT5中发生了什么。
你能解释一下你想得到的结果是什么吗?
你的指标是按照你需要的方式建立的,你需要告诉人们如何不这样做:)
绘制的和计算的缓冲区都是混在一起的。计算出来的应该是最后一个--不幸的是,你不能随意混合它们。
它对5不适用,因为5中的ma_1()函数将返回一个句柄,而不是一个MA值。
在SmoothedMAOnBuffer()函数中,你传递了prev_calculated 而不是数组中有意义的数据的开头-- 为什么?你需要在这里传递最小值0,和最大值--一个取决于Array_1中存储的MA数据的计算周期的计算值--好吧,至少是周期
在选择绘制哪种颜色的区块中,你有一个逻辑错误--你覆盖了缓冲区--只要在括号外放一个空白值即可。你检查条件,但在真理的情况下应该做什么被放出括号。也就是说,它总是被执行。这是括号排列习惯的结果--当它们的位置不明显时。
Array_1和Array_2 - 为什么它们不是计算的缓冲区?
总而言之--有很多问题。
a 变量的值被严格设定。为什么要在每个刻度 上计算变量val 的值?
为两个变量做两个计算缓冲区,在OnInit()中用周期a和val计算。从这些缓冲区和取值--那么它将在两个平台上工作。
你能用语言表达出你想要的结局吗?
你的指标是按照你需要的方式建立的,你需要告诉人们如何不这样做:)
绘图和计算缓冲区都混在一起。计算过的应该是最后一个--不幸的是,你不能随意地混合它们。
它对5不适用,因为5中的ma_1()函数将返回一个句柄,而不是一个MA值。
在SmoothedMAOnBuffer()函数中,你传递了prev_calculated 而不是数组中有意义的数据的开始-- 为什么?你需要在那里传递最小值0,和最大值--一个取决于Array_1中存储的MA数据的计算周期的计算值--好吧,至少是周期
在选择绘制哪种颜色的区块中,你有一个逻辑错误--你覆盖了缓冲区--只要在括号外放一个空白值即可。你有一个条件,在真理的情况下,应该做什么被放出了括号。也就是说,它总是被执行。这是括号排列习惯的结果--当它们的位置不明显的时候。
Array_1和Array_2 - 为什么它们不是计算的缓冲区?
总而言之--有很多问题。
a 变量的值被严格设定。为什么要在每个刻度 上计算变量val 的值?
为两个变量做两个计算缓冲区,在OnInit()中用周期a和val计算。从这些缓冲区和取值--那么它将在两个平台上工作。
如果我知道解决方案,我就不会写了。
这个指标不是我的,我甚至没有看过iMAOnArray()下面的内容,整个任务只是用一些东西来替换iMAOnArray()。
能否给我一个工作实例,说明应该怎样做?
谢谢!
P.S. 对于mt5的手柄是好的能否给我一个工作实例,说明应该怎样做?
一个什么的工作实例?一个来自四区的指标在五区发挥作用?然后给我一个完全工作的指标,从四开始。
或者一个如何使用SmoothedMAOnBuffer()函数的例子?
一个什么的工作实例?一个来自四区的指标在五区发挥作用?然后给我一个完全工作的指标,从四开始。
或者一个如何使用SmoothedMAOnBuffer()函数的例子?
一个来自mt4的工作例子,标准的iMAOnArray正在更新,但SmoothedMAOnBuffer在第一次运行时是好的,然后没有更新。
我需要一个使用SmoothedMAOnBuffer()工作的例子