相反交易 - MetaTrader 5 专家
开仓与平仓相反,交易量相同。它适用于任何符号和任何幻数。
例如,我们有一个 AUDUSD 买入 0.01 持仓。一旦该仓位被平仓(例如我们手动平仓)对口贸易Expert Advisor 将立即开立新的 AUDUSD 头寸,现在是卖出头寸。
整个代码包含在 OnTradeTransaction 函数中:
//+------------------------------------------------------------------+ //| TradeTransaction 函数 | //+------------------------------------------------------------------+ 空白 网上交易(常量 MqlTrade事务&反式, 常量 Mql交易请求&要求, 常量 Mql交易结果&结果) {//--- 获取交易类型作为枚举值 ENUM_TRADE_TRANSACTION_TYPE类型=反式.类型;//--- 如果交易是添加历史交易的结果 如果(类型==TRADE_TRANSACTION_DEAL_ADD) { 长的 deal_type =-1; 长的 deal_entry =-1; 双倍的 交易量 =0.0; 细绳 deal_symbol =””; 如果(历史交易选择(交易)) { deal_type =历史交易获取整数(跨交易,交易类型); deal_entry =历史交易获取整数(跨交易,DEAL_ENTRY); 交易量 =历史交易获得双倍(跨交易,交易量); deal_symbol =历史交易获取字符串(跨交易,DEAL_SYMBOL); } 别的 返回; 如果(交易条目==DEAL_ENTRY_OUT) { 转变((整数)交易类型) { 案件 DEAL_TYPE_BUY: m_trade.Buy(deal_volume,deal_symbol); 休息; 案件 交易类型_卖出: m_trade.Sell(deal_volume,deal_symbol); 休息; 默认: 休息; } } } }
我们在这里等待平仓交易 (DEAL_ENTRY_OUT)。一旦出现此交易,我们就会检查交易头寸(如果我们平仓买入,这将是一笔卖出交易,反之亦然)并开立一个新头寸。
附件下载
📎 opposite_trade.mq5 (6.19 KB)
Source: MQL5 #18904
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
