一个没有指标的顾问,这可能吗? - 页 9

 
Nikolai Semko:

为什么你在SeriesInfoInteger 上得到一个新的栏?
在我的印象中--这是一个非常慢的异步函数(也许有些东西已经改变了--我没有检查)。
一般来说,所有的不一致和缓慢都是使用异步函数的结果。如果可能的话,要避免它们。
尝试以其他方式使用它们。例如,通过iTime或iBars。
别忘了,OnChartEvent本身是异步的,每秒不能被调用超过64次,也就是说,每15.625毫秒最多调用一次。

通过SERIES_LASTBAR_DATE 的新酒吧

别忘了,OnChartEvent本身是异步的,每秒不能被调用超过64次,也就是说,每15.625毫秒最多调用一次。

俗话说得好,万紫千红,只要有利可图

 
Dmitry Fedoseev:

多么天真...

迪米特里,我可以得到一个参考吗?

 
Fast235:

通过SERIES_LASTBAR_DATE 的新酒吧

SERIES_LASTBAR_DATE 只是SeriesInfoInteger中使用的ID。

 
Fast235:

迪米特里,能给我推荐一下吗?

它是什么?我已经说过了,我再重复一遍--如果你不知道如何写指标,就不要声称它们不能正确工作,或者说一般的指标方法是坏的、错误的、非理性的。

 
Nikolai Semko:

SERIES_LASTBAR_DATE 只是在SeriesInfoInteger中使用的Identifier。


if(id>=CHARTEVENT_CUSTOM) // Цикл событий по символам
     {
      static CNewBar M1;
      const int number=id-CHARTEVENT_CUSTOM; //приведем в нормальный вид номер символа 0-7
      //--- проверим новый ли бар
      if(M1.NewBar(number,PERIOD_M1))
 
//+------------------------------------------------------------------+
//| Class Новый бар                                                  |
//+------------------------------------------------------------------+
class CNewBar
  {
protected:
   datetime          oldTime[TRADE_SYMBOLS];
public:
   bool              NewBar(int number,ENUM_TIMEFRAMES timeframe)
     {
      //--- создаем переменную newtime(тип время), присваиваем в нее из функции SeriesInfoInteger дату открытия последнего бара
      datetime newTime=datetime(SeriesInfoInteger(Symbols[number],timeframe,SERIES_LASTBAR_DATE));
      if(newTime!=oldTime[number] && newTime) // проверка на появление нового бара (новое время не равно старому и в newtime есть значение(true))
        {
         oldTime[number]=newTime; //обновим время прошлого бара
         return(true); // вернем функции NewBar true, появился новый бар
         //if(MQLInfoInteger(MQL_DEBUG))
         //   Print("Новый бар",newTime,"старый бар",oldTime); // в режиме отладки, будет выводится сообщение о значениях времен баров
        }
      //--- иначе,
      return(false); // нового бара еще нет
     };
   //---- конструктор класса
//                     CNewBar() {oldTime=NULL;}; // вызывается при создании Объекта, проинициализация тут не нужна, что-бы сразу прошел новый бар
  };
 
这是NewBar--这意味着不会有超过一次的尝试。
 
Dmitry Fedoseev:
这个NewBar意味着没有超过一次的尝试。

并不清楚什么是

正如你所看到的,字符号被正确地传递给了新的酒吧类,并且在那里被正确地处理。
 
Fast235:


if(id>=CHARTEVENT_CUSTOM) // Цикл событий по символам


这是什么?这和正常的指标有什么关系呢? 你在胡编乱造,而不是阅读文章,学习如何正确做事。这就是为什么它是如此天真--指标 "不能正常工作"。每个人都是如此有创意,以至于让人心动。

 
Fast235:

并不清楚什么是

而你不会的。NewBar是一种诊断。