来自一个 "傻瓜 "的问题 - 页 15

 
Yedelkin:
额外的问题:在传递double <-> long时,是否有任何优雅的方法来保存信息?
复制简单结构https://www.mql5.com/ru/docs/basis/types/casting#casting_structure
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
stringo:

所有64个。事实上。不要拘泥于有符号或无符号的类型。

最好的事情是自己去看。那么这个问题就一劳永逸地结束了。

是的,我已经写了,我忘记了类型转换。

并且已经检查了所有的东西。标志并没有丢失。一切都很好。

 
哎呀!与Metadriver的第二个例子一样!......这就是强调似乎已经读过的东西是多么重要。
 
sergeev:

检查 CTrade类中的 PositionClose 。
我相信它将和你的一样。唯一的结论是,没有其他办法。

但我支持你的请求。我要求开发者考虑这个变体。

增加TRADE_ACTION_CLOSE 操作类型-- 以 当前价格 在其成交量中关闭一个指定符号的头寸。

这将是最理想的!赞成。

对于论坛的其他成员,我将再次简要地概述一下这个问题。

在MQL5现有的交易/订单核算系统和平仓方法中,总是有一个非零的概率,即从市场上关闭的SL/TP头寸将不会真正关闭,相反的头寸将被打开。

市场越接近SL/TP头寸,这个概率就越高,使得关闭SL/TP的市场不可能平仓(因为SL/TP平仓可能发生在发送新的市场订单平仓期间)

现有的解决方案并不令人满意

a) 如果我们在订单关闭前删除SL/TP,首先需要时间,在连接失败的情况下,头寸将留在市场中,没有止损,等等。

b) 等待SL/TP的触发也不是一种选择,因为我们可能需要提前退出。

我理解新的会计制度的引入带来了某些限制,但当为了概念而完全牺牲产品的可用性时,大众不太可能对它感兴趣 :(

亲爱的开发者,你建议用什么来保证退出市场(价格并不重要)?在MQL4中请求平仓时,我可以确定仓位会被关闭,或者专家顾问会得到一个错误代码,并继续尝试。

 
Yedelkin:

完成了!在密码中,用L.l=4548887299649496524替换第14行。

............

得分!;)

 
从参考资料来看。
PositionClose
...
Примечание

Успешное окончание работы метода PositionClose(...)
не всегда означает успешное совершение торговой операции.
Необходимо проверять результат выполнения торгового запроса
(код возврата торгового сервера) вызовом метода ResultRetcode().

公平的警告。

***

在手动平仓 时找不到这样的警告,但在交易中,在平仓时有一个计数器......。

对于一个保证平仓的头寸,滑点是否会根据波动率而增加?还是什么?是这样一个 "向管道交易商问好 "吗?

我支持向开发商提出的问题。

 

沉默,这不是关于滑坡和返回代码检查的问题。

问题是,为了关闭一个头寸,你需要明确发送一个开立新头寸的请求,但方向相反。

交易服务器把这个请求看作是一个新头寸的开仓。它没有经过培训就能理解,我们实际上是想关闭一个现有的头寸。

从净值的角度来看,这有点正确,但这样就不可能保证从市场上用SL/TP平仓。无论这个SL/TP相隔多远,我们都不能确定在我们准备新的订单(平仓)时,价格会赶上我们的SL/TP,并且头寸会自己平仓。而我们的新秩序将锻炼和打开一个相反的位置。

我相信唯一的出路,正如sergeev所建议的,是通过实现一个新的"TRADE_ACTION_CLOSE"操作类型的复选框,教会服务器区分开立新头寸的请求和关闭现有头寸。

但也许开发商有自己的变体?

 
难道没有人有解决办法吗?
 
Cron:
难道没有人有解决办法吗?
有一些解决方案,但它们很难让你满意......例如,删除SL/TP,然后根据算法......你自己说:"就净值而言 ,它似乎是正确的,但这样就不可能保证从市场上关闭一个位置......"。
 
Yedelkin:
有一些解决方案,但它们并不适合你。例如,根据算法去除SL/TP等......你自己说:"从净值的角度来看 ,这似乎是正确的,但这样就不可能保证从市场上关闭头寸......"。

是的,删除SL/TP是浪费时间,再加上在连接问题的情况下被留在市场上没有停止的风险。

不过,我认为可以增加"TRADE_ACTION_CLOSE",以方便许多在DC工作的用户。[例如,在网状物很重要的情况下,要禁用这种操作?(FORTS, RTS)]。

如果不对用户采取一些措施,许多经纪公司的客户转到MT5是没有意义的。我在编程方面有一些经验,在将一个EA从MQL4移植到MQL5时仍然面临一些困难。但除了这个SL/TP问题和从市场上关闭之外,所有这些问题都以这样或那样的方式得到了解决。

我不想教开发者他们比我更清楚的东西,但我想提的是,为交易所和经纪公司追逐通用产品而损害用户友好,将导致对产品的需求降低,许多人将留在MT4上 :(