新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1444 1...143714381439144014411442144314441445144614471448144914501451...1953 新评论 Aleksei Stepanenko 2021.04.14 13:48 #14431 你可以这样做:名字的不可变部分在前面,然后是 "RED-LINE",然后是名字的可修改部分。 现在的前缀将是:名称的不可变部分加上 "RED-LINE"。 Andrei Sokolov 2021.04.14 13:56 #14432 Aleksei Stepanenko:你可以这样做:名字的不可变部分在前面,然后是 "RED-LINE",然后是名字的可修改部分。现在的前缀将是:名称的不可变部分加上 "RED-LINE"。 在那里,前面的东西也是可以改变的。到目前为止,问题到底是在名字中间 的东西。 Alexey Viktorov 2021.04.14 14:33 #14433 Andrey Sokolov:前面的东西也在变化。 问题是标题中间 到底是什么。 你不能取笑一个试图帮助你的人...... 对象是在哪里创建的?物体的名称是如何形成的? Andrei Sokolov 2021.04.14 17:35 #14434 Alexey Viktorov:你不能取笑一个试图帮助你的人...... 认可 Vitaly Muzichenko 2021.04.14 17:49 #14435 关于iMAOnArray()的问题 有一个代码,如何在mql5中应用它? double buff[1]; for(i = 0; i < counter; i++) Array[i] = 2.0 * ma(i, val) - ma(i, a); for(i = 0; i < counter - a; i++) // buf_3[i] = iMAOnArray(Array, 0, period, 0, MODE_SMMA, i); // Оригинал mql4 buf_3[i] = iMA(NULL, 0, period, 0, MODE_SMMA, PRICE_LOW); ??? CopyBuffer(10,0,i,1,buff); ??? buf_3[i] = buff[0]; prom18 2021.04.14 19:39 #14436 你好。 你能告诉我如何在EA中制作一个 "窗口",在那里你可以输入某个价格,这样EA就可以在之后的工作中使用它。(见图) 附加的文件: GBPUSDM5.png 35 kb Vitaly Muzichenko 2021.04.14 19:43 #14437 SanAlex:这里有一个方法 -- 在这里找到https://www.mql5.com/en/articles/81 我看过了,它太重了,而且没有经过优化 Artyom Trishkin 2021.04.14 19:48 #14438 SanAlex:这里有一个方法 -- 在这里找到https://www.mql5.com/en/articles/81 这不是最好的方法 Artyom Trishkin 2021.04.14 20:01 #14439 Vitaly Muzichenko:关于iMAOnArray()的问题有一个代码,如何在mql5中应用它? double buff[1]; for(i = 0; i < counter; i++) Array[i] = 2.0 * ma(i, val) - ma(i, a); for(i = 0; i < counter - a; i++) // buf_3[i] = iMAOnArray(Array, 0, period, 0, MODE_SMMA, i); // Оригинал mql4 buf_3[i] = iMA(NULL, 0, period, 0, MODE_SMMA, PRICE_LOW); ??? CopyBuffer(10,0,i,1,buff); ??? buf_3[i] = buff[0]; Array[] 应该是一个缓冲区(如果它是一个指标)。 现在看看标准包里。\MQL5\Include\MovingAverages.mqh - 有一个关于缓冲区的计算,如-MAOnBuffer()。 Vitaly Muzichenko 2021.04.14 21:13 #14440 Artyom Trishkin:数组[]必须是一个缓冲区(如果它是一个指标)。现在看一下标准包。\MQL5\Include\MovingAverages.mqh - 有一个关于缓冲区的计算,如-MAOnBuffer()。 谢谢你! 试了一下,得到一个错误,我做错了什么。 double buff[]; 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(rates_total, prev_calculated, i, period, Array_1, buff); buf_3[i] = buff[0]; } .... //+------------------------------------------------------------------+ int SmoothedMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,const int period,const double& price[],double& buffer[]) { //--- check period if(period<=1 || period>(rates_total-begin)) return(0); //--- save as_series flags bool as_series_price=ArrayGetAsSeries(price); bool as_series_buffer=ArrayGetAsSeries(buffer); ArraySetAsSeries(price,false); ArraySetAsSeries(buffer,false); //--- calculate start position int start_position; if(prev_calculated==0) { // first calculation or number of bars was changed //--- set empty value for first bars start_position=period+begin; for(int i=0; i<start_position-1; i++) buffer[i]=0.0; // array out of range (188,16) //--- calculate first visible value double first_value=0; for(int i=begin; i<start_position; i++) first_value+=price[i]; buffer[start_position-1]=first_value/period; } else start_position=prev_calculated-1; //--- main loop for(int i=start_position; i<rates_total; i++) buffer[i]=(buffer[i-1]*(period-1)+price[i])/period; //--- restore as_series flags ArraySetAsSeries(price,as_series_price); ArraySetAsSeries(buffer,as_series_buffer); //--- return(rates_total); } //+------------------------------------------------------------------+ 1...143714381439144014411442144314441445144614471448144914501451...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你可以这样做:名字的不可变部分在前面,然后是 "RED-LINE",然后是名字的可修改部分。
现在的前缀将是:名称的不可变部分加上 "RED-LINE"。
你可以这样做:名字的不可变部分在前面,然后是 "RED-LINE",然后是名字的可修改部分。
现在的前缀将是:名称的不可变部分加上 "RED-LINE"。
在那里,前面的东西也是可以改变的。到目前为止,问题到底是在名字中间 的东西。
前面的东西也在变化。 问题是标题中间 到底是什么。
你不能取笑一个试图帮助你的人......
对象是在哪里创建的?物体的名称是如何形成的?
你不能取笑一个试图帮助你的人......
认可
关于iMAOnArray()的问题
有一个代码,如何在mql5中应用它?
你好。
你能告诉我如何在EA中制作一个 "窗口",在那里你可以输入某个价格,这样EA就可以在之后的工作中使用它。(见图)
这里有一个方法 -- 在这里找到https://www.mql5.com/en/articles/81
我看过了,它太重了,而且没有经过优化
这里有一个方法 -- 在这里找到https://www.mql5.com/en/articles/81
这不是最好的方法
关于iMAOnArray()的问题
有一个代码,如何在mql5中应用它?
Array[] 应该是一个缓冲区(如果它是一个指标)。
现在看看标准包里。\MQL5\Include\MovingAverages.mqh - 有一个关于缓冲区的计算,如-MAOnBuffer()。
数组[]必须是一个缓冲区(如果它是一个指标)。
现在看一下标准包。\MQL5\Include\MovingAverages.mqh - 有一个关于缓冲区的计算,如-MAOnBuffer()。
谢谢你!
试了一下,得到一个错误,我做错了什么。