if(!PositionSelectByTicket(trans.position)) // Если позицию выбрать не получилось, значит она закрыта
{
HistorySelectByPosition(trans.position); // Получим список ордеров и сделок относящихся к этой, конкретной позицииulong ordTicket = HistoryOrderGetTicket(0); // Получили тикет ордера который породил сделку и позицию.if(HistoryOrderGetInteger(ordTicket, ORDER_MAGIC) == magick && HistoryOrderGetString(ordTicket, ORDER_SYMBOL) == _Symbol)
{
如果我没有理解错的话,这就是正确的方法。作为一个更有经验的同志,请指点一下,为了抓取新生儿的位置,这样的过滤器会起作用吗?或者,也许有一个更好的选择?
这是给Alexey的--由于某些原因,我不使用OnTradeTransaction()。
你是否因此而建议将其他职位推后?让他们不被提及?这是不对的。
在我看来,最好是在论坛中定义一个单独的部分,每个问题都是一个单独的主题。主题的数量要比每个主题的帖子数量少得多。因此,尽管有相当多的主题,但它们不会像现在的个人问题和错误报告 那样被推后。
好吧,你用红色强调了你不知道。问题出在哪里?它是如何表现出来的?那么新的方法是什么呢?
至于报告bug:"无论对错",但如果你想报告,你就会报告。如果你不愿意,你也不愿意。 而像 "让人们谈论他们自己的 "那样把自己封闭起来是一种借口。
如果我没有理解错的话,这就是正确的方法。作为一个更有经验的同志,请指点一下,为了抓取新生儿的位置,这样的过滤器会起作用吗?或者,也许有一个更正确的选择?
在我看来,这句话
没有必要。而一般来说,我目前正在重新考虑OnTradeTransaction 操作的以下变体
在添加交易的时候,我们没有创建交易的订单的票据。但如果我们需要一张订单及其属性的票,因为我现在需要订单的开盘价不因滑点而禁用网格步骤,那么它是最好的变体。
一般来说,我支持为特定任务而写作。相比之下,SB有很大的普遍性,需要额外的变量,而这些变量有时是绝对不必要的。
好吧,你用红色强调了你不知道的。问题出在哪里?它是如何表现出来的?那么新的方法是什么呢?
而关于错误信息:"无论对错",但如果你想报告,你就会报告。如果你不愿意,你也不愿意。而像 "让人们谈论他们的 "那样把自己封闭起来是一种借口。
在我看来,这句话
没有必要。一般来说,我目前正在重新考虑OnTradeTransaction 操作的以下变体
在添加交易的时候,没有产生交易的订单的票据。但如果你需要一张订单及其属性的票据,就像我现在需要订单的开盘价一样,这样网格步骤就不会因为滑点而被打掉,那么这是最好的选择。
一般来说,我支持为某一特定任务进行开发。而且,UB塞进了普遍性,这需要额外的、有时绝对不必要的变量。
非常感谢你指出了正确的方向。是这样做的(如下图,似乎很有效)。
现在我在思考如何捕捉以获利了结或直接下单的头寸的行情。我们只需要从他们那里获得的点数,就可以将这些头寸从主头寸阵列中移除。
非常感谢你在正确方向上的指导。我这样做了(如下,似乎是在工作)。
现在我想知道如何捕捉在止盈时关闭的头寸的点数,或者直接下单。我们只需要从他们那里得到的点数,就可以将这些位置从主位置阵列中移除。
我想为符号和魔术师加上一个检查。
这里是我的代码的一个片段,其中检测到了位置关闭。
我们也可以从枚举ENUM_DEAL_REASON 中按关闭的原因进行划分。
在另一个专家顾问中
在第一种情况下,我需要一个订单,在第二种情况下,一个交易就足够了。一般来说,当我需要什么的时候,我就会把它写出来。
我还会为符号和魔法添加一个检查。
这里是我的代码的一个片段,其中检测到了位置关闭。
我们也可以从枚举ENUM_DEAL_REASON 中按关闭的原因进行划分。
在另一个专家顾问中
在第一种情况下,我需要订单,在第二种情况下,贸易就足够了。一般来说,我在需要时就会写。
晚上好。你的反应和考虑使我感到非常荣幸。非常感谢。 正如年轻人所说--尊重和尊敬。
谢谢你的好建议。首先,他们现在不是很需要,我的专家顾问不是也可能不会是任何竞争对手,因为它是高频的,很多小头寸。他自己都快憋死了,哪里还能和别人竞争?当然,如果到了那个时候,它在终端和账户中都会有一个。第二个可能很牵强,只是我还不太了解,但也许能节省一点资源。
你的例子很好,我一定会保存它们,但我没有票,没有顺序,没有交易。更确切地说,我有几百个,我不知道现在哪一个会关闭。你建议我认为平仓的事实可以从我的计算中拉出来,我现在会试着这样做。
我将尝试打印它在流程中打印的所有内容。 我的专家顾问将是一个头寸生成器,它知道如何主动开仓并同时关闭头寸。唯一的事情是在数组/结构中找到这个位置(位置票)并将其删除。所以它是这样的。
而作为打字机,我将尝试使用参考文献中的一个示例代码,在关于这个函数的部分,它在那里被调用。
//|OnTradeTransaction_Sample。硕士生
//| Copyright 2018, MetaQuotes Software Corp.
//|https://www.mql5.com ||
//+------------------------------------------------------------------+
#property copyright"Copyright 2018, MetaQuotes Software Corp."
#属性链接"https://www.mql5.com"
#财产版本"1.00"
# 属性描述"TradeTransaction事件监听器示例"
晚上好。你的反应和关注使我感到荣幸。非常感谢。 正如年轻人所说,赞美和尊重。
谢谢你的明智建议。我几乎是有意识地不打开Magik和符号,首先是因为现在不是很需要它们,我的专家顾问没有也可能不会有任何竞争对手,因为它是高频的,有很多最低仓位。他自己都快憋死了,哪里还能和别人竞争?当然,如果到了那个时候,它在终端和账户中都会有一个。第二个可能很牵强,只是我还不太了解,但也许能节省一点资源。
你的例子很好,我一定会保存它们,但我没有票,没有顺序,没有交易。更确切地说,我有几百个,我不知道现在哪一个会关闭。你建议我认为平仓的事实可以从我的计算中剔除,我现在正在尝试这样做。
我将尝试打印它在流程中打印的所有内容。 我的专家顾问将是一个头寸生成器,它知道如何主动开仓并同时关闭头寸。唯一的事情是在数组/结构中找到这个位置(位置票)并将其删除。所以它是这样的。
而作为打字机,我将尝试使用参考文献中的示例代码,在关于这个函数的部分,它被称为那里。
能与那些在这些提示的基础上从文件中自己摸索出一些东西的人分享我的小知识,总是很高兴。© I.A. Krylov.布谷鸟赞美公鸡赞美布谷鸟。)))
如果你只为自己写一个EA,当然你可以采取一些自由的方式。如果你认为没有必要检查符号和魔术师,那就不要。
关于突出强调。
什么都有,职位票、订单票和交易票。而且,拉动交易和/或订单开仓都不难。这一切都在MqlTradeTransaction 结构中
Если позицию выбрать не получилось, значит она закрыта Ой-ли?
Alexey,这只是指OnTradeTransaction 事件的处理。
一个事件发生了,一个关闭头寸的交易已经被执行。此刻,这个位置已经不在了。这可以通过选择订单和交易清单 来确认(代码中没有),并阅读
请注意,我们谈论的是一个Hedge账户,该账户的头寸通常只有两个订单和两个交易。