错误、漏洞、问题 - 页 289

 
只有日志 - 重新评级不会影响专家顾问的性能。
等。

以下是EA中的代码(尝试了许多函数来确定指标线 0的平等性)。

我选了最简单的一个。

if (Sp3Buffer[20]!=0 && Sp3Buffer[21]!=0 && Sp3Buffer[22]!=0 && Sp3Buffer[23]!=0 && Sp3Buffer[24]!=0)

这里我们有指标线的值,来自测试员的日志,通过打印

[20]=34.40035703438407[21]=35.93782852396674[22]=35.97127995180715[23]=30.49164953708304[24]=32.90441573888087

没有零,但看一下指标--一个明显的零--以及在值中

的指标也为零。

搞什么鬼?

 

这就是在图形上执行更新命令后在日志中出现的那种胡言乱语。

2011.02.03 02:24:51 HistoryBase '#IBM' 1个无效条被移除
2011.02.03 02:24:50 HistoryBase '#IBM' 1个无效条被移除
2011.02.03 02:24:49 HistoryBase '#IBM' 1个无效条被移除
2011.02.03 02:24:48 HistoryBase '#IBM' 1个无效条被移除
2011.02.03 02:24:47 HistoryBase '#IBM' 1个无效条被移除
2011.02.03 02:24:46 HistoryBase '#IBM' 1个无效条被移除

等等,每秒钟都有。

TF 哨兵

 
alexluek:
只有日志 - 重新评级不会影响专家顾问的性能。
等。

以下是EA中的代码(尝试了许多函数来确定指标线 0的平等性)。

我选了最简单的一个。

这里我们有指标线的值,来自测试员的日志,通过打印

没有零,但看一下指标--一个明显的零--以及在值中

的指标也为零。

搞什么鬼?

你是不是忘了把阵列倒过来?
 
sergey1294:
你是不是忘了把阵列倒过来?
索引的反向顺序在指标和专家顾问中都有设置,但我不知道哪里出了问题。谢谢你
 

有趣的是,事实证明,不同电脑上的同一个专家顾问从不同地方向图表添加模板。

在1台电脑上从MetaTrader 5/Profiles/Templates中下载。

在2台电脑上从MetaTrader 5\MQL5\Files

ChartApplyTemplate(handle_Chart, "Sova15_30.tpl")中添加一行。

怎么了,谁能帮我搞清楚?

 
你能告诉我如何获得最后一次位置变化 的时间吗?
 
beginner:

你能告诉我如何获得最后一次位置变化的时间吗?
https://www.mql5.com/ru/articles/138 找到 myposition.Time() there
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
beginner:

你能告诉我如何获得最后一次位置变化的时间吗?

确定该符号上的哪笔交易是最后一笔。

你可以在OnTrade()或历史记录中抓住它。

巨魔
https://www.mql5.com/ru/articles/138 找到 myposition.Time() there

如果我没记错的话,这就是开仓时间的返回方式(也就是说,据我所知,它将返回第一笔开仓交易的时间)。

至于提到的文章,myhistorymydeal 可能是有用的(也许其他东西会适合)

 
Interesting:

确定该符号的哪个交易是最后一次。

你可以在OnTrade()或历史记录中抓住它。

如果我没记错的话,开仓时间 就是这样返回的(也就是说,就我的理解,返回的是第一笔交易的时间,也就是开仓的时间)。
是的,这就是问题所在,即我们需要找到所需工具的最后一笔交易并获得其时间,你能更简单地做到这一点吗?
 
beginner:
是的,这就是问题所在,即有必要找到所需符号的最后一笔交易,并获得其时间,但要用一种更简单的方式?

你是对某一特定职位感兴趣(符号和它的Id是已知的),还是对所有职位的一般情况感兴趣?

如果你只是翻看历史和分析交易(使用mydeal),那么大约如此。

1.我们获得这一时期的交易 总数,通过它们,只选择那些符号和/或参与形成头寸的交易。

if (HistorySelect(0,TimeCurrent()))
ulong d_ticket; // deal ticket
{
// Получить общее количество сделок в истории
int tot_deals = HistoryDealsTotal();

  for(int j=0; j<tot_deals; j++)
  {
  d_ticket = HistoryDealGetTicket(j);

    if(d_ticket>0)  
    {
    mydeal.Ticket(d_ticket)

      if(mydeal.Symbol()==SymbolTitle)
      {
      //формируем список сделок и анализируем его (если я правильно понял последняя сделка наша)
      }

    }   

  }

}

2.最好不要通过符号来选择交易,而是通过特定位置的ID来选择交易(这更容易、更可靠)。

尽管我确信有更多正确和简单的解决方案。