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

 
有什么办法可以阻止这些不可逆转的复选框-新闻-对象一次又一次地填满我的对象列表
 
User_mt5:
有什么办法可以阻止这些不可逆转的复选框-新闻-对象一次又一次地填满我的对象列表

在这里的设置中,删除新闻并重新加载终端


 
User_mt5:
有什么办法可以阻止这些不可逆转的复选框-新闻-对象一次又一次地填满我的对象列表
你不需要重新加载任何东西。在日历中,取消选择 "删除所有事件",然后取消选择 "自动更新"。
 
Kirill Belousov:

在这里的设置中,删除新闻并重新启动终端


基里尔,非常感谢你。否则,我的专家就会翻阅这些物品--一遍又一遍地翻阅它们。
谢谢你。

 

我正在努力学习如何使用OnTradeTransaction函数

在测试器中使用时,我看到以下问题。一个订单被打开,因此OnTradeTransaction被调用。此刻,我在OnTradeTransaction内使用CPositionInfo类获得头寸大小。一切都很好。然后在同一调用中,我直接从OnTradeTransaction调用另一个函数,那里的CPositionInfo返回0,即不是我需要的。又过了几分钟,我试图在OnTimer中获取头寸大小,但那里一切正常,即1。当然,在整个历史上,这个位置还没有被关闭和重新开放。

问题。为什么CPositionInfo在OnTradeTransaction中返回它所需要的东西,但在从OnTradeTransaction调用的另一个函数中却返回0而不是仓位量。


这里是日志。(在10:30:12开仓,10:48:53平仓)

这就触发了一个订单。

2017.09.22 10:30:12 订单 [#3买入限额1.00 SBRF-3.18 at 19352] 触发了

OnTradeTransaction被调用三次。CPositionInfo在每次调用时,仓位量等于1。在最后一次调用TRADE_TRANSACTION_HISTORY_ADD的时候,我调用了这个函数。

2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_DEAL_ADD order=3 order_type=ORDER_TYPE_BUY state=ORDER_STATE_STARTED Price=19352.0 deal=2 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_ORDER_DELETE order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_HISTORY_ADD order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0

在一个从OnTradeTransaction调用的函数中。

2017.09.22 10:32:50 报价符号SBRF-3.18的POSITION_TYPE_BUY方向上有一个0.0的位置。

经过一段时间的努力,在OnTimer中再次获得音量

2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0

关闭位置

2017.09.22 10:48:53 订单 [#5卖出限额1.00 SBRF-3.18 at 19435] 触发了

 
pivomoe:

我正在努力学习如何使用OnTradeTransaction函数

在测试器中使用时,我看到以下问题。一个订单被打开,因此OnTradeTransaction被调用。此刻,我在OnTradeTransaction内使用CPositionInfo类获得头寸大小。一切都很好。然后在同一个调用中,我直接从OnTradeTransaction中调用另一个函数,那里的CPositionInfo返回0,即不是我需要的。又过了几分钟,我试图在OnTimer中获取头寸大小,但那里一切正常,即1。当然,在整个历史上,这个位置还没有被关闭和重新开放。

这是我的问题。为什么CPositionInfo在OnTradeTransaction中返回我需要的东西,但在从OnTradeTransaction调用的另一个函数中,却返回0而不是仓位量。


这里是日志。(在10:30:12开仓,10:48:53平仓)

这就触发了一个订单。

2017.09.22 10:30:12 订单 [#3买入限额1.00 SBRF-3.18 at 19352] 触发了

OnTradeTransaction被调用三次。CPositionInfo在每次调用时,仓位量等于1。在最后一次调用TRADE_TRANSACTION_HISTORY_ADD的时候,我调用了这个函数。

2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_DEAL_ADD order=3 order_type=ORDER_TYPE_BUY state=ORDER_STATE_STARTED Price=19352.0 deal=2 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_ORDER_DELETE order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_HISTORY_ADD order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0

在一个从OnTradeTransaction调用的函数中。

2017.09.22 10:32:50 报价符号SBRF-3.18上有一个0.0的位置,朝向POSITION_TYPE_BUY。

经过一段时间的努力,在OnTimer中再次获得音量

2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0

关闭位置

2017.09.22 10:48:53 订单 [#5卖出限额1.00 SBRF-3.18 at 19435] 触发了

如果有MqlTradeTransaction结构,有关于订单、交易和头寸的所有信息,为什么还要使用CPositionInfo?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
  • www.mql5.com
Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...
 

为了方便。从MqlTradeTransaction 中调用一个小函数。它通过搜索类的元素找到必要的元素。然后,为这个元素调用一个类函数,它做一些有用的事情。

 
pivomoe:

为了方便。从MqlTradeTransaction 中调用一个小函数。必要的元素是通过搜索类的元素在那里找到的。为这个元素调用了一个类函数,它做了一些有用的事情。

显然,你必须改变整个算法才能做到这一点。这个问题的描述非常糟糕。如果你需要一些没有使用OnTradeTransaction的类,你就不需要一些使用OnTradeTransaction的类。这正是为什么它说

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

初学者的常见问题 MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2017.12.30 09:04

既然有MqlTradeTransaction结构,所有订单、交易和头寸信息都在其中,为什么还要使用CPositionInfo


 
改变算法并不是问题。我只是想不明白,CPositionInfo在开仓后 是否先返回1,然后返回0,再返回1(我们在讨论仓位大小)。尽管历史记录显示,该职位既没有关闭,也没有再次打开。
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
自定义函数Abc()被执行,它实现了一个长的(时间)算法。
这个功能的执行过程中,会发生一些事件,例如--交易、定时器等。
是否有可能在没有完成执行Abc()函数的情况下知道这些事件的发生?