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

 

关于交易、自动交易系统和交易策略测试的论坛

新版MetaTrader 5 build 1730:MetaEditor和合成工具中的项目

Renat Fatkhullin, 2017.12.28 08:59

在1730版本中,我们发现并修复了这个错误(现在搜索失败时重设缓存),这导致了你的错误

 
Ivan Ivanov:

在任何时候,只有1个(选定的)位置的信息是可用的。

你是在陈述一个事实还是一个参考?我在任何地方搜索都找不到这样的东西。

 
pivomoe:

你是在陈述一个事实,还是在要求开具证明?通过搜索,我在任何地方都找不到这样的东西。

为了检索任何位置属性,必须预先选择所需的位置。
你可以在帮助中看到任何关于检索PosotionGetXXXX位置属性的函数描述。
该函数返回先前用PositionGetSymbolPositionSelect函数选择的未结头寸的请求属性
你可以这样想:在超市里,如果你想阅读一罐果酱标签上的内容,你首先要拿起这罐果酱。
 
fxsaber:
根据 "这导致了你的错误 "来判断,他们并没有在1730年发现错误,而是在更早的版本中。也就是说,根据1730年的开发者的说法,现在这方面的工作都很完美。
 
Vladimir Karputov:
为了获得位置的任何属性,有必要事先选择所需的位置。
你可以在帮助中看到任何关于检索PosotionGetXXXX位置属性的函数描述。
该函数返回先前用PositionGetSymbolPositionSelect函数选择的开仓头寸的请求属性
你可以这样想:在超市里,如果你想阅读一罐果酱标签上的内容,你首先要拿起这罐果酱。
我明白,我们必须在获得他们的信息之前选择职位和顺序。我不明白CPositionInfo类与此有什么关系。如果我们有一个类,我们可以创建很多这个类的对象。而且,因此,这些对象中的每一个都可以为自己的位置进行设置。这很疯狂--你可以创建一百万个CPositionInfo对象,但所有这些对象都只对最后使用Select()方法选择的位置起作用。
 
pivomoe:
我明白,我们必须先选择一个职位和一个订单,然后才能获得有关信息。我不明白CPositionInfo类与它有什么关系?如果我们有一个类,我们可以创建很多该类的对象。而且,因此,这些对象中的每一个都可以为自己的位置进行设置。这很疯狂--你可以创建至少一百万个CPositionInfo对象,但它们都只对最后使用Select()方法选择的位置起作用。
PositionSelect()函数将位置数据复制到程序环境中,随后调用PositionGetDouble()PositionGetInteger()PositionGetString()返回先前复制的数据
如果你想保存两个或更多位置的数据数组,请自己编写结构并将位置数据复制到其中。
 
pivomoe:
我明白,你必须先选择一个位置和一个订单,然后才能得到它们的信息。我不明白CPositionInfo类与此有什么关系。如果我们有一个类,我们可以创建很多这个类的对象。而且,因此,这些对象中的每一个都可以为自己的位置进行设置。这是无稽之谈,你可以创建至少一百万个CPositionInfo对象,但它们都只能对最后使用Select()方法选择的位置发挥作用。
CArrayObj 将帮助你。并将订单/位置对象存储在这个列表中。并获得他们所有需要的数据。
 

让我们在这里继续。

Vladimir Karputov:
PositionSelect()函数将位置数据复制到编程环境中,随后调用PositionGetDouble()PositionGetInteger()PositionGetString()返回先前复制的数据

我理解这一切,因为帮助中解释得很清楚。我不明白这与CPositionInfo类有什么关系?

它有一个Volume()函数。在调用这个函数之前有一些要求(在使用之前选择一个位置)。我正在满足这些要求。我不明白为什么它会返回绝对错误的数量。那么,是不是这样,很难记住在最后一次调用(对这个类对象)Select()符号的时候,我感兴趣的,已经在Volume()调用的时候,找到与这个符号对应的位置,并返回与这个位置对应的成交量?



换句话说,在这种情况下使用PositionInfo类的两个对象是错误的。

事实证明,CPositionInfo类是没有意义的,因为通常情况下,你只能与这个类的一个对象一起工作。

 
我的理解是正确的,CPositionInfo类 的Volume方法返回Select()方法最后被调用的时间点所对应的体积?也就是说,有可能找出这个符号一个月前的成交量吗?
 
pivomoe:

让我们在这里继续。

我理解这一切,因为帮助中解释得很清楚。我不明白这与CPositionInfo类有什么关系。

它有一个函数Volume()。在调用这个函数之前有一些要求(在使用之前选择位置)。我正在满足这些要求。我不明白为什么它会返回错误的音量。那么真的是这样吗,在最后一次调用(对于这个类对象)Select()符号的时候,我对这个符号感兴趣,并且在Volume()调用的时候已经记住了这个符号所对应的位置,并返回这个位置所对应的音量,这是不是很困难?


事实证明,CPositionInfo类是没有意义的,因为通常情况下,你只能与这个类的一个对象一起工作。

当你了解CPositionInfo交易类的作用时,它就能完美地工作。
让我解释一下:CPositionInfo并不是一个储存所选位置 所有属性的匣子,它是一个访问所选位置属性的钥匙(方便、快捷、取代了一堆代码)。