初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1052

 
Igor Makanu:

或者打开https://www.mql5.com/ru/code/16006

再看看@fxsaber的 实现

或者只需连接上述库,并将代码从MT4转移到MT5,在99%的情况下,你不需要调整任何东西,一切都会和MT4一样工作。

不要让知识白白流失......
 
Artyom Trishkin:
而让知识不相加......。

知识?这不是你发展TS或交易员所需要的知识!?

你不会为自己写一个驱动来控制你的硬盘-->API-->你的程序,是吗?你只需使用平台和编程语言的能力,没有别的--在两次点击中(几行),你就可以得到

事实上,MQL5处理订单的方式非常 乏味和无聊。

我不知道如何打开一个订单,如何检查它的状态,如何知道价格和收盘时间(我知道CTrade,我已经部分打开了源代码)--这些都是一个交易平台应该在两次点击中完成的基本事情,它不应该造成任何问题。

SZZY: MQL5加入iTime()、IClose()已经5年了 ....这就是后续,一个既不能访问工具历史,也不能在两次点击中下单的交易平台,在第一年,整个kodobase充斥着如何在两次点击中读取交易工具历史的 "奇迹实现"....好吧,这是个老生常谈的话题。

 
Igor Makanu:

这不是开发TS或交易员所需的知识!

完全正确。你不需要这些知识来制定策略或作为一个交易员。同样,也不需要mql4的知识。

这就是程序员的需要。而且只有当他想了解自己在做什么,并能将获得的结果与预期的结果进行核对时,才会这样做。

不久前,我不得不编辑别人的EA:根据TOR,一个头寸应该在某一时刻在Breakeven关闭。事实上,专家顾问开了一个头寸,立即关闭,并设置了一个新的头寸,它根据规则关闭。

在我看了这一团糟的东西几个小时后,我建议 从头开始写我的专家顾问。这不是你的专家顾问吗?

 
Alexey Viktorov:

在看了几个小时这种混乱的情况后,我建议从头开始写我的专家顾问。那不是你的专家顾问吗?

肯定是我的!)))))- 我维护我的代码至少一个月,但通常第一次就一切正常,虽然ToR中可能有一些差异,但这不是提交,是正在进行的工作。我经常编辑别人的代码,但这是另外一个故事,它非常耗费时间,而且结果是未知的--只是警告我这一点。

如果低级别的编程让人着迷,可以说是 "挖小肠"--去吧,有一个来自开发者的标准库 CTrade,它应该为用户做最低限度的要求。

 
Igor Makanu:

肯定是我的!)))))- 我维护我的代码至少一个月,但通常第一次就一切正常,虽然ToR中可能有一些差异,但这不是提交,是正在进行的工作。我经常编辑别人的代码,但这是另外一个故事,它非常耗费时间,而且结果是未知的--只是警告我这一点。

如果低级别的编程让人着迷,可以说是 "挖小肠"--去吧,有一个来自开发者的标准库 CTrade,它应该为用户做最低限度的要求。

这个奇迹代码的主人,以及它的作者都不知道这个位置被打开然后关闭的微妙之处。这就是为什么没有索赔。

一般来说,我同意你的观点。有些开发商根本就不抓老鼠。然后他们故意制造虫子,根据一个人物的陈述,他被拷问以捕捉这些虫子。现在,他们不会再发出 "割钱 "这样的单一命令。你不需要知道任何编程。"惹上***不是国王的事。我将订购和***"这就是你的声音。

 
Alexey Viktorov: 这个奇迹代码的主人以及它的作者都没有意识到这个位置被打开然后关闭的微妙之处。我同意你的观点。他们根本就不抓老鼠。他们会故意制造虫子,但正如一个人物所说,他们已经厌倦了抓虫子。现在,他们不会再发出 "割钱 "这样的单一命令。你不需要知道任何编程。"惹上***不是国王的事。我将订购和***"这就是你的声音。

据我所知,我们正在谈论MQL5中的一些代码?- 我没有用这种语言写过任何公共代码,我只使用现成的解决方案。

好吧,关于你的性能--所有的语言都会有库的 "更新",库的开发者往往是简单的程序员--用户,但这并不妨碍这些库的流行和高质量,如果你设法走出MQL沙盒--在GitHub上走走,我总是能找到现成的C#库,节省开发时间。

 
Vladimir Karputov:

没有直接的类比。一个头寸由交易组成。如果你想获得准确的头寸数据,你必须首先从交易历史中建立起头寸回溯。

因此,最好用 "交易 "的概念来工作。

一般来说,实施在很大程度上取决于对 "为什么 "这一问题的回答。也就是说,首先准确描述你想要什么,为什么要这样做。

为了获得交易的利润,以点为单位。在MT4中,它是这样做的。

( OrderClosePrice() - OrderOpenPrice() )/Point;
 
secret:

获取交易的利润,以点为单位。在MT4中,它是这样做的。

你不能在交易中获得利润。一个交易可以是。

ENUM_DEAL_TYPE-交易的类型

ENUM_DEAL_TYPE

识别器

描述

购货类型

购买

交易类型_销售出售

***


你需要获得一个平仓的信息(一个完整的头寸至少由两个交易组成:进场和出场)。要做到这一点。

  • 从交易历史中集合头寸并检查其完整性(我提醒你,头寸可以从交易中集合)--使用交易的DEAL_POSITION_ID属性。
这里的控制词是 "从交易历史中收集头寸并检查其完整性"。
 
Vladimir Karputov:

我明白了。谢谢你)MT5中非常奇怪的术语。

我想知道为什么开发商没有在历史上做现成的位置属性。他们在MT4中做到了。

 
secret:

我明白了。谢谢你)MT5中非常奇怪的术语。

我想知道为什么开发商没有在历史上做现成的位置属性。他们在MT4中做到了。

他们这样做是非常好的。可以访问任何位置变化的整个历史。在4中,所有东西都被堆积成一个秩序。而搜查令只是一个执行的命令。另一方面,在五,这是一个订单-交易-位置。