MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 82

 

显然,我说错了我的观点:)。当你看到它是 "可用的 "时,你会感到高兴。在我升级到一个新的建筑后,我没有减少喜悦,反而对下一个建筑有了更多的希望和信念 :)好了,你去....我试图尽可能正确地表达我的情绪。

雷纳特,谢谢你的答复。我们正在等待进一步的修改,希望我的意见(至少已经有了5条)也能得到考虑,不必再重新阅读。

 

我在所有终端(MT4/MT5)的Files文件夹中建立了一个子文件夹MyCommon,将它们全部映射到一个虚拟磁盘(该磁盘被设置为自动启动)。 // 现在这个文件夹在任何地方都是可见的。

在这个文件夹中,我做了一个子文件夹Include(现在也到处可见)。

在这个文件夹(和子文件夹)中,我创建了通用的mql4/5包含文件,可以在所有终端中一次性访问。 // #ifdef家族的指令终于出现了,现在可以完美地工作。

现在真的是非常方便。// 我向大家推荐它。

BUT :

我遇到了一个关于文件非同步编辑的问题。 // 我同时在MT4/ME4和MT5/ME5中编辑,以便同时测试mql4和mql5代码,同时编写。

问题是。 当你在其中一个编辑器中改变一个文件时,另一个编辑器不会注意到这些变化。 它没有。 不检测、不接收,甚至不报告 "外部 "文件的变化,只选择 "重新加载/忽略"。

也就是说,为了让第二个反应器看到这些变化,必须在其中关闭文件,然后再重新打开。 这是很不方便的。

对开发者的一个很大的要求是:请对ME中加载的文件进行 "自动检测 "和外部修改的处理。

// 我认为它曾经是,只是停止工作?

--

还有一个问题:为什么你不能为条件编译定义自己的符号? 再一次,这并不是一个真正成熟的功能。 还是我看得不够仔细?

 
MetaDriver:

我在所有终端(MT4/MT5)的Files文件夹中建立了一个子文件夹MyCommon,将它们全部映射到一个虚拟磁盘(该磁盘被设置为自动启动)。// 现在这个文件夹在任何地方都是可见的。

在这个文件夹里做了一个子文件夹Include(现在也可以到处看到)。

在这个文件夹(和子文件夹)中,我创建了通用的mql4/5包含文件,可以在所有终端中一次性访问。// #ifdef系列的指令终于出现了,现在可以完美地工作。

现在真的是非常方便。// 我向大家推荐它。

BUT :

我遇到了一个关于文件非同步编辑的问题。// 我同时在MT4/ME4和MT5/ME5中编辑,以便同时测试mql4和mql5代码,同时编写。

问题是。 当你在其中一个编辑器中改变一个文件时,另一个编辑器并没有注意到这些变化。它没有。不检测、不接收,甚至不报告 "外部 "文件的变化,只选择 "重新加载/忽略"。

换句话说,为了让第二个反应器看到这些变化,文件必须在它里面关闭,然后重新打开。这是很不方便的。

对开发者有一个非常大的要求:请让 "自动检测 "并处理ME中加载的文件的外部修改。

// 我认为它以前就是这样,只是停止了工作?

哪里写到了ifdef?我在MQL的帮助中找不到它。

 
MetaDriver:

1.我在所有终端(MT4/MT5)的Files文件夹中建立了一个子文件夹MyCommon,将它们全部映射到一个虚拟磁盘上(我将该磁盘置于自动启动状态)。 // 现在这个文件夹在任何地方都是可见的。

我在这个文件夹里做了一个 "包括 "子文件夹(现在也到处可见)。

在这个文件夹(和子文件夹)中,我创建了通用的mql4/5包含文件,可以在所有终端中一次性访问。 // #ifdef家族的指令终于出现了,现在可以完美地工作。

现在真的是非常方便。// 我向大家推荐它。

BUT :

2.我遇到了一个关于文件非同步编辑的问题。 // 我同时在MT4/ME4和MT5/ME5中编辑,以便同时测试mql4和mql5的代码,同时编写。

问题是。 当你在其中一个编辑器中改变一个文件时,另一个编辑器并没有注意到这些变化。 它没有。 不检测、不接收,甚至不报告 "外部 "文件的变化,只选择 "重新加载/忽略"。

也就是说,为了让第二个反应器看到这些变化,必须在其中关闭文件,然后再重新打开。 这是很不方便的。

对开发者的一个很大的要求是:请对ME中加载的文件进行 "自动检测 "和外部修改的处理。

