错误、漏洞、问题 - 页 1898

 
fxsaber:

该EA的手数选择会受到原始符号上任何第三方交易(包括其他实例)的影响。

在这篇作品中,这种情况发生了

忘记附加文件了,现在添加到 中。在那里

double TradeSizeOptimized(void)
  {
   double price=0.0;
   double margin=0.0;
//--- select lot size
   if(!SymbolInfoDouble(_Symbol,SYMBOL_ASK,price))
      return(0.0);
   if(!OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin))
      return(0.0);
   if(margin<=0.0)
      return(0.0);

   double lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*MaximumRisk/margin,2);
//--- calculate number of losses orders without a break
   if(DecreaseFactor>0)
     {
      //--- select history for access
      HistorySelect(0,TimeCurrent());
      //---
      int    orders=HistoryDealsTotal();  // total history deals
      int    losses=0;                    // number of losses orders without a break

      for(int i=orders-1;i>=0;i--)
        {
         ulong ticket=HistoryDealGetTicket(i);
         if(ticket==0)
           {
            Print("HistoryDealGetTicket failed, no trade history");
            break;
           }
         //--- check symbol
         if(HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol)
            continue;
         //--- check Expert Magic number
         if(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=MA_MAGIC)
            continue;
         //--- check profit
         double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
         if(profit>0.0)
            break;
         if(profit<0.0)
            losses++;
        }
      //---
      if(losses>1)
         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
     }
 
Rashid Umarov:

忘记附加文件了,现在添加到.在那里

是的,这就是它的意义。这是正确的。

诚然,如果是我,我会用不同的方式来写(不编译)。

//--- calculate number of losses orders without a break
   if((DecreaseFactor>0) && HistorySelect(0,TimeCurrent()))
   {
      int    losses=0;                    // number of losses orders without a break

      for(int i=HistoryDealsTotal()-1;i>=0;i--)
      {
         ulong ticket=HistoryDealGetTicket(i);

         if((HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol) &&
            (HistoryDealGetInteger(ticket,DEAL_MAGIC)!=MA_MAGIC))
         {
           double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
           if(profit>0.0)
              break;
           else if(profit<0.0)
              losses++;
         }
      }
      //---
      if(losses>1)
         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
   }


我想借此机会问问您和其他贡献者,在kodobase中有哪些MT5顾问在其交易逻辑中使用历史?

 

厌倦了MT5 - 滞后得很厉害 - 只能打开11个窗口 -标准指标

怎么做--在大的运动中,只需汉斯....


2017.05.24 18:02:43.549 终端 打开Broker x64 build 1596 开始
2017.05.24 18:02:43.550 终端 Windows 7 Ultimate (x64 based PC), IE 10.00, AMD Processor Model Unknown, RAM: 9782 / 16357 Mb, HDD: 22385 / 11470 Mb, GMT+03:00

在Quicksave中打开100多个窗口和50个滚轮 - 那里的CPU负载为1-5%。
[删除]  

AMD处理器型号未知

当启动电脑并在Windows中,是否也检测到CPU?

 
Vladimir Zubov:

AMD处理器型号未知

当启动电脑并在Windows中,是否也检测到CPU?

当启动电脑时,没有检测到处理器--它只在bios中出现,但我现在不会去查它。

Windows说是这样,因为MT5。

真正的CPU是AMD Phenom II 960T(超频3,5 Mhz),但有一个核心是解锁的--原来总共有五个。

 

终端安装在一个SSD硬盘上。

 

结果发现,严重的CPU利用率只发生在一个真实的账户 上--有什么想法?

 

终端是死的,我无法关闭石油和RTS期货的头寸--真是一团糟!"。

 
-Aleks-:

终端是死的,我无法关闭石油和RTS期货的头寸--真是一团糟!"。


而从移动电话中?
 
-Aleks-:

终端是死的,我无法关闭石油和RTS期货的头寸--真是一团糟!"。

如果情况危急,你可以从快速或通过电话关闭。

我已经很久没有看到这种情况了(包括今天的石油),但是我的图表上 已经没有指标 了。