新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 774

 
Alexander Layzerevich:

你能告诉我如何在MQL5中替换它吗?

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // переменная типа структуры
   );


然后阅读该结构的内容。它在mql5和mql4中的工作原理相同

struct MqlDateTime
  {
   int year;           // год
   int mon;            // месяц
   int day;            // день
   int hour;           // час
   int min;            // минуты
   int sec;            // секунды
   int day_of_week;    // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
   int day_of_year;    // порядковый номер в году (1 января имеет номер 0)
  };
 
Igor Makanu:

这篇文章将帮助你https://www.mql5.com/ru/articles/81

谢谢你。

 

由于经纪人对开仓 数量的限制,我不得不将投资组合分成两个账户,以便打开整个投资组合。能否请您告诉我如何组织对两个账户的总状况进行检索?

预先感谢你。

 
你能给一个新手建议吗?我从市场上下载了一个免费的指标..........我把它附在一个图表上......当我从一个时间段切换到另一个时间段时,指标的显示有很大的延迟(即它变慢了)......可能是什么问题?谢谢...
 
net150:
请教一位初学者......我从市场上下载了免费的指标..........当我从一个时间段切换到另一个时间段时,指标的显示有很大的延迟(即它变慢了)......可能是什么问题?谢谢...

需要计算的数据太多,或者指标没有写得很好。它发生了。

 
如何为机器人写一个函数,以便在损失的情况下翻身。例如,进入负20P后翻转,如果再次进入负20P,则再次翻转。请帮助我。
 
Ivan Kopchuk:
如何编写一个函数,使机器人在损失的情况下翻身。例如已经进入了负20分,并翻转了,又在负分中再次翻转。请帮助我。

0 你将所有的订单(OrdersTotal),通过它们(OrderSelect)来查看,以了解在这个TS中是否已经有一个未结头寸
1.1 如果已经有一个未结头寸,注意订单票(OrderTicket)。
1.2 如果没有--你建立一个头寸(OrderSend),将这个头寸的票据保存到一个变量中,如果需要的话,设置取点和止点(OrderModify)。
2 检查当前利润(OrderOpenPrice与Bid或Ask之间的差额),直到满足以下条件之一
2.1 如果利润已经达到设定的损失--平仓(OrderClose)并在另一个方向开立新的头寸,记住票据,然后继续第2点。
2.2 如果利润达到要求值,平仓,重置票据,按照输入TS的规则开立新的仓位,将此仓位的票据保存在变量中,然后进入第2点。

https://docs.mql4.com/ru/trading

 
Ilya Prozumentov:

你一旦关闭一个头寸,它就会变成-某某,并立即向与关闭的头寸相反的方向打开。

0 你把所有的订单(OrdersTotal),通过它们(OrderSelect),看是否已经有这个TS的未结头寸
1.1 如果已经有一个未结头寸,注意订单票(OrderTicket)。
1.2 如果没有--你建立一个头寸(OrderSend),将这个头寸的票据保存到一个变量中,如果需要的话,设置取点和止点(OrderModify)。
2 检查当前利润(OrderOpenPrice与Bid或Ask之间的差额),直到满足以下条件之一
2.1 如果利润已经达到设定的损失--平仓(OrderClose)并在另一个方向开立新的头寸,记住票据,继续第2点。
2.2 如果利润达到要求值,平仓,重置票据,按照输入TS的规则开立新的仓位,将此仓位的票据保存在变量中,然后进入第2点。

https://docs.mql4.com/ru/trading

谢谢你。

 

问候。你能给我一个提示吗?

当一个负值的变量(summ)>=一个等于零的变量(profit) 时,条件如何成立?

summ=(double)(H_SellMinProfit()+BuyProfit()-SpreadCost());
      if(summ>=profit)
         CloseOll();st=1;max_level=level;min_level=level;  Print("st=1", "  H_SellMinProfit() ", H_SellMinProfit(), "  BuyProfit() ", BuyProfit(), "  SpreadCost() ", SpreadCost(), "  ++- ", H_SellMinProfit()+BuyProfit()-SpreadCost(), "  summ ", summ, "  profit ", profit);


整个代码。

附加的文件:
Ivanov4.mq4  20 kb
 
Andrey Sokolov:

问候。你能给我一个提示吗?

当一个负值的变量(summ)>=一个等于零的变量(profit) 时,条件如何成立?

整个代码。

summ=(double)(H_SellMinProfit()+BuyProfit()-SpreadCost());
  if(summ>=profit) {
    CloseOll();
    st=1;max_level=level;min_level=level;
    Print("st=1", "  H_SellMinProfit() ", H_SellMinProfit(), "  BuyProfit() ", BuyProfit(), "  SpreadCost() ", SpreadCost(), "  ++- ", H_SellMinProfit()+BuyProfit()-SpreadCost(), "  summ ", summ, "  profit ", profit);
  }
原因: