伟大而可怕的MT4永远(或如何制定过渡策略) - 页 5

 
PapaYozh:

你没有人可以说话吗?

你是什么意思?伊戈尔把一条疯狂的短信扔到我头上。当然没有必要如此扭曲,但如果你不能,但真的需要,那么你可以。

通过提出这样一个话题,你想要一个40页的严肃讨论?关于它的一切可以认真说的都已经说过了。

 
Alexey Viktorov:

说它是刺猬,也没有什么区别。仔细看看,它们有什么不同?还有开盘价、开盘时间、取价和止损以及订单的其他一切内容。

我们已经采用了这个术语,仅此而已。你可能会习惯于它,甚至在4岁时也会使用它。

例如,我们有4个订单开放价格的函数

if(OrderSelect(aTicket, SELECT_BY_TICKET))
  return OrderOpenPrice();

如果我们需要知道一个订单的利润,我们可以这样做

if(OrderSelect(aTicket, SELECT_BY_TICKET))
  return OrderProfit();

试着在5分钟内解决这两个问题。你要花多少时间来解决这些问题。反正你不会在第一次尝试时就成功,直到你在真实账户上运行算法,面对你在测试器中没有看到的东西。不是每个人都有这么多时间去理解和编写大规模的库。这就是为什么他们说MT4更容易,更简单。由于其简化的订单系统,它只是初级的耗时较少。

 
Vasiliy Pushkaryov:

例如,在Foursquare中有一个函数可以获取一个订单的开盘价

你需要知道一个订单的利润。

试着在5分钟内解决这两项任务。你要花多少时间来解决这些问题。反正你不会在第一次尝试时就成功,直到你在真实账户上运行该算法,并面临一些在测试器中不会遇到的问题。不是每个人都有这么多时间去理解和编写大规模的库。这就是为什么他们说MT4更容易,更简单。只是由于其简化的订单系统,花在这上面的时间更少。

我甚至不知道该如何告诉你...

位置_音量

职位数量

价格

仓位价格

姿势_SL

未结头寸的止损水平

位置_TP

敞口头寸的获利水平

当前位置_价格

符号的当前价格

POSITION_SWAP

累积的互换

盈利

当前利润

 
Vasiliy Pushkaryov:

例如,在Foursquare中有一个函数可以获取一个订单的开盘价

你需要知道一个订单的利润。

试着在5分钟内解决这两项任务。你要花多少时间来解决这些问题。反正你不会在第一次尝试时就成功,直到你在真实账户上运行该算法,并面临一些在测试器中不会遇到的问题。不是每个人都有这么多时间去理解和编写大规模的库。这就是为什么他们说MT4更容易,更简单。只是由于其简化的订单系统,花费的时间更少。

同时,在4ka中,不可能设置订单执行类型。而且也有很多人希望和经纪人做同样的事情,而且他们有很好的基础。这是与交易所、证券经纪公司沟通的2种不同方式。一个是简化的,另一个是最接近现实的,因此更复杂。而优化和玛坦的好处是不可否认的。

4K应该得到维护。这是一个简单、方便的工具,在交易和研究方面都有足够的可能性。

5ka需要发展,以保持在其他产品中的地位。

 
Alexey Viktorov:

我甚至不知道该如何告诉你...

位置_音量

职位数量

价格

仓位价格

姿势_SL

未结头寸的止损水平

位置_TP

敞口头寸的获利水平

当前位置_价格

符号的当前价格

POSITION_SWAP

累积的互换

盈利

当前利润

如果我现在需要查看封闭的实体怎么办。4中没有任何变化。那在MT5中呢?
 
Vasiliy Pushkaryov:

例如,在Foursquare中有一个函数可以获取一个订单的开盘价

你需要知道一个订单的利润。

试着在5分钟内解决这两项任务。你要花多少时间来解决这些问题。反正你不会在第一次尝试时就成功,直到你在真实账户上运行该算法,并面临一些在测试器中不会遇到的问题。不是每个人都有这么多时间去理解和编写大规模的库。这就是为什么他们说MT4更容易,更简单。由于其简化的订单系统,它只需要更少的时间。

你的代码没有检查,所以在5中它将是类似的,使用PositionSelectByTicket ,这将复制位置的属性到环境....。那么原理将与MT4相同


好吧,这个话题和世界一样古老,尤其是现在我们正在进行一项突击调查:"谁从MT5帮助中了解了什么"。,

帮助很详细,即使没有关于订单系统和MT5标准库的文章材料也足够了。

 
Vasiliy Pushkaryov:
如果我现在需要查看封闭的实体怎么办。4中没有任何变化。现在MT5中的情况如何?
我想了解,这对我来说是一场考试,还是对你来说是一堂免费课?学会阅读语言文档。那里有很多有趣的东西。
 
Alexey Viktorov:
我想了解,这对我来说是一场考试,还是对你来说是一堂免费课?学会阅读语言文档。那里有很多有趣的东西。

是的,没有。只是最近在关闭一个头寸后,我决定在上面获利。而且不是5分钟,因为以前是4分钟。我不得不安排一个有超额交易的循环。后来发现,平仓后不一定能立即获得利润。我不得不把它再包上一圈。我在上面花了半天时间。我的观点是这样的。

仔细看看,它们有什么不同?还有开盘价、开盘时间、取价和止损以及订单中的其他所有内容。

不要反应过度,我并不打算给任何人做检查。

 

Vasiliy Pushkaryov:

不要反应过度,我并没有打算给任何人做考试。

好吧,如果这不是考试,那就是识字课。注意这样一个位置属性:POSITION_IDENTIFIER

bool  HistorySelectByPosition(
   long   position_id     // идентификатор позиции - POSITION_IDENTIFIER
   );

...而且你不必做任何无用的循环。一个关闭的Hadge账户头寸总是有两笔交易......在指数0下开仓,在指数1下平仓,除非你做了部分平仓。


ps;文盲讲座到此结束。:-)))

Документация по MQL5: Торговые функции / HistorySelectByPosition
Документация по MQL5: Торговые функции / HistorySelectByPosition
  • www.mql5.com
HistorySelectByPosition - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vasiliy Pushkaryov:

是的,没有。只是最近在关闭一个头寸后,我决定在上面获利。而且不是5分钟,因为以前是4分钟。我不得不组织一个有超额交易的循环。后来发现,平仓后不一定能立即获得利润。我不得不把它再包上一圈。我在上面花了半天时间。这就是我的意思。

我不想做考试。

嗯,这是MT5速度的代价--所有的交易订单都是异步的,也就是说,MQL5不会等待服务器的回答,而是继续其工作。

在MT4中,所有的交易订单都收到来自服务器的同步响应。


你要问的是怎么做,而不是为什么?

- 要么在下一个tick上处理订单关闭(要么在循环中,要么暂停......或者在这里,这取决于TS)。

- 或处理OnTradeTransaction