mql5语言的特点、微妙之处以及技巧 - 页 20 1...131415161718192021222324252627...247 新评论 Alexey Viktorov 2017.03.14 05:57 #191 安德烈-迪克也是为了保值。多年来,我的大脑已经被磨练成了网状。 订单->交易->位置。一个头寸中可能有很多交易(在对冲中只有一个交易,如果我错了请纠正我),你可以通过交易的类型 来判断这个头寸发生了什么。在套期保值中,当然更容易理解,但更难跟进。当然是这样。只要市场上存在这个位置,就有一个。但当它被关闭时,会有第二个订单和第二个交易。ps;我可能错了。见下面的帖子中的ps。 Alexey Viktorov 2017.03.14 06:00 #192 Artyom Trishkin: And the SL trawl ?你将如何确定在SL拖网的正面关闭的内容?好吧,我还没有考虑到这一点。然后让我们检查一下开仓 的订单的价格和平仓的订单的价格。虽然我们可能可以不考虑订单,只用交易来操作。ps;没有...这里有一些问题。毕竟,开仓后的每一次止损或止赢的变化都是一个新的订单和新的交易。显然,这就是我们应该用的工作......我无法检查,我没有带止损的头寸。只有一些人有采取。 Andrey Dik 2017.03.14 06:11 #193 阿列克谢-维克多罗夫。当你找到最后一笔交易DEAL_ENTRY_OUT并选择整个历史仓位HistorySelectByPosition时,对于Hedge账户有2笔交易和2个订单,开仓和平仓。发生平仓的基础订单包含ORDER_PRICE_OPEN。然后你要检查仓位类型和用于平仓的订单类型。如果订单类型是相反的,意味着是平仓。相应地,订单价格是我们应该寻找的价格,但有一个小的修正:如果订单利润>0,那么这就是TP的价格,如果它< 0,那么该位置已经在SL上关闭。如果我们依靠对该命令的评论,我不会这样做。并非如此简单。一个仓位的最后一笔订单可能是平仓的订单,也可能是逆转的订单。关于SL和TP - 从评论中确定最简单和最可靠的方法。比较SL和TP的价格并不总是正确的,因为SL和TP可以同时在盈利和亏损区。 这在论坛上已经讨论得很激烈了,Sergeev先生对我引用的评论给出了适当的解决方案。 Alexey Viktorov 2017.03.14 06:21 #194 安德烈-迪克这不是那么简单。一个仓位的最后一个订单可以是平仓的订单,也可以是逆转的订单。而关于SL和TP--从报价中确定最简单和最可靠的方式。比较SL和TP的价格并不总是正确的,因为SL和TP都可以在盈利和亏损区。我并没有说这很容易。事实上,只有在净账户上,SL和TP才等于SL和TP。而且只在净值账户中。在对冲账户中,要扭转一个头寸,必须用较大的交易量将其关闭。难道不是这样吗?这个话题很有意思,但由于上述原因,我无法检查。我没有带止损的头寸,特别是跟踪的头寸。 Andrey Dik 2017.03.14 06:29 #195 阿列克谢-维克多罗夫。逆转头寸的订单不能是采取或停止。TP和SL不是MT会计系统中的订单,它们是头寸属性。因此,你不能在订单/交易上与SL/TP合作(甚至明智的网站引擎也用链接证实了这一点)。阿列克谢-维克多罗夫。在对冲账户中,为了扭转一个头寸,你应该用一个更大的量的相反订单来关闭它。难道不是这样吗?不,不是的。在对冲账户中,头寸不能被逆转,只能被关闭。 Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций www.mql5.com Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Alexey Viktorov 2017.03.14 06:46 #196 安德烈-迪克在MT会计系统中,TP和SL不是订单,它们是头寸属性。因此,你不能与SL/TP的订单/交易合作(即使是明智的网站引擎也会用链接确认)。不,不是的。在对冲账户中,头寸不能被逆转,只能被关闭。 但一旦一个头寸被关闭,其属性就不再可用。你只需搜索有关订单和交易的必要信息。 fxsaber 2017.03.14 06:49 #197 关于交易、自动交易系统和策略测试的论坛MQL5 我如何知道一笔交易是否以止损方式关闭?fxsaber, 2017.02.14 19:46 票据,这是关闭头寸 的原因,把它推到这里。#define ORDER_TYPE_TAKEPROFIT (-1)#define ORDER_TYPE_STOPLOSS (-2)int GetOrderType(const ulong OrderTicket){ int OrderType=(int)::HistoryOrderGetInteger(OrderTicket,ORDER_TYPE); if((OrderType==ORDER_TYPE_BUY) || (OrderType==ORDER_TYPE_SELL)) { const string OrderComment=HistoryOrderGetString(OrderTicket,ORDER_COMMENT); const string OrderPrice=::DoubleToString(::HistoryOrderGetDouble(OrderTicket,ORDER_PRICE_OPEN), (int)::SymbolInfoInteger(HistoryOrderGetString(OrderTicket,ORDER_SYMBOL),SYMBOL_DIGITS)); if(OrderComment=="tp "+OrderPrice) OrderType=ORDER_TYPE_TAKEPROFIT; else if(OrderComment=="sl "+OrderPrice) OrderType=ORDER_TYPE_STOPLOSS; } return(OrderType);} 贸易交易时 Features of the mql5 OnTradeTransaction Alexey Viktorov 2017.03.14 06:54 #198 安德烈-迪克 请给我一个例子。 一个什么的例子?关闭职位 后,该职位的属性 就无法使用? Andrey Dik 2017.03.14 07:00 #199 阿列克谢-维克多罗夫。 一个什么的例子?一个职位的属性 在关闭后就不能使用了? 一个关于如何确定订单和交易的平仓SL或TP的例子。我举了一个例子,说明你如何从你的评论中确定这一点。 Alexey Viktorov 2017.03.14 07:14 #200 Andrey Dik: 例子,你如何确定订单和交易的SL或TP位置关闭。我举了一个例子,说明你如何从你的评论中确定这一点。我没有做任何事情。即使在mql4中,我发现翻看订单历史也没有用。我还在努力分析,必要时我可能会开始挖掘的方向。由于在任何终端都没有贩运的位置,我根本无法检查它们。 因此,在我的账户上平仓后,只有2个订单和2个交易涉及到该位置。利用它们,我们可以获得一些关于职位的信息。例如,请求是以什么价格打开的,具体是在什么时候打开的。因此,我们可以很容易地确定开仓时 的滑点。 从MT4开始,我就谨慎对待评论,因为经纪公司会根据自己的原因覆盖所有评论。 1...131415161718192021222324252627...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
也是为了保值。
多年来,我的大脑已经被磨练成了网状。 订单->交易->位置。一个头寸中可能有很多交易(在对冲中只有一个交易,如果我错了请纠正我),你可以通过交易的类型 来判断这个头寸发生了什么。
在套期保值中,当然更容易理解,但更难跟进。当然是这样。
只要市场上存在这个位置,就有一个。但当它被关闭时,会有第二个订单和第二个交易。
ps;我可能错了。见下面的帖子中的ps。
And the SL trawl ?你将如何确定在SL拖网的正面关闭的内容?
好吧,我还没有考虑到这一点。然后让我们检查一下开仓 的订单的价格和平仓的订单的价格。
虽然我们可能可以不考虑订单,只用交易来操作。
ps;没有...这里有一些问题。毕竟,开仓后的每一次止损或止赢的变化都是一个新的订单和新的交易。显然,这就是我们应该用的工作......
我无法检查,我没有带止损的头寸。只有一些人有采取。
当你找到最后一笔交易DEAL_ENTRY_OUT并选择整个历史仓位HistorySelectByPosition时,对于Hedge账户有2笔交易和2个订单,开仓和平仓。发生平仓的基础订单包含ORDER_PRICE_OPEN。然后你要检查仓位类型和用于平仓的订单类型。如果订单类型是相反的,意味着是平仓。相应地,订单价格是我们应该寻找的价格,但有一个小的修正:如果订单利润>0,那么这就是TP的价格,如果它< 0,那么该位置已经在SL上关闭。
如果我们依靠对该命令的评论,我不会这样做。
并非如此简单。一个仓位的最后一笔订单可能是平仓的订单,也可能是逆转的订单。
关于SL和TP - 从评论中确定最简单和最可靠的方法。比较SL和TP的价格并不总是正确的,因为SL和TP可以同时在盈利和亏损区。 这在论坛上已经讨论得很激烈了,Sergeev先生对我引用的评论给出了适当的解决方案。
这不是那么简单。一个仓位的最后一个订单可以是平仓的订单,也可以是逆转的订单。
而关于SL和TP--从报价中确定最简单和最可靠的方式。比较SL和TP的价格并不总是正确的,因为SL和TP都可以在盈利和亏损区。
我并没有说这很容易。事实上,只有在净账户上,SL和TP才等于SL和TP。而且只在净值账户中。在对冲账户中,要扭转一个头寸,必须用较大的交易量将其关闭。难道不是这样吗?
这个话题很有意思,但由于上述原因,我无法检查。我没有带止损的头寸,特别是跟踪的头寸。
逆转头寸的订单不能是采取或停止。
TP和SL不是MT会计系统中的订单,它们是头寸属性。因此,你不能在订单/交易上与SL/TP合作(甚至明智的网站引擎也用链接证实了这一点)。
阿列克谢-维克多罗夫。
在对冲账户中,为了扭转一个头寸,你应该用一个更大的量的相反订单来关闭它。难道不是这样吗?
不,不是的。在对冲账户中,头寸不能被逆转,只能被关闭。
在MT会计系统中,TP和SL不是订单,它们是头寸属性。因此,你不能与SL/TP的订单/交易合作(即使是明智的网站引擎也会用链接确认)。
不,不是的。在对冲账户中,头寸不能被逆转,只能被关闭。
关于交易、自动交易系统和策略测试的论坛
MQL5 我如何知道一笔交易是否以止损方式关闭?
fxsaber, 2017.02.14 19:46
票据,这是关闭头寸 的原因,把它推到这里。#define ORDER_TYPE_STOPLOSS (-2)
int GetOrderType(const ulong OrderTicket)
{
int OrderType=(int)::HistoryOrderGetInteger(OrderTicket,ORDER_TYPE);
if((OrderType==ORDER_TYPE_BUY) || (OrderType==ORDER_TYPE_SELL))
{
const string OrderComment=HistoryOrderGetString(OrderTicket,ORDER_COMMENT);
const string OrderPrice=::DoubleToString(::HistoryOrderGetDouble(OrderTicket,ORDER_PRICE_OPEN),
(int)::SymbolInfoInteger(HistoryOrderGetString(OrderTicket,ORDER_SYMBOL),SYMBOL_DIGITS));
if(OrderComment=="tp "+OrderPrice)
OrderType=ORDER_TYPE_TAKEPROFIT;
else if(OrderComment=="sl "+OrderPrice)
OrderType=ORDER_TYPE_STOPLOSS;
}
return(OrderType);
}
请给我一个例子。
一个什么的例子?一个职位的属性 在关闭后就不能使用了?
例子,你如何确定订单和交易的SL或TP位置关闭。我举了一个例子,说明你如何从你的评论中确定这一点。
我没有做任何事情。即使在mql4中,我发现翻看订单历史也没有用。我还在努力分析,必要时我可能会开始挖掘的方向。由于在任何终端都没有贩运的位置,我根本无法检查它们。
因此,在我的账户上平仓后,只有2个订单和2个交易涉及到该位置。利用它们,我们可以获得一些关于职位的信息。例如,请求是以什么价格打开的,具体是在什么时候打开的。因此,我们可以很容易地确定开仓时 的滑点。
从MT4开始,我就谨慎对待评论,因为经纪公司会根据自己的原因覆盖所有评论。