错误、漏洞、问题 - 页 2647

 

现在,在MetaEditor中,如果要在 "项目 "标签中移动 项目文件,例如移动到一个新创建的子文件夹中,必须进行整个 "仪式"。

- 确保对要移动的文件所做的所有修改都已保存,否则所做的工作可能会丢失。
- 将 "项目 "选项卡中的文件拖放 至新的位置。
- 关闭正在迁移的文件的任何标签,因为它们使用了一个无效的路径。
- 重新打开任何已关闭的标签,只是现在使用新的路径。
- 将打开的标签按照关闭前的顺序重新排列。

建议。
当在项目标签中移动项目文件时,例如移动到一个新创建的子文件夹。
- 对于已打开但未改变的文件,自动更新其位置路径。
- 对于修改过的文件,另外要求确认:"在保存的情况下传输","在失去更改的情况下传输",或 "取消传输操作"。


 
Igor Makanu :

我有12gb的内存,Windows 10,可用内存约8gb。


我需要这个测试来找出MT4/MT5终端的最大允许线长

我现在想通过Redis数据库在终端之间进行交换

Redis是一个非常简单的数据库,只对字符串工作(key - value --> strin - string)。

昨天我用Base64序列化了POD结构,它使数据大小增加了约1/3。

我认为,即使在这种情况下,我也有可能交换每笔交易大小为400Mb的结构--这对任何目的来说都是绰绰有余的!;)

我不知道我是否会检查这个 "Redis",我不知道这个。

所以我在我这边检查了你的代码,1分钟后我就停止了,太慢了。所以我改了一下;-)

#define  STEP      1000000     // 1 million
#define  MILLION   1000000
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
  printf("m_physical = %i MB, m_total = %i MB, m_available = %i MB, m_used = %i MB, limit = %i MB, used = %i MB",
         TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL), TerminalInfoInteger(TERMINAL_MEMORY_TOTAL),
         TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE), TerminalInfoInteger(TERMINAL_MEMORY_USED),
         MQLInfoInteger(MQL_MEMORY_LIMIT),MQLInfoInteger(MQL_MEMORY_USED));

  string s = "";
  int size=INT_MAX;

  do
    {
    size-=STEP;
    }
  while(!StringInit(s,size,USHORT_MAX));

  long length = StringLen(s);
  printf("StringLen = %lli millions characters, m_used = %i MB, used = %i MB", length/MILLION, TerminalInfoInteger(TERMINAL_MEMORY_USED),MQLInfoInteger(MQL_MEMORY_USED));
  }

2020.02.13 15: 50: 51.199 1111R-2646 (EURUSD, M1) m_physical = 16230 MB, m_total = 32460 MB, m_available = 31786 MB, m_used = 674 MB, limit = 8388608 MB, used = 0 MB
2020.02.13 15: 50: 51.763 1111R-2646 (EURUSD, M1)StringLen=1073 万字符, m_used = 2722 MB, used =2048 MB

不到1秒。最后,还有mql5的限制,它是2GB或大约10.73亿个字符。

 

解释一下为什么ico-files不能被加载到代码库中?它们是程序的一个标准部分,由MQL工具连接。他们被禁止的事实显然是错误的。但它比这更进一步。

一个准备妥当的ico可以被重命名为png而不影响操作:它仍然被正确地链接到程序中(使用#属性图标 "mql5pack.png")并显示在属性对话框中。但这一切都只在本地发挥作用。我把这样的png上传到codebase,在检查源代码时得到了错误。

mql5pack.mq5(27,11) : error 341: cannot open icon file 'mql5pack.png'
main file not found

请mql5管理部门修复加载或/和至少检查图标。

PS。更正一下,看起来网站默默地吃掉了png文件,也就是给它上传了,但后来它不在编译文件的列表中。 我试过MQL5\Images, MQL5\Files - 没有任何东西被上传到服务器上,但默默地,没有任何错误。在检查过程中,它给出了一个错误。

 
你能告诉我如何绕过一个编译错误 吗?
struct STRUCT
{
  static const int Array[];
  int Array2[sizeof(STRUCT::Array)]; // unresolved static variable 'STRUCT::Array'
};

static const int STRUCT::Array[] = {1, 2};

void OnStart()
{
  static const int Array[] = {1, 2};
  
  int Array2[sizeof(Array)]; // OK
}
 

伙计们,我如何确保在mt5中未平仓的订单不会互换位置?

 
Сергей Проценко:

伙计们,你们如何确保未结清的订单不被调换位置?

对不起,他们是如何交换位置的?

 
Сергей Таболин:

对不起,他们是如何交换位置的?

根据利润情况,如果利润较大,就向下移动,另一个订单的利润较大,就交换位置。如果欧元的利润变得比黄金的利润大,欧元的订单就会降低,黄金的订单就会比它高。
 
Сергей Проценко:
根据利润情况,如果利润较高,就往下走,另一个订单的利润较高,就调换位置。

点击其中一列标题:符号、票据、时间

 
Vladimir Karputov:

点击其中一列标题:符号、票据、时间

这是唯一的结果。
 
Сергей Проценко:
这是唯一的结果。

点击其中一栏的标题:符号、票据、时间。

点击 "左键"。点击 "标题"。