错误、漏洞、问题 - 页 2224

 
fxsaber:

更新的修改时间对结果没有影响。EA

是的,谢谢你。找到了问题的症结所在。

在不久的将来会有一个修复。然而,从公共文件夹中使用的文件仍然不能被控制。只有在#property tester_file中指定的文件。

 

在通过之后,在可视化模式下重新打开测试器,我意识到我的设置是错误的,策略测试器挂 起了几分钟

2018.07.11 17:03:05.992 Core 8  disconnected
2018.07.11 17:03:05.992 Core 8  connection closed
2018.07.11 17:03:09.241 Core 8  connecting to 127.0.0.1:3000
2018.07.11 17:03:18.308 Tester  stopped by user
2018.07.11 17:03:19.241 Core 8  tester agent authorization error
 
//Определение экстремума
for(int i=NBars;i<=NumBars;i++)
     {
      xMinL=ArrayMinimum(MinBuffer,0,i);
      xMinLD=ArrayMinimum(MinBuffer,0,i+NBars);
      if((MinBuffer[xMinL]<=MinBuffer[xMinLD])&&(xMinL>=NBars))
        {
         Minimum=MinBuffer[xMinL];
         break;}}

//Проверка если ордера с такой же ценой не существует         
   for (int r=0; r<=OrdersTotal(); r++)
   {if (OrderSelect(OrderGetTicket(r)))
    {if (StringToDouble(OrderGetString(ORDER_COMMENT))==NormalizeDouble(Minimum,_Digits))    
       {x2=1;
        break;}
     else x2=0;}}

//Проверка если Позиции с такой же ценой не существует     
   for (int l=0; l<=PositionsTotal(); l++)
   {if (PositionSelectByTicket(PositionGetTicket(l)))
    {if (StringToDouble(PositionGetString(POSITION_COMMENT))==NormalizeDouble(Minimum,_Digits))     
       {y2=1;
        break;}
     else y2=0;}}

//Если проверка отрицательная, открываем ордер        
   if ((x2==0)&&(y2==0))
   m_trade.SellStop(Volume,NormalizeDouble(Minimum,_Digits),_Symbol,NormalizeDouble(Minimum+(SL_ATR*ATR2),_Digits),NormalizeDouble(Minimum-(TP_ATR*ATR2),_Digits),ORDER_TIME_GTC,0,DoubleToString(Minimum,_Digits));
亲爱的论坛用户,你们好。这是一段节选的代码,用于检测极值并在其上放置挂单。它似乎在工作,但有时它开始在一个极端设置无尽的停顿,好像它没有看到停止的标准。我已经绞尽脑汁了。
 
Dmitri Custurov:
亲爱的论坛用户,你们好。这是一段节选的代码,用于识别极值并在其上放置挂单。它似乎在工作,但有时它开始在一个极端设置无尽的停顿,好像它没有看到停止的标准。我已经绞尽脑汁了。

那么,这样的比较是否正确呢?

if (StringToDouble(PositionGetString(POSITION_COMMENT))==NormalizeDouble(Minimum,_Digits)){.....}
 

在该指标中

在视觉策略测试器 模式下打印,因为我的大脑已经沸腾了--找不到逻辑上的错误。

Print(iHigh(Symbol(),PERIOD_CURRENT,i+1), "  ",sqh_buffer[i+1]);

开始日期2018年1月1日会议记录

2018.07.11 17:19:07.770 2018.01.01 00:00:00   58148.0  0.0
2018.07.11 17:19:07.770 2018.01.01 00:00:00   58149.0  0.0
2018.07.11 17:19:07.770 2018.01.01 00:00:00   58146.0  0.0
2018.07.11 17:19:07.770 2018.01.01 00:00:00   58140.0  0.0
2018.07.11 17:19:07.770 2018.01.01 00:00:00   58139.0  0.0
2018.07.11 17:19:07.863 2018.01.03 10:00:00   58139.0  58391.79995461365
2018.07.11 17:19:07.863 2018.01.03 10:00:00   58135.0  58391.71051866656
2018.07.11 17:19:07.906 2018.01.03 10:00:20   58135.0  58463.08874123808

当然,在这个日期没有真正的报价,人们有一个假期,那么这些神奇的数字是什么,一般来说,我如何获得第一次约会的信息?

 

问题。

我怎么知道定时器已经开启,其频率是多少?

是我没有很好地阅读帮助,还是不可能?

 
Nikolai Semko:

问题。

我怎么知道定时器已经开启,其频率是多少?

或者是我没有很好地阅读帮助,或者是不可能?

从沉默中判断,确实没有这种可能性。:((

但是,怎么会呢--这是一个非常简单和有用的功能!

例如,我创建了一个使用定时器的类。在该类中,我可以打开和关闭计时器,改变它的周期。但为了与程序的其他部分无冲突地工作,该班级必须知道定时器是开还是关,以及它的周期是什么。

 
Nikolai Semko:

从沉默的情况来看,真的可能没有这种可能性。:((

但是,怎么会呢--毕竟这是一个非常简单和有用的功能!

例如,我创建了一个使用定时器的类。在该类中,我可以打开和关闭计时器,改变它的周期。但是为了与程序的其他部分不发生冲突,该类必须知道定时器是开还是关,以及它的周期性是什么。

所以,欢迎你,或者说,欢迎全班同学。

 
Sergey Dzyublik:

操场上的旗帜,或者说教室里的旗帜。

这不会有帮助。特别是如果计时器在被启用前就已经开启了,比如说间隔几个小时或几天的时间。那么这样的类会毁掉整个程序的逻辑。

 
Sergey Dzyublik:

那么,这种比较是否正确呢?

我已经试过风水和这个--结果是一样的。问题是,一切都在99%的时间内运作,而我需要的是100%。目前,对我来说,最主要的是把逻辑搞清楚,以后就可以做美了。

我只忘了补充一点,上述的错误出现在测试器中。当我在图表上打开它时,我没有看到它,或者我只需要等待所需的极值,在那里这个错误会再次发生。