错误、漏洞、问题 - 页 1591

 
Sergey Kruglov:
问题是,当我在mt4上下载某个EA的试用版时,会打开一个无法工作的终端,然后我删除了它,现在根本没有终端打开,尽管我又安装了三个。有没有办法指定程序被下载到一个特定的终端?
直接从所需的终端搜索 - 在MetaTrader 5的右上角 有一个搜索栏。
 

向行家们提问。

我需要弄清楚我可以为CopyTicks查询使用多少内存,这样我就不会出现 "内存不足 "的情况。

不幸的是,我无法通过终端找出我目前有多少可用的内存。

我使用一个简单的脚本来获取信息。

void OnStart()
  {
   int memory_physical=TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL);
   printf("Physical memory in the system: %d MB",memory_physical);

   int memory_total=TerminalInfoInteger(TERMINAL_MEMORY_TOTAL);
   printf("Memory available to the process of the terminal (agent): %d MB",memory_total);

   int memory_available=TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE);
   printf("Free memory of the terminal (agent) process: %d MB",memory_available);

   int memory_used=TerminalInfoInteger(TERMINAL_MEMORY_USED);
   printf("Memory used by the terminal (agent): %d MB",memory_used);
  }

2016.05.29 09:50:50.642    MemoryTest (EURUSD,H1)    Memory used by the terminal (agent): 319 MB
2016.05.29 09:50:50.632    MemoryTest (EURUSD,H1)    Free memory of the terminal (agent) process: 23963 MB
2016.05.29 09:50:50.621    MemoryTest (EURUSD,H1)    Memory available to the process of the terminal (agent): 24282 MB
2016.05.29 09:50:50.611    MemoryTest (EURUSD,H1)    Physical memory in the system: 12141 MB

由于某些原因,可用内存是物理内存的两倍。这不是交换,它很小(400MB)。我期待的是像任务管理器中的值,可用内存大约是7000MB。

谁能告诉我这些奇怪的数字是什么?

 

晚上好,请告知如何摆脱测试器中的4059错误。我真的想从一个专家顾问那里获得另一个工具的价格,例如LTCUSD,而这个专家顾问正在使用一个工具,例如LTCBTC。

void OnTick()
  {
//---
   {if(One)
   { 
      ResetLastError();
      Print("1. LTCBTC >>",MarketInfo("LTCBTC",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("2. LTCUSD >>",MarketInfo("LTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("3. BTCUSD >>",MarketInfo("BTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      One=false;
   }}

  }
 
Natalja Romancheva:

晚上好,请告知如何摆脱测试器中的4059错误。我真的想从一个专家顾问那里获得另一个工具的价格,例如LTCUSD,而这个专家顾问正在使用一个工具,例如LTCBTC。

MT4上没有。
 
Andrey Voytenko:

向行家们提问。

我需要弄清楚我可以为CopyTicks查询使用多少内存,这样我就不会出现 "内存不足 "的情况。

不幸的是,我无法通过终端找出我目前有多少可用的内存。

我正在使用一个简单的脚本来获取信息。


由于某些原因,可用内存是物理内存的两倍。这不是交换,它很小(400MB)。我期待的是像任务管理器中的值,可用内存大约是7000MB。

谁能告诉我这些奇怪的数字是什么?

它是虚拟内存。如果需要,Windows可以增加交换文件的大小。
 
admoon:
在我看来,if()应该只工作一次,当括号里的条件为真时。但事实上,它在每次检查时都会被触发,{}中的所有表达式在每一步都被执行,并占用机器时间。这与W的全球性有什么关系呢?只是从终端修改步骤比从编辑器修改更容易。

看起来你的代码中有一个错误的印记,想这样写。

int i;
//---
   int co=0;
   for(i=0;i<=w;i++)
     {
      if(i==10)
        {
         co++; 
         Alert(co);
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
 
Natalja Romancheva:

iClose + iBarShift。MT4的测试器监控被测试工具的当前价格 的正确性,其他工具的数据的正确性你必须自己确保

而且你不可能在MT4中有效套利

 
Evgeniy Ilin:
周围是否有任何版主?我向卖家发出了请求,已经挂了3-4天了。我需要等待多长时间?
怎么样?我得到了一个答案。我的也挂了,虽然时间比较短。
 
Alexey Navoykov:

它应该是这样的。

模板类可以分为声明和实现吗?MetaQuotes在引入模板类时,解释了这个限制。
 

变量错误

建立1340个MT5。

如果你输入了变量。

input bool test=false;

extern bool test=false;

那么编译器将不会给出错误,但在图表上的EA参数中--这些参数将消失。


所以这就像两个不同的变量,虽然它们是相同的。