// 我认为它以前就在那里,只是停止工作了。

1.在我看来,使用符号、软链接和硬链接比虚拟磁盘更方便、更可靠。不过,操作系统的选择还是比软件更可靠。
2.如果自动保存不愿意做,那么检测来自外部编辑器的变化也不会做。
 
MetaDriver:

使Files文件夹中的所有终端(MT4/MT5)成为MyCommon子文件夹, 将它们全部映射到一个虚拟驱动器上。

你是说硬连接吗?

为什么不在MQL4\MQL5\?为什么在Files/?

 
MetaDriver:

我在所有终端(MT4/MT5)的Files文件夹中建立了一个子文件夹MyCommon,将它们全部映射到一个虚拟磁盘(该磁盘被设置为自动启动)。 // 现在这个文件夹在任何地方都是可见的。

我在这个文件夹里做了一个子文件夹Include(现在也到处可见)。

在这个文件夹(和子文件夹)中,我创建了通用的mql4/5包含文件,这些文件可以在所有终端中同时访问。 // #ifdef家族的指令终于出现了,现在可以完美地工作。

现在真的是非常方便。// 我向大家推荐它。

BUT :

我遇到了一个关于文件非同步编辑的问题。 // 我同时在MT4/ME4和MT5/ME5中编辑,以便同时测试mql4和mql5的代码,同时编写。

问题是。 当你在其中一个编辑器中改变一个文件时,另一个编辑器并没有注意到这些变化。 它没有。 不检测、不接收,甚至不报告 "外部 "文件的变化,只选择 "重新加载/忽略"。

也就是说,为了让第二个反应器看到这些变化,必须在其中关闭文件,然后再重新打开。 这是很不方便的。

对开发者的一个很大的要求是:请对ME中加载的文件进行 "自动检测 "和外部修改的处理。

// 我认为它以前就在那里,只是停止工作了。


竺可桢
1.在我看来,使用符号、软链接和硬链接比虚拟磁盘更方便、更可靠。不过,操作系统的选择还是比软件更可靠。
2.如果他们不想做自动保存,那么检测来自外部编辑器的变化是不行的。

康帕斯

你是说硬链接吗?

为什么不在MQL4\MQL5中?为什么在Files/?

我可以有一个插图吗?
 
Barbarian:

哪里写到了ifdef?我在MQL的帮助中找不到它。

这是在公告中 肯定是在MT5的更新 中)。 然后,它被实施了。

//\files\MyCommon\Include\StatBasket_01.mqh
//+------------------------------------------------------------------+
//|                                                StatBasket_01.mqh |
//|                                           © 2013, MetaDriver Lab |
//|                       https://www.mql5.com/ru/users/MetaDriver |
//+------------------------------------------------------------------+
#property copyright "© 2013, MetaDriver Lab"
#property link      "https://www.mql5.com/ru/users/MetaDriver"

#ifndef __MQL5__
    #property strict
#endif 

#ifdef _DEBUG
class CLogPrint  // дебаг версия лог-файла (расширенная)
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#else 
class CLogPrint  // релиз версия
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#endif 

class CSBasket
  {
public:
                     CSBasket(void);
                    ~CSBasket(void);
  };

--

这一切都很有效。 你可以使用它。

 
Zhunko:
1.在我看来,使用符号、软链接和硬链接比虚拟磁盘更方便、更可靠。不过,操作系统的选择还是比软件更可靠。
2.如果自动保存不愿意做,那么检测来自外部编辑器的变化也不会做。

1. 我不理解软/硬链接。 如何做,如何使用它们?

2.让我们来看看。 你不必如此断然。 我告诉过你,以前是这样的(在ME5中。编辑器说 "文件已经改变,重新加载?")

 
komposter:

你是说硬链接吗?

为什么不在MQL4\MQL5\?Why Files\?

我不太理解这个硬链接。但这一定是它。

原因是在Files中--因为mql-程序可以写在那里。 我经常需要它来自动生成一些大规模的枚举或常规来源的内含物,其中的逻辑和/或数据可以在代码生成器中被改变。

// 我通常不生成任何复杂的东西,但经常需要一些简单的、有规律的(就结构而言)和非常常规的东西(如50个外部变量,如用于MT优化的神经网络的系数)。

 
tara:

你可以用插图吗?

阿列克谢,我附上了一段源代码。这就够了吗?

我只是不明白你想要什么插图。

这里还有更多。这是虚拟文件夹在资源管理器中的样子。



因此,你可以将路径添加到虚拟驱动器映射中。