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

 
Vladpedro:

这没有什么区别。我怀疑有区别,因为当我设置订单和仓位时,我给他们的仓位我自己的 "评论",给订单我自己的。因此,当一个订单移动到一个位置时,它继承了订单的评论。

然后当我们通过评论检查位置时,出现了混乱......评论是不同的。 我修复了这个。

在你的代码中,我完全没有发现或理解在SELL_LIMIT 触发的条件下是如何平仓的 公平。

似乎我们已经检查了所有的头寸是否可以被关闭,并且为它设置了标志。

但在CloseAllPositions()

缺少一些东西。

没有检查关闭所有头寸的情况 -SELL_LIMIT 已经触发。

也许这个同样的m_account.Equity()>= m_account.Balance()+15是以其他方式实现的?

也可能是因为我对平均数在我的语境中的含义解释得不正确。

我已经在上面提到过-- 挂单 与此无关。一个挂单不能有利润。从 "在所有 "这个词来看。除非你把这一点说清楚,否则你就无法继续前进。


补充:我展示了两种情况的解决方案的例子。

  1. 如果我们只有两个头寸,那么我们应该寻找有更多利润的那一个,并将其关闭。
  2. 如果我们有两个以上的头寸,如果它们的总利润超过了指定的一个,那么我们就关闭所有的头寸。
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Vladimir Karputov:

我已经在上面指出了-- 挂单 与此完全无关。一个挂单不能有利润。从 "在所有 "这个词来看。除非你把这一点说清楚,否则你无法进一步发展。

弗拉基米尔。当然,一个挂单不可能有利润。当然,我们说的是未结头寸的利润。

只是区别在于这些头寸的开仓方式。 我们需要对它们采取不同的平仓方式。

如果第二个头寸是由一个聪明的SELL_STOP订单建立的,那么其中一个必须被关闭,就是那个有更大利润的头寸。 这对你来说已经成功了,而且很有效。

如果第二个头寸是由SELL_LIMIT订单打开的,那么它们都应该由Equity(m_account.Equity()>= m_account.Balance()+15 关闭,除非其中一个 SL 首先被触发。

已添加。

我已经展示了两种情况下的解决方案实例。

  1. 我们只有两个仓位--所以我们寻找有更多利润的仓位并关闭它。
  2. 拥有两个以上的头寸--如果其总利润超过规定--关闭所有头寸。

在第二个条件下,一切似乎都很好。但由于某些原因,我的第二个条件是打开第二个位置,并立即关闭它,接近0 -1,2。

也许我在一个错误的地方指定了总利润?

InpProfitTarget = 15; 如果在这里,它不工作。


 
Vladpedro:

弗拉基米尔。当然,一个挂单不能有利润。我们谈论的是利润,当然是关于开放的头寸。

只是这些仓位的开仓方式不同。 我们需要对它们采用不同的平仓方式。

如果第二个头寸是由一个聪明的SELL_STOP订单建立的,那么其中一个必须被关闭,就是那个有更大利润的头寸。 这对你来说已经成功了,而且很有效。

如果第二个头寸是由SELL_LIMIT订单打开的,那么它们都应该由Equity(m_account.Equity()>= m_account.Balance()+15 关闭,除非其中一个 SL 首先被触发。

对不起。

我展示了两个案例的解决方案的例子。

  1. 我们只有两个头寸--所以我们寻找利润较大的那一个,并将其关闭。
  2. 如果我们有两个以上的头寸,如果它们的总利润大于指定的,我们就关闭所有头寸。


接下来请你自己做一些事情。

 
Vladimir Karputov:

对不起。

我展示了两个案例的解决方案的例子。

  1. 我们只有两个头寸,所以我们寻找利润最高的那个头寸并关闭它。
  2. 我们有两个以上的头寸--如果它们的总利润高于给定的利润,我们就关闭所有头寸。


从这里开始,请你自己做一些事情。

谢谢你的帮助,弗拉基米尔,我正在努力。

2.我们有两个以上的头寸--如果它们的总利润大于指定的一个,我们就关闭所有的头寸。

但我不需要它,我需要两个或更多的头寸,其中第二个头寸是在触发SELL_LIMIT 的情况下打开 的。

无论如何,感谢你的耐心和努力。当然,我会用自己的方式来解决,我会吃苦耐劳,解决它)))。

 
各位晚上好,我的问题是这样的--脚本设置了一个有明确取舍和止损的挂单,它没有被执行,并且在评论中规定了[非流动性] - 如何战斗--在执行前循环脚本,设置更高的滑点,或规定重试的次数或什么?或者给我一个提示,让我去哪里挖。
 
neitrino22:
或者给我一个提示,让我去哪里挖。

你应该总是在文件中寻找

秩序时间(ORDER_TIME_GTC

该订单将保持在队列中,直到它被撤回。

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Alexey Viktorov:

你应该总是在文件中寻找

秩序时间(ORDER_TIME_GTC

该订单将保持在队列中,直到它被撤回。

谢谢你,这一定是它

 

晚上好!

有1个空缺职位

专家顾问使用PositionClose()方法关闭一个头寸。

结果被打印出来 ResultRetcode= 10009。代码描述:在0.00时完成

在代码下面,有一个检查if(PositionSelect(_Symbol)),它成功了。

也就是说,在执行PositionClose()和未平仓头寸消失之间有一段时间,在此期间,程序设法进行错误的退出。

如何正确解决这种情况?


 

为什么我每次在测试后都要重新启动终端来运行一个新的测试?

2020.04.27 15:19:08.415 Tester  XAUUSD: history data begins from 2014.02.12 00:00
2020.04.27 15:19:08.415 Tester  XAUUSD: history data begins from 2014.02.12 00:00
2020.04.27 15:19:08.415 Core 01 connecting to 127.0.0.1:3000
2020.04.27 15:19:08.415 Core 01 connected
2020.04.27 15:19:08.425 Core 01 authorized (agent build 2361)
2020.04.27 15:19:08.427 Tester  XAUUSD,M15 (Alpari-MT5-Demo): testing of Experts\ExpertTest.ex5 from 2017.07.26 00:00 to 2020.02.06 00:00
2020.04.27 15:19:08.466 Core 01 disconnected
2020.04.27 15:19:08.466 Core 01 connection closed

我删除了所有对象。我关闭了文件。以下是我停止测试时的日志。

2020.04.27 15:15:43.188 Core 01 disconnected
2020.04.27 15:15:43.188 Core 01 connection closed
2020.04.27 15:15:43.189 Tester  stopped by user

但下次就不会再启动了--我必须关闭终端,然后再打开它。建设2361。

 
如何在OnTradeTransaction 中获得平仓评论?