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

 
Artyom Trishkin:

查看属于该仓位的交易,并查看其交易量。

只要取消所有找到的位置交易(每个人的属性)--弄清楚你需要在那里搜索什么。

谢谢你。

 

我在创建文件时需要帮助,特别是要指定文件的正确存储位置。

我使用MT5的便携版本,我需要在MT5\MQL5\Files文件夹中创建文件,但在策略测试器的初始化过程中,它被创建在MT5\Tester/Agent-127.0.0.1-3000\MQL5\Files。

   filename = (Dir=="" ? filename : Dir+"\\"+filename)+".csv";
   handle= Common ? FileOpen(filename,FILE_CSV|FILE_COMMON|FILE_READ|FILE_WRITE|FILE_SHARE_READ) :
                        FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE|FILE_SHARE_READ);
 
Aleksey Vyazmikin:

我在创建文件时需要帮助,特别是要指定文件的正确存储位置。

我使用MT5的便携版本,我需要在策略测试器的初始化过程中在MT5/MQL5\Files文件夹中创建文件,但它是在MT5/Tester/Agent-127.0.0.1-3000\MQL5\Files中创建的。

纯粹的MQL中没有解决方案。你必须使用WinAPI。或者用手))))

文件的分发方式是为了安全而特别制定的。

 
Ihor Herasko:

纯粹的MQL中没有解决方案。只有通过使用WinAPI。或者用手))))

这种分发文件的做法是出于安全考虑。

优化器不是将数据存储在代理文件夹中,而是存储在MT5\MQL5\Files 文件夹中,这不符合逻辑

 
if(crossed==1)
     {
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {

我如何在这个代码中为要下的订单设置一个不同的神奇数字?与这个通用的不同 -

int OnInit()
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
 
ilyav:

我如何在这个代码中为要下的订单设置一个不同的神奇数字?与这个通用的不同 -

在向不同的魔术师发送开场指令之前,请与所需的魔术师执行这一行。接下来,把魔术师放回原位。
 
请告知如何制作一个设置所需订单数量 的函数!例如,在mql4中打开指定数量的订单,而不需要更多。
 
这是MQL-4中OrderSend函数的最后一个参数。

arrow_color=clrNONE[in] 图表上开局箭头的颜色如果CLR_NONE - 没有箭头。在MT5中,箭头总是被显示出来--在MqlTradeRequest结构中没有相应的参数。你是如何处理的呢?在你的图表上很容易做到这一点。然而,如果为该符号打开了另一个图表,你必须再试一次...


 
Лауреат:
请告知如何制作一个设置正确订单数量 的函数!例如,我想让它打开我们指定的订单,但不能超过这个数量。 在mql4中
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("所需数量的订单已经开启")。
 
Artyom Trishkin:
在发送命令与另一个魔术师开场之前,与所需的魔术师执行这一行。接下来,把魔术师放回原位。


if(crossed==1)
     {
      m_trade.SetExpertMagicNumber(m_magic2); // меняем мэджик на новый
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      m_trade.SetExpertMagicNumber(m_magic);  // меняем мэджик на оригинал
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {
这是正确的吗?谢谢你