新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 332

 
Basicprof:

为什么当我从MQL5标准 库中创建arrow.Create(0, "ArrowCheck",0,TimeCurrent(),1.14565)时,该对象被创建后立即被删除。

最有可能的是,你还没有将图形对象与箭头对象断开(Detach())。
 

大家好!

我们的任务是在专家顾问中找到一个类似于rate_total的东西。

将一个阵列从一个指标转移到一个专家顾问。根据历史上的条形号码进行编号 1 -> rates_total

ArraySetAsSeries(Lx_Indikator,false);

问题是:当参数-条数与指标中的数组大小 不一致时,输出中的数值就会混在一起。

 int bars=Bars(_Symbol,_Period);
 int copy=CopyBuffer(MA_handle,0,0,bars,Lx_Expert);

虽然按照逻辑,我需要从Lx_Expert[1] 开始的数据,那么复制的数组大小并不重要,但事实证明确实如此

2017.10.09 20:35:03.055 指标(EURUSD,M5)范围=14165
2017.10.09 20:35:04.303 指标(EURUSD,M5) LxIndikator[1] 1507552800.0
2017.10.09 20:35:04.303 Indicator (EURUSD,M5) LxIndikator[2] 1.173416294117647
2017.10.09 20:35:04.304 Indicator (EURUSD,M5) LxIndikator[3] 1.0
2017.10.09 20:35:04.304 专家 (EURUSD,M5) 条数 = 14000
2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[1] 1.17194
2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[2] 14152.0

2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[3] 85.0



 
Top2n:

问题:当参数-条数与指标中的数组大小不一致时,输出的数值就会混乱。

你是否在指标和专家顾问之间同步了条数

 

你好,你能告诉我如何在订单循环中选择最后一个订单吗?

for(int i=1; i<OrdersTotal(); i++)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

如果有下一个,你就是这样选择第一个的。我如何选择最后一个订单?如果有人知道,请来信。

 
vikzip:

你好,你能告诉我如何在订单循环中选择最后一个订单吗?

如果有下一个,你就是这样选择第一个的。我如何选择最后一个订单?如果有人知道,请来信。


试着走这条路。

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

最后一个不也是这样吗?

if(OrderSelect(OrdersTotal(),SELECT_BY_POS))  
 
Aleksey Vyazmikin:

试试这个方法

最后一个不也是这样吗?

至少要正确建议...你需要OrdersTotal()-1。
 
Alexey Kozitsyn:
至少要正确建议...你需要OrdersTotal()-1。

因此,我澄清了它是否以这种方式运作;)

我不太清楚,因为我自己从来没有处理过权证--我是按部就班地工作的。

 
Aleksey Vyazmikin:

因此,我澄清了它是否以这种方式运作;)

我不太清楚,因为我自己没有处理过权证--我是按部就班地工作的。

对你和你想帮助的人来说:事情不是这样的。你会得到一个错误。

而处理它是可取的,因为它是在mql中处理所有数组的基础。

 

谢谢你的帮助!所以正确的做法是写作?

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS))                   //Выбор последнего??
   {    
 
vikzip:

谢谢你的帮助!所以正确的做法是写作?

在这里 找到你需要的代码

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...