지표가 없는 Expert Advisor, 가능한가요? - 페이지 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에서 사용되는 식별자일 뿐입니다 .

 
Fast235 :

드미트리, 추천을 받을 수 있을까요?

뭐라고요? 나는 이미 하나를 주었습니다. 반복합니다. 표시기를 작성하는 방법을 모른다면 표시기가 올바르게 작동하지 않거나 일반적으로 표시기를 사용한 접근 방식이 나쁘고, 부정확하며, 비합리적이라고 주장해서는 안 됩니다.

 
Nikolai Semko :

SERIES_LASTBAR_DATE 는 SeriesInfoInteger에서 사용되는 식별자일 뿐입니다 .


 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는 진단입니다.