初学者的问题 MQL5 MT5 MetaTrader 5 - 页 656

 
在MQL5中,要关闭一个订单,你必须打开一个镜像反订单,没有其他办法吗?
 
new-rena:
在MQL5中,要关闭一个订单,你必须打开一个镜像反订单,而不是其他?

使用 你的标准库。

#include <Trade\Trade.mqh>
CTrade         m_trade;                      // trading object
...
m_trade.PositionClose(....
или
m_trade.PositionCloseBy(..

而且不用考虑任何事情。

 
Vladimir Karputov:

使用 你的标准库。

#include <Trade\Trade.mqh>
CTrade         m_trade;                      // trading object
...
m_trade.PositionClose(....
или
m_trade.PositionCloseBy(..

而不必考虑这个问题。

你怎么能不去想它呢?我正在用MQL5编写一个用于真实交易的程序,也就是说,用我的 真金白银进行交易

我已经阅读了文件。我不认为平仓有什么问题。

这个问题是不同的。- 我们的 "卖 "被 "买 "挡住了,而 "卖 "和 "买 "合并成一个订单,成交量等于零--这算不算平仓?

所以MQL5不包括地段?这意味着我没有侥幸的机会,除了在信号(订单)逆转时最终不可逆转的损失?

看看这些信号--MQL5不如MQL4好,说得不好听点就是......

你最好改善一下情况,从MQL5中删除 "位置 "这样的胡话。

 
new-rena:

我已经阅读了文件。

它表明。

new-rena:

...

所以MQL5排除了锁?这意味着我没有任何机会,除了最后不可挽回的损失外,没有任何机会让我获得一丝侥幸?

看看这些信号--与MQL4相比,MQL5是很逊色的,说句不好听的。

你最好改善一下情况,从MQL5中删除 "位置 "这样的胡话。

你应该时常翻阅帮助,及时了解更新情况 并阅读文章:MetaTrader 5中加入了用于头寸核算的对冲系统

 
new-rena:

你怎么能不去想它呢?我正在用MQL5编写一个用于真实交易的程序,即用我的 真金白银进行交易

我已经阅读了文件。我不认为平仓有什么问题。

这个问题是不同的。- 我们的 "卖 "被 "买 "挡住了,"卖 "和 "买 "合并成一个订单,成交量等于零,这算不算是平仓?

所以MQL5不包括地段?这意味着,除了不离开收银台就吃亏之外,我没有机会获得运气?

看看这些信号--与MQL4相比,MQL5是很逊色的,说句不好听的。

你需要纠正这种情况,从MQL5中删除 "位置 "这样的废话。

下面是一个对冲账户的例子。

第一个操作是买入0.02,第二个操作是卖出0.01。总共有两个仓位:买入0.02和卖出0.001。然后我们关闭卖出0.01的仓位关闭买入0.02 的仓位。

//+------------------------------------------------------------------+
//|                                                       TestEA.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
CTrade         m_trade;                      // trading object
CPositionInfo  m_position;                   // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   static long counter=0;
   counter++;
   if(counter%300==0 && counter<700)
     {
      static int number=0;
      number++;
      if(number==1)
         m_trade.Buy(0.02);
      if(number==2)
         m_trade.Sell(0.01);
     }
   if(counter>7000)
     {
      int positions= PositionsTotal();
      if(positions == 0)
         return;
      int positions_total=PositionsTotal();
      for(int i=positions_total-1;i>=0;i--)
         if(m_position.SelectByIndex(i))
            m_trade.PositionClose(m_position.Ticket(),-1);
     }
  }
//+------------------------------------------------------------------+

和杂志。

Trade   2016.02.25 00:13:35   instant buy 0.02 EURUSD at 1.10167 (1.10158 / 1.10167 / 1.10158)
Trades  2016.02.25 00:13:35   deal #2 buy 0.02 EURUSD at 1.10167 done (based on order #2)
Trade   2016.02.25 00:13:35   deal performed [#2 buy 0.02 EURUSD at 1.10167]
Trade   2016.02.25 00:13:35   order performed buy 0.02 at 1.10167 [#2 buy 0.02 EURUSD at 1.10167]
TestEA (EURUSD,H1)      2016.02.25 00:13:35   CTrade::OrderSend: instant buy 0.02 EURUSD at 1.10167 [done at 1.10167]
Trade   2016.02.25 00:30:17   instant sell 0.01 EURUSD at 1.10157 (1.10157 / 1.10164 / 1.10157)
Trades  2016.02.25 00:30:17   deal #3 sell 0.01 EURUSD at 1.10157 done (based on order #3)
Trade   2016.02.25 00:30:17   deal performed [#3 sell 0.01 EURUSD at 1.10157]
Trade   2016.02.25 00:30:17   order performed sell 0.01 at 1.10157 [#3 sell 0.01 EURUSD at 1.10157]
TestEA (EURUSD,H1)      2016.02.25 00:30:17   CTrade::OrderSend: instant sell 0.01 EURUSD at 1.10157 [done at 1.10157]
TestEA (EURUSD,H1)      2016.02.25 02:12:06   PositionClose #3 POSITION_TYPE_SELL 0.01
Trade   2016.02.25 02:12:06   instant buy 0.01 EURUSD at 1.10131, close #3 (1.10123 / 1.10131 / 1.10123)
Trades  2016.02.25 02:12:06   deal #4 buy 0.01 EURUSD at 1.10131 done (based on order #4)
Trade   2016.02.25 02:12:06   deal performed [#4 buy 0.01 EURUSD at 1.10131]
Trade   2016.02.25 02:12:06   order performed buy 0.01 at 1.10131 [#4 buy 0.01 EURUSD at 1.10131]

TestEA (EURUSD,H1)      2016.02.25 02:12:06   CTrade::OrderSend: instant buy 0.01 position #3 EURUSD at 1.10131 [done at 1.10131]
TestEA (EURUSD,H1)      2016.02.25 02:12:06   PositionClose #2 POSITION_TYPE_BUY 0.02
Trade   2016.02.25 02:12:06   instant sell 0.02 EURUSD at 1.10123, close #2 (1.10123 / 1.10131 / 1.10123)
Trades  2016.02.25 02:12:06   deal #5 sell 0.02 EURUSD at 1.10123 done (based on order #5)
Trade   2016.02.25 02:12:06   deal performed [#5 sell 0.02 EURUSD at 1.10123]
Trade   2016.02.25 02:12:06   order performed sell 0.02 at 1.10123 [#5 sell 0.02 EURUSD at 1.10123]
TestEA (EURUSD,H1)      2016.02.25 02:12:06   CTrade::OrderSend: instant sell 0.02 position #2 EURUSD at 1.10123 [done at 1.10123]

究竟是什么不清楚?你需要开一个相同数量的相反订单来平仓

附加的文件:
TestEA.mq5  5 kb
 
Anatoli Kazharski:

我可以看到。

托利亚纳,我受够了你。

你就不能在写商业文章时不讽刺别人吗?

 
new-rena:

托利亚纳,我受够了你。

你能在写商业文章时不讽刺别人吗?

这是什么?

你应该有时看看帮助注意更新和阅读文章:MetaTrader 5增加了一个头寸核算的对冲系统

 
Anatoli Kazharski:

这是什么?

你应该有时看看帮助注意更新和阅读文章:MetaTrader 5增加了一个头寸核算的对冲系统

这个--"它显示了。" 没有了!!!!!!!!!!!!!!!

如果你能回复,那就写个回复吧,Basta。

然后我会说,"谢谢你"。

但在这种情况下,请我直接发送。

 
new-rena:

托利亚纳,我受够了你。

你能在写商业文章时不讽刺别人吗?

这似乎都是在点上,甚至有参考资料...当有人宣称他读了文件并要求去除网状物(顺便说一下,这是在FORTS上使用的)......这里没有讽刺的余地。
 
new-rena:

就是这样--"它显示了。" 没有了!!!!!!!!!!!!!!!

如果你能回答,就回信给我,然后就可以了。

然后我会说,"谢谢你"。

但在这种情况下,请我直接发送。

确保你不会被发送。)