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

 
Alexey Viktorov:

注意这个帖子中的 "所有终端都有共享文件夹"。


搜索关于如何做到这一点的信息,然后就可以走了......。这就是所谓的文件夹链接。

所以你可以这样做。编写一个库,并从不同的终端访问这个库,它们可以交换数据 或将一个机器人连接到2米的终端。我读了一点关于链接的资料,直到我想明白为止。也许有一个主题,你可以在那里问更多关于它的问题?

 
Seric29:

所以你可以这样做。编写一个库,并从不同的终端访问这个库,它们可以交换数据或将一个机器人连接到2个终端。我读了一点关于链接的资料,直到我想明白为止。也许有一个主题,你可以在那里问更多关于它的问题?

我没有在论坛上看到这个话题,但看了几个说明后,我觉得这个 更容易理解。我试过了,它起作用了,但我认为还没有必要使用它。尽管我认为将所有终端的历史记录合并到一个文件夹中是个好主意。

 
Alexey Viktorov:

我没有看到任何论坛的帖子,但我看到了一些说明,这个 更容易理解。我已经试过了,它很有效,但我认为还没有这个必要。虽然我认为将所有终端的历史统一到一个文件夹中会很好。

谢谢你的建议。我使用了一个硬链接



,这需要将终端安装在同一卷中。

,我愚蠢地增加了一个单元,进一步合并了ex4和mq4文件,结果是一切都在两边工作,现在你可以写共享库并使用它们。我不知道它有多可靠,但我把机器人扔在了图表计数上。当我编译代码时,文件在2个方面发生了变化,但在一个方面更新了计算结果,如果我让机器人在在线模式下工作,我需要程序是相同的,并完成和编译,因为它将工作未知,也许有人有机会检查,我还不能检查。

 
Seric29:

谢谢你的建议。我使用了一个硬链接



,这需要将终端安装在同一卷中。

,我愚蠢地添加了一个单元,然后我合并了ex4和mq4文件,结果是一切都在两边工作,现在你可以写共享库并使用它们。我不知道它有多可靠,但我把机器人扔在了图表计数上。当我编译时,代码文件在2个方面发生了变化,但在一个方面更新了计算结果,如果我让机器人在在线模式下工作,我需要程序是相同的,并且完成和编译后的工作是未知的,也许有人有机会检查,我还不能测试。

那么在编译器中直接有一个神奇的文件夹,还是不合适?


 
Seric29:

谢谢你的建议。我使用了一个硬链接

为什么要做特定文件的链接?为文件夹建立符号链接,这个文件夹的所有文件都可以在建立这些链接的终端使用,这样不是更好吗?

这是个好主意。

在图片00.png中,左边是文件夹本身,右边是一个终端的链接。

在图片11.png中,还有一个来自另一个终端的链接

而在图片22.png内容上,左边是一个文件夹本身,右边是一个链接的内容。

附加的文件:
00.png  102 kb
11.png  103 kb
22.png  118 kb
 
Vitaly Muzichenko:

那么,是否在编译器中就有一个神奇的文件夹,还是不适合?


我想知道是否可以这样做,是否能可靠地工作。答案是否定的。有人建议我使用一些程序,当然,我对其进行了操作,但并不奏效。然后给出了命令行的建议,我花了3个小时玩了一下,得到了一些东西,但我不知道它怎么不可靠,先是更新文件日期和内容,然后开始只改内容而日期没有变化,这有点奇怪。我在哪里可以读到关于你的方法?它的可靠性如何,机器人是否能在网上相互交流?

 
Alexey Viktorov:

为什么要做特定文件的链接?为文件夹建立符号链接,这个文件夹的所有文件都可以在建立这些链接的终端使用,这样不是更好吗?

这一点很值得注意。

在截图00.png中,左边是文件夹本身,右边是一个终端的链接。

图片11.png也有一个来自另一个终端的链接

而在图片22.png上有一个内容,左边是文件夹本身,右边是内容的链接。

我见过它,通过TotalComander进行同步,但据我所知,它只传输文件(如图片),如果我们谈论的是有一个文本文件,它的变化,如果我在文件中添加一些东西,它会不会改变?TotalComander的通信有多可靠,机器人可以在网上相互交流,还是只用于写代码?

 
Seric29:

我见过这种情况,通过TotalComander进行同步,但据我所知,它只传输文件(如图片),但如果我们谈论的是一个文本文件,它发生了变化,如果我在文件中添加一些东西,它是否会改变?通过TotalComander进行通信的可靠性如何,机器人是否能在网上相互交流,还是只能在写代码时发挥作用?

TotalComander只用于显示两个文件夹的内容。对我来说,它比Windows Explorer更熟悉。我还在命令行上做了所有的符号链接。只是我用的是/D而不是/H,而且不是一个文件,而是一个文件夹。而这个来自不同地方的链接可以访问同一个文件。

虽然,我只是想知道,当文件被一个终端使用时,是否可以使用...最好当面联系赛格-塔博林。根据我的理解,他使用它,而且可能确切知道。

 
Alexey Viktorov:

TotalComander只是用于显示两个文件夹的内容。对我来说,它也比Windows Explorer更熟悉。而且我以同样的方式从命令行做了所有的符号链接。只是我用的是/D而不是/H,而且不是一个文件,而是一个文件夹。而这个来自不同地方的链接可以访问同一个文件。

虽然,我现在才想到,但该文件是否会在被一个终端使用时可用...最好是写在赛格-塔尔博林的个人简介中。根据我的理解,他使用它,而且可能确切知道。

我玩了一下总指挥,总的来说,按照我的理解,那么只有在按下按钮的时候才有同步发生,并且通过控制台键H文件内容实时变化,但是当你点击编译的时候,机器人通过引用做出的原始计算是没有变化的,我必须按编译按钮和链接,但是如果机器人是一样的,不触动代码就可以工作,不知道会不会在线工作,还不可能测试可以把未完成的设置程序带下来。但是,由于文件改变了属性,我认为应该工作。一般来说,在这里或通过控制台或上面的人建议的东西,但我没有找到正常的信息。我会写信给你建议的那个人。

 

大家好,请告诉我如何正确地将函数从MQL4改写为MQL5。

//+------------------------------------------------------------------+
//在最后一栏关闭的Sell_Order的数量。
int Anz_g_Sell_Order()
{
int count = 0。
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
如果(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == true
&& OrderSymbol() == Symbol() && OrderType() == OP_SELL
&& OrderMagicNumber() == Magic_Nr
&& OrderCloseTime() > iTime(NULL,PERIOD_M15,0))
{
count++。
}
}
return(count)。
}
//+---------------------------------------------------------------------+

我重写了,但不知道为什么不能工作,错误在哪里?:

//+------------------------------------------------------------------+
//在最后一栏关闭的Sell_Order的数量
int Anzahl_g_Sell_Order()
{
int count = 0。
如果(HistorySelect(0,INT_MAX))
{
for(int i=HistoryDealsTotal()-1;i>=0;i--)
{
ulong ticket = HistoryDealGetTicket(i);
如果(HistoryDealGetString(ticket,Deal_SYMBOL) == _Symbol)
&&HistoryDealGetInteger(ticket,DEAL_TYPE) == DEAL_TYPE_SELL
&& HistoryDealGetInteger(ticket,DEAL_ENTRY ) ==DEAL_ENTRY_OUT
&& DEAL_ENTRY_OUT > iTime(NULL,PERIOD_M15,0))
{
count++。
}
}
}
return(count)。
}
//+---------------------------------------------------------------------+