贸易交易时 - 页 6

 
prostotrader:

你可能根本不记得任何事情

我同意这样做是可行的(在全倒的情况下)。
void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest &Request, const MqlTradeResult &Result )
{
  if ((Trans.type == TRADE_TRANSACTION_DEAL_ADD) && (Trans.position > 0) && !PositionSelectByTicket(Trans.position))
    Print("Position #" + (string)Trans.position + " - triggered SL/TP.");
}

但对话似乎变得 更广泛了。
 
Andrey Dik:

你很不专心,我不是话题的发起人。

你还应该给我看这样的代码。

//——————————————————————————————————————————————————————————————————————————————
void  OnTradeTransaction (const MqlTradeTransaction &trans,   // структура торговой транзакции
                          const MqlTradeRequest     &request, // структура запроса
                          const MqlTradeResult      &result)  // структура ответа
{
  
}  

如果你不喜欢它,你可以使用Joba!是这样吗?

我已经花了足够的时间来回答你的问题。

如果你的问题不是那么 "抽象",也许答案会更具体。

即。

1.FORTS或FOREX

2.你用的是什么类型的网状物还是绿篱?

3.在职位的有效期 内是否使用了其他订单

问题和答案是一样的。

 
fxsaber:
我同意这样做是可行的(在充分填充的情况下)。
void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest &Request, const MqlTradeResult &Result )
{
  if ((Trans.type == TRADE_TRANSACTION_DEAL_ADD) && (Trans.position > 0) && !PositionSelectByTicket(Trans.position))
    Print("Position #" + (string)Trans.position + " - triggered SL/TP.");
}

但对话似乎变得 更广泛了一些。

我不记得可以为ST/TP设置音量。

如果没有(我现在检查),该位置将关闭FULL或SL或TP

 
prostotrader:

我不记得等待ST/TP设置音量,如果没有的话。

那么该仓位将关闭满额或SL或TP

流动性可能就是不够的。
 
fxsaber:
流动性可能就是不够的。
是的,而且经纪人可能会关闭电源:)....。
 
prostotrader:
是的,而且经纪人可以关闭电源 :)....
拿一个低流动性的工具,就这样了。
 
fxsaber:
拿一个低流动性的工具,就这样了。

这就是我推荐使用挂单 的原因

由以下人员添加

这在很大程度上取决于市场和仪器...

 
<br/ translate="no">

为了准确识别在OnTradeTransaction事件中哪个订单得到了响应,除第一个订单事件外的所有事件都要用票据签名。

第一个事件是由ticket和request_id共同签署的。用户在提交订单后立即从OrderSendAsinc函数中获得 request_id。这就是特定的OrderSendAsinc迭代与OnTradeTransaction中获得的结果的联系。

OrderSendAsync 中的票据可能根本就不存在,如果我们以每秒100个的速度发射订单,很可能就不存在了(最多是retcode 10008,就这样)。

 
dmipec:

OrderSendAsync中的票据可能存在,也可能不存在,如果订单以每秒几千单位的速度发射,很可能就不存在了(retcode 10008最多就是这样)。

好吧,不是10个,只是在标准登录中每秒30个。

如果你写得正确,订单肯定会在那里。

 
Vasiliy Sokolov:

与其分析事件,不如分析交易环境,只有当交易环境发生变化时,你才能做出必要的决定。OnTransaction只能在非常有限的情况下使用,在你的工作中通常最好不要使用它。看看MetaTrader 4,它没有OnTransaction,每个人都没有它。

我同意。但不幸的是,在MT5中,与MT4不同,交易环境可能与现实不相符。例如,当一个挂单被执行了几毫秒后,它可能就不知所踪了。甚至OnTradeTransaction 在这里也无济于事。