新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 325 1...318319320321322323324325326327328329330331332...1953 新评论 Mikhail Toptunov 2017.10.01 11:21 #3241 来帮助我吧。任务是找到 数组[]中的最小 元素。//+------------------------------------------------------------------+ //| Получим Lowest для заданного промежутка | //+------------------------------------------------------------------+ double iLowMin(int ot,int bands,double &buffer[]) { double result=-1; result=buffer[ArrayMinimum(buffer,ot,bands)]; return(result); } //+------------------------------------------------------------------+ //| Получим High для заданного номера бара | //+------------------------------------------------------------------+ double iHighMax(int ot,int bands,double &buffer[]) { double result=-1; result=buffer[ArrayMaximum(buffer,ot,bands)]; return(result); } 问题是解决了,但最低限度的问题却让我很难受。尝试了所有的方法,输入数组都被填满了--通过调试查看,该怎么做?Print("DwMin ",iLowMin(rates_total-50,49,ExtLowerBuffer));也许有一些细微的差别?通过以下方式宣布 SetIndexBuffer(1,ExtLowerBuffer,INDICATOR_DATA); Nauris Zukas 2017.10.01 12:02 #3242 Top2n:来帮助我吧。任务是找到 数组[]中的最小 元素。问题是解决了,但最低限度的问题却让我很难受。尝试了所有的方法,输入数组都被填满了--通过调试查看,该怎么做?也许有一些细微的差别?通过以下方式宣布尝试ArraySort并检查第一个索引的输出。 Mikhail Toptunov 2017.10.01 12:16 #3243 这么说来,我一放弃这个问题,就开始想出一个预感:我的数组里有0,所以它给出的min=0,但是还有一些部分的值是非零的,min还是0,好吧,上帝帮助我,这个问题偏了))感谢那些刚看完这个问题的人,noosphere给了你 Mikhail Toptunov 2017.10.01 12:22 #3244 注意问题))我如何在指标中设置开始处理的条形?if(prev_calculated>rates_total-Bmax) { ... то что нужно обрабатывать начиная с бара[rates_total-Bmax]}试了一下,结果是指标根本没有任何动作。 vikzip 2017.10.01 17:04 #3245 又见面了,请你告诉我,如果我知道一个数组元素的 索引,用哪个函数来查出它的值?int Totall=OrdersTotal()。double Price; // 所选订单的价格double Mas[]; //数组,用于将所有订单按顺序排列。for(int i=0; i<OrdersTotal(); i++) //顺序循环{if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS)){Price=OrderOpenPrice(); //用价格填充数组Mas[i] = Price;}}ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // 现在开盘价按降序排列。int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) //确定与当前价格最接近的元素的索引。 Any questions from newcomers 编码帮助 Arraybsearch problem Artyom Trishkin 2017.10.01 18:04 #3246 Nauris Zukas:正如我在学习课程之前遇到的那样,同样有一些细微的差别没有在文章中描述,或者隐藏在某个地方,不可能通过搜索引擎找到。整整一天都在徒劳地寻找解释。例如,这个符号意味着什么,如果不这样做会有什么影响。正如下面stati 的例子中所看到的,先是有,后是没有:&另外,不清楚这个符号是什么意思:~。mql4, mql5函数总是只通过引用传递一个数组(& == ampersand)。首先--在一个函数的正式参数中--有一个安培号,表示传入函数的不是数组本身,而是一个链接。然后--在函数里面--你已经在使用引用了,这意味着你不必再指定它。省略号(~)写在类的析构器名称前--构造函数和析构器的名称与类本身相同,但析构器有~。请阅读这篇文章,了解何时使用引用,何时使用指针。虽然,你仍然需要阅读基础知识。 Artyom Trishkin 2017.10.01 18:06 #3247 vikzip:又见面了,请你告诉我,如果我知道一个数组元素的 索引,用哪个函数来查出它的值?int Totall=OrdersTotal()。double Price; // 所选订单的价格double Mas[]; //数组,用于将所有订单按顺序排列。for(int i=0; i<OrdersTotal(); i++) //顺序循环{if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS)){Price=OrderOpenPrice(); //用价格填充数组Mas[i] = Price;}}ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // 现在开盘价按降序排列。int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) //确定与当前价格最接近的元素的索引。Value_element_array = Array[index]; Fernando91 2017.10.01 18:45 #3248 请指教,我有一个EA,我一直在工作时在一台普通的电脑上测试它,windows hp。一切工作都很正常,等等。我回到家,在家里的笔记本电脑上,用同样的参数在同样的工具上用同样的时间框架显示出完全不同的结果,有什么建议或想法,为什么这样? vikzip 2017.10.01 19:09 #3249 Artyom Trishkin:Array_element_value = Array[index];谢谢,现在有了一个新的问题。当写入以下条件时,出现了错误'PriceBlizko1'--未声明的标识符。请解释一下原因?双倍价格。// 所选订单的价格双倍Mas[]。//数组来安排所有的订单for(int i=0; i<OrdersTotal(); i++) // 订单循环{if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS)){价格=OrderOpenPrice()。//用价格填充数组Mas[i] = Price;}}ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // 现在开盘价是按降序排列的。int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND); //确定与当前价格价值最接近的元素的索引。double PriceBlizko1=Mas[Blizko1];}如果(PriceBlizko1-Bid>=30*Point) //如果下单超过30点!!!!!!,在这个STREET!!!!!。OrderSend(Symbol(),OP_SELL,LtsS,Bid,2,0,Bid+30*Point); //打开卖单警告(GetLastError())。//错误信息。 Any questions from newcomers [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 Vitaly Muzichenko 2017.10.01 19:13 #3250 vikzip:使用按钮来插入代码! 1...318319320321322323324325326327328329330331332...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
来帮助我吧。
任务是找到 数组[]中的最小 元素。
问题是解决了,但最低限度的问题却让我很难受。尝试了所有的方法,输入数组都被填满了--通过调试查看,该怎么做?
也许有一些细微的差别?
通过以下方式宣布
来帮助我吧。
任务是找到 数组[]中的最小 元素。
问题是解决了,但最低限度的问题却让我很难受。尝试了所有的方法,输入数组都被填满了--通过调试查看,该怎么做?
也许有一些细微的差别?
通过以下方式宣布
尝试ArraySort并检查第一个索引的输出。
这么说来,我一放弃这个问题,就开始想出一个预感:我的数组里有0,所以它给出的min=0,但是还有一些部分的值是非零的,min还是0,好吧,上帝帮助我,这个问题偏了))感谢那些刚看完这个问题的人,noosphere给了你
注意问题))
我如何在指标中设置开始处理的条形?
if(prev_calculated>rates_total-Bmax)
{ ... то что нужно обрабатывать начиная с бара[rates_total-Bmax]
}
试了一下,结果是指标根本没有任何动作。
又见面了,请你告诉我,如果我知道一个数组元素的 索引,用哪个函数来查出它的值?
int Totall=OrdersTotal()。
double Price; // 所选订单的价格
double Mas[]; //数组,用于将所有订单按顺序排列。
for(int i=0; i<OrdersTotal(); i++) //顺序循环
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{Price=OrderOpenPrice(); //用价格填充数组
Mas[i] = Price;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // 现在开盘价按降序排列。
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) //确定与当前价格最接近的元素的索引。
正如我在学习课程之前遇到的那样,同样有一些细微的差别没有在文章中描述,或者隐藏在某个地方,不可能通过搜索引擎找到。整整一天都在徒劳地寻找解释。例如,这个符号意味着什么,如果不这样做会有什么影响。正如下面stati 的例子中所看到的,先是有,后是没有:&
另外,不清楚这个符号是什么意思:~。
mql4, mql5函数总是只通过引用传递一个数组(& == ampersand)。
首先--在一个函数的正式参数中--有一个安培号,表示传入函数的不是数组本身,而是一个链接。然后--在函数里面--你已经在使用引用了,这意味着你不必再指定它。
省略号(~)写在类的析构器名称前--构造函数和析构器的名称与类本身相同,但析构器有~。
请阅读这篇文章,了解何时使用引用,何时使用指针。
虽然,你仍然需要阅读基础知识。
又见面了,请你告诉我,如果我知道一个数组元素的 索引,用哪个函数来查出它的值?
int Totall=OrdersTotal()。
double Price; // 所选订单的价格
double Mas[]; //数组,用于将所有订单按顺序排列。
for(int i=0; i<OrdersTotal(); i++) //顺序循环
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{Price=OrderOpenPrice(); //用价格填充数组
Mas[i] = Price;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // 现在开盘价按降序排列。
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) //确定与当前价格最接近的元素的索引。
Value_element_array = Array[index];
请指教,我有一个EA,我一直在工作时在一台普通的电脑上测试它,windows hp。一切工作都很正常,等等。
我回到家,在家里的笔记本电脑上,用同样的参数在同样的工具上用同样的时间框架显示出完全不同的结果,有什么建议或想法,为什么这样?
Array_element_value = Array[index];
谢谢,现在有了一个新的问题。当写入以下条件时,出现了错误'PriceBlizko1'--未声明的标识符。请解释一下原因?
双倍价格。// 所选订单的价格
双倍Mas[]。//数组来安排所有的订单
for(int i=0; i<OrdersTotal(); i++) // 订单循环
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{
价格=OrderOpenPrice()。//用价格填充数组
Mas[i] = Price;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // 现在开盘价是按降序排列的。
int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND); //确定与当前价格价值最接近的元素的索引。
double PriceBlizko1=Mas[Blizko1];
}
如果(PriceBlizko1-Bid>=30*Point) //如果下单超过30点!!!!!!,在这个STREET!!!!!。
OrderSend(Symbol(),OP_SELL,LtsS,Bid,2,0,Bid+30*Point); //打开卖单
警告(GetLastError())。//错误信息。
使用按钮来插入代码!