新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 134 1...127128129130131132133134135136137138139140141...1953 新评论 Igor733 2017.02.26 11:16 #1331 测试器中的专家顾问有一个问题。我正在对1分钟的数据进行测试。我自己用分钟数据计算较高TF的随机数。自2001年以来,会议记录的历史已被下载。在 "图表 "选项卡中设置历史中的最大条数,并显示。图表上的整个历史是滚动的。问题是,正如调试打印所显示的那样,无论我从哪一天开始测试,最大的条数都是 在测试的第一条杠上的Bars变量(开始时)总是1001或1002。Bars的值在每一个下一个条形图中增加1。因此,在开始时不可能计算出更高的TF。有一个解决方案。我们应该在Bars达到理想值之前增加一个禁止交易的规定。我们能否以另一种方式解决这个问题?测试器中Bars的这个起始值是否以某种方式增加? Artyom Trishkin 2017.02.26 11:40 #1332 Igor733:测试器中的专家顾问有一个问题。我正在对1分钟的数据进行测试。我自己用分钟数据计算较高TF的随机数。自2001年以来,会议记录的历史已被下载。在 "图表 "选项卡中设置历史中的最大条数,并显示。图表上的整个历史是滚动的。问题是,正如调试打印所显示的那样,无论我从哪一天开始测试,最大的条数都是 在测试的第一条杠上的Bars变量(开始时)总是1001或1002。Bars的值在每一个下一个条形图中增加1。因此,在开始时不可能计算出更高的TF。有一个解决方案。我们应该在Bars达到理想值之前增加一个禁止交易的规定。我们能否以另一种方式解决这个问题?测试器中Bars的这个起始值是否以某种方式增加? 不,它没有。使用你自己的解决方案。 Vera Burdyuzh 2017.02.26 15:02 #1333 可能是什么问题。在编写EA时,我必须多次测试以跟踪变化。在随机的测试次数之后,策略测试员不接受对代码所做的修改。它有时会到了荒谬的地步。你可以简单地删除一段代码,猫头鹰就会按照前面写的算法在测试器中工作。在将计算结果解析为CSV时也会发生同样的情况。 在经过一定数量的测试后,一些随机的垃圾被解析为CSV。 P.S. 我按下了编译按钮。 zsu1970 2017.02.26 17:28 #1334 我真的需要了解计算平滑移动平均线的算法。 有几个原因导致iMA函数不适合。 正如我从https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma#smma 中所理解的信息 第一个要素的计算方法是收盘价之和除以周期。 以下是根据公式SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N 计算。 让我们以5为周期,从2017年2月24日19:00到2017年2月24日23:00(GMT+2)即最后5根蜡烛的欧元/美元H1的收盘价为例 收盘价为1.05681;1.05702;1.05639;1.05612;1.05592。 相应地,第一元素 - 1.056452;第二元素 - 1.056852 第三元素 - 1.05676 第四元素 - 1.056632 第五元素 -1.056489 但在SMMA 5图表上,收盘价是1.05706,也就是说,差值已经是第三位数了。 我算错了什么? 我应该如何正确计算才能得到1.05706? Any questions from newcomers 机器学习和交易中的元模型:交易订单的原始时序 计算赫斯特指数 Vitaly Muzichenko 2017.02.26 17:57 #1335 zsu1970:我真的需要了解计算平滑移动平均线的算法。 有几个原因导致iMA函数不适合。 正如我从https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma#smma 中所理解的信息 第一个要素的计算方法是收盘价之和除以周期。 以下是根据公式SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N 计算。 让我们把周期等于5,欧元/美元H1的收盘价从2017年2月24日19:00到2017年2月24日23:00(GMT+2),即最后5根蜡烛的价格。 收盘价为1.05681;1.05702;1.05639;1.05612;1.05592。 相应地,第一元素 - 1.056452;第二元素 - 1.056852 第三元素 - 1.05676 第四元素 - 1.056632 第五元素 -1.056489 但在SMMA 5图表上,收盘价是1.05706,也就是说,差值已经是第三位数了。 我算错了什么? 我应该如何正确计算才能得到1.05706? 研究一下指标 本身,会更有意义。 Mist13 2017.02.26 21:25 #1336 Aleksey Maryaskin:开发人员先生们!大家好。我对一个问题感兴趣,就是在创建专家顾问模板(脚本)时如何创建。是否可以在某个地方进行编辑,如何进行编辑? 这里的直接链接可能无法获得通过......你可以在谷歌上搜索 "我将在这个线程中发布MQL4课程"(不带引号)。 搜索 "模板"(我想它在第二页)。 zsu1970 2017.02.27 12:08 #1337 Vitaly Muzichenko: 看一下指标 本身,会更有意义。 看了一下,与我给的链接中的内容相同。 double SMMA(int period){//用收盘价填充数组 int k=period。 for(int i=1; i<=period; i++){ H1_Close[i]=Close[k];// Print("H1_Close [",i,"] " ,H1_Close[i], " Close [",k,"] " ,Close[k])。 k--;}//计算第一个元素为平均收盘价 double Summ=0。 for (int i=1; i<=period;i++) Summ=Summ+H1_Close[i]; //SUM1 = SUM(CLOSE, N) double TmpSMMA=Summ/period; //SMMA1 = SUM1/N//计算第i个元素:SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N for(int i=2;i<=period;i++) TmpSMMA=(TmpSMMA*(period-1)+H1_Close[i])/period。} 其结果仍然与终端的指标数据有很大不同。为什么? Any questions from newcomers iMACD smma ? Alexey Viktorov 2017.02.27 12:50 #1338 zsu1970:我真的需要了解计算平滑移动平均线的算法。 有几个原因导致iMA函数不适合。 正如我从https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma#smma 中所理解的信息 第一个要素的计算方法是收盘价之和除以周期。 以下是根据公式SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N 计算。 让我们以5为周期,从2017年2月24日19:00到2017年2月24日23:00(GMT+2)即过去5根蜡烛的欧元/美元H1的收盘价为例 收盘价为1.05681;1.05702;1.05639;1.05612;1.05592。 相应地,第一元素 - 1.056452;第二元素 - 1.056852 第三元素 - 1.05676 第四元素 - 1.056632 第五元素 -1.056489 但在SMMA 5图表上,收盘价是1.05706,也就是说,差值已经是第三位数了。 我算错了什么? 我应该如何正确计算才能得到1.05706? 因此,在包容尼克中有一个计算算法。 zsu1970 2017.02.27 13:50 #1339 Alexey Viktorov: 嵌合器中有一个计算算法。 因此,我似乎做了计算中的一切,但结果却没有出来。第4天,我搞不清楚了。 我写了Vitaly Muzichenko 答案中的函数代码,但我不知道错误在哪里 Vitaly Muzichenko 2017.02.27 14:04 #1340 zsu1970: 所以我似乎在做计算中的一切,但结果却没有出来。我坐在这里已经是第四天了,但还是想不明白。 我写了Vitaly Muzichenko 答案中的函数代码,但我不知道错误在哪里 你是马上把价格放进去,还是拿到价格后再粘贴到计算中? 1...127128129130131132133134135136137138139140141...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
测试器中的专家顾问有一个问题。我正在对1分钟的数据进行测试。我自己用分钟数据计算较高TF的随机数。
自2001年以来,会议记录的历史已被下载。在 "图表 "选项卡中设置历史中的最大条数,并显示。
图表上的整个历史是滚动的。
问题是,正如调试打印所显示的那样,无论我从哪一天开始测试,最大的条数都是
在测试的第一条杠上的Bars变量(开始时)总是1001或1002。Bars的值在每一个下一个条形图中增加1。
因此,在开始时不可能计算出更高的TF。
有一个解决方案。我们应该在Bars达到理想值之前增加一个禁止交易的规定。
我们能否以另一种方式解决这个问题?测试器中Bars的这个起始值是否以某种方式增加?
测试器中的专家顾问有一个问题。我正在对1分钟的数据进行测试。我自己用分钟数据计算较高TF的随机数。
自2001年以来,会议记录的历史已被下载。在 "图表 "选项卡中设置历史中的最大条数,并显示。
图表上的整个历史是滚动的。
问题是,正如调试打印所显示的那样,无论我从哪一天开始测试,最大的条数都是
在测试的第一条杠上的Bars变量(开始时)总是1001或1002。Bars的值在每一个下一个条形图中增加1。
因此,在开始时不可能计算出更高的TF。
有一个解决方案。我们应该在Bars达到理想值之前增加一个禁止交易的规定。
我们能否以另一种方式解决这个问题?测试器中Bars的这个起始值是否以某种方式增加?
P.S. 我按下了编译按钮。
我真的需要了解计算平滑移动平均线的算法。 有几个原因导致iMA函数不适合。
正如我从https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma#smma 中所理解的信息
第一个要素的计算方法是收盘价之和除以周期。
以下是根据公式SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N 计算。
让我们以5为周期,从2017年2月24日19:00到2017年2月24日23:00(GMT+2)即最后5根蜡烛的欧元/美元H1的收盘价为例
收盘价为1.05681;1.05702;1.05639;1.05612;1.05592。
相应地,第一元素 - 1.056452;第二元素 - 1.056852 第三元素 - 1.05676 第四元素 - 1.056632 第五元素 -1.056489
但在SMMA 5图表上,收盘价是1.05706,也就是说,差值已经是第三位数了。
我算错了什么?
我应该如何正确计算才能得到1.05706?
我真的需要了解计算平滑移动平均线的算法。 有几个原因导致iMA函数不适合。
正如我从https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma#smma 中所理解的信息
第一个要素的计算方法是收盘价之和除以周期。
以下是根据公式SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N 计算。
让我们把周期等于5,欧元/美元H1的收盘价从2017年2月24日19:00到2017年2月24日23:00(GMT+2),即最后5根蜡烛的价格。
收盘价为1.05681;1.05702;1.05639;1.05612;1.05592。
相应地,第一元素 - 1.056452;第二元素 - 1.056852 第三元素 - 1.05676 第四元素 - 1.056632 第五元素 -1.056489
但在SMMA 5图表上,收盘价是1.05706,也就是说,差值已经是第三位数了。
我算错了什么?
我应该如何正确计算才能得到1.05706?
开发人员先生们!大家好。我对一个问题感兴趣,就是在创建专家顾问模板(脚本)时如何创建。是否可以在某个地方进行编辑,如何进行编辑?
看一下指标 本身,会更有意义。
double SMMA(int period)
{
//用收盘价填充数组
int k=period。
for(int i=1; i<=period; i++)
{
H1_Close[i]=Close[k];
// Print("H1_Close [",i,"] " ,H1_Close[i], " Close [",k,"] " ,Close[k])。
k--;
}
//计算第一个元素为平均收盘价
double Summ=0。
for (int i=1; i<=period;i++)
Summ=Summ+H1_Close[i]; //SUM1 = SUM(CLOSE, N)
double TmpSMMA=Summ/period; //SMMA1 = SUM1/N
//计算第i个元素:SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N
for(int i=2;i<=period;i++)
TmpSMMA=(TmpSMMA*(period-1)+H1_Close[i])/period。
}
其结果仍然与终端的指标数据有很大不同。为什么?
我真的需要了解计算平滑移动平均线的算法。 有几个原因导致iMA函数不适合。
正如我从https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma#smma 中所理解的信息
第一个要素的计算方法是收盘价之和除以周期。
以下是根据公式SMMA(i)=(SMMA(i-1)*(N-1)+CLOSE(i))/N 计算。
让我们以5为周期,从2017年2月24日19:00到2017年2月24日23:00(GMT+2)即过去5根蜡烛的欧元/美元H1的收盘价为例
收盘价为1.05681;1.05702;1.05639;1.05612;1.05592。
相应地,第一元素 - 1.056452;第二元素 - 1.056852 第三元素 - 1.05676 第四元素 - 1.056632 第五元素 -1.056489
但在SMMA 5图表上,收盘价是1.05706,也就是说,差值已经是第三位数了。
我算错了什么?
我应该如何正确计算才能得到1.05706?
嵌合器中有一个计算算法。
我写了Vitaly Muzichenko 答案中的函数代码,但我不知道错误在哪里
所以我似乎在做计算中的一切,但结果却没有出来。我坐在这里已经是第四天了,但还是想不明白。
我写了Vitaly Muzichenko 答案中的函数代码,但我不知道错误在哪里