오류, 버그, 질문 - 페이지 1090

 

안녕하세요! " ENUM_TIMEFRAMES 열거형 의 구성원에게 왜 그러한 값이 할당되었습니까? M30에서 H1으로 이동할 때 숫자 16385는 어디에서 왔 습니까?"

 enum ENUM_TIMEFRAMES        
{                          
PERIOD_CURRENT = 0 ,        
PERIOD_M1 = 1 ,             
PERIOD_M2 = 2 ,             
PERIOD_M3 = 3 ,             
PERIOD_M4 = 4 ,             
PERIOD_M5 = 5 ,             
PERIOD_M6 = 6 ,             
PERIOD_M10 = 10 ,           
PERIOD_M12 = 12 ,           
PERIOD_M15 = 15 ,           
PERIOD_M20 = 20 ,           
PERIOD_M30 = 30 ,           
PERIOD_H1 = 16385 ,  //???       
PERIOD_H2 = 16386 ,         
PERIOD_H3 = 16387 ,         
PERIOD_H4 = 16388 ,         
PERIOD_H6 = 16390 ,         
PERIOD_H8 = 16392 ,         
PERIOD_H12 = 16396 ,        
PERIOD_D1 = 16408 ,         
PERIOD_W1 = 32769 ,         
PERIOD_MN1 = 49153          
}; 

답변에 미리 감사드립니다!!!

 
MigVRN :

안녕하세요! " ENUM_TIMEFRAMES 열거형 의 구성원에게 왜 그러한 값이 할당되었습니까? M30에서 H1으로 이동할 때 숫자 16385는 어디에서 왔 습니까?"

답변에 미리 감사드립니다!!!


 PERIOD_H1 = 16385 ,  // = (1 << 14) + 1
PERIOD_H2 = 16386 ,  // = (1 << 14) + 2         
PERIOD_H3 = 16387 ,  // = (1 << 14) + 3
PERIOD_H4 = 16388 ,  // = (1 << 14) + 4
PERIOD_H6 = 16390 ,  // = (1 << 14) + 6
PERIOD_H8 = 16392 ,  // = (1 << 14) + 8
PERIOD_H12 = 16396 , // = (1 << 14) + 12
 
MetaDriver :

고맙습니다! 그러나 나는 질문을 잘못 넣었습니다. 왜냐하면. 이제 나는 더 많은 일을 겪었습니다 ... 그것이 어렵지 않다면 몇 가지 더 명확한 질문이 있습니다.

1) 왜?

2) 그리고 왜 정확히 14입니까?

:)

 
MigVRN :

고맙습니다! 그러나 나는 질문을 잘못 넣었습니다. 왜냐하면. 이제 나는 더 많은 일을 겪었습니다 ... 그것이 어렵지 않다면 몇 가지 더 명확한 질문이 있습니다.

1) 왜?

2) 그리고 왜 정확히 14입니까?

:)

:) 그리고 이것은 개발자를 위한 것입니다. 그들의 방식은 불가사의하기 때문입니다....;)
 

CopyClose 기능에서 시간별로 막대를 검색하는 데 오류가 있는 것 같습니다(다른 항목에서도 마찬가지입니다).

이 함수에 의해 주어진 "외부" 기호의 하나의 막대를 복사할 때 근처에 열려 있는 창막대가 있지만 복사 오류가 발생합니다.

 2014.01 . 05 14 : 52 : 00.556 tmp (,D1) USDCAD ooo 2012.12 . 12 00 : 00 : 00
2014.01 . 05 14 : 51 : 57.214 tmp (,D1) 80.55313933496228
2014.01 . 05 14 : 51 : 50.947 tmp (,D1) USDCAD ooo 2013.03 . 04 00 : 00 : 00
2014.01 . 05 14 : 51 : 44.828 tmp (,D1) USDCHF ooo 2011.12 . 26 11 : 00 : 00
2014.01 . 05 14 : 51 : 37.896 tmp (,D1) USDCAD ooo 2011.03 . 02 12 : 00 : 00
2014.01 . 05 14 : 51 : 30.112 tmp (,D1) USDSEK ooo 2013.09 . 20 22 : 00 : 00

스크립트에서 명확하게 "기적적으로" 찾을 때까지 요청할 수 있지만 표시기에 대해서는 허용되지 않습니다.

그건 그렇고, 나는 함수를 직접 작성해야한다는 것을 기억했습니다. 내장은 표시기에 대처하지 못했습니다.

 //--------------------------------------------------------------------------+
//=   Ищет  индекс массива MqlRates по времени
//=   Протестировано 28,12,2011
//=   для прохода по 4 000 800      баров Скопировано USDJPY
//=   ошибок = 0 GetTickCount 2 200 мс.
//=   ВОЗВРАТИТ -1 в случае ошибки + сообщение Алерт
//--------------------------------------------------------------------------+
int save_indexs= 0 ;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FindIndex( datetime find, MqlRates &xxxxxx[])
  {
   int size_mql= ArraySize (xxxxxx);
//проверим находится ли время в массиве, и есть ли где искать
   if (size_mql<= 0 ){ Alert ( "ggg" ); return (- 1 );}
   if (find>xxxxxx[ 0 ].time) return ( 0 );
   if (find<=xxxxxx[size_mql- 1 ].time) return (size_mql- 1 );
//а может лежит рядом?
//проверим по скорости с глоб. перем.
   for ( int i=save_indexs+ 1 ;i>=save_indexs- 1 && i>= 0 ;i--)
       if (i<size_mql)
         if (find==xxxxxx[i].time)
             return (i);
//результат с применением  ошибок = 0 GetTickCount   843 мс.
//результат без применения ошибок = 0 GetTickCount 3 744 мс.
//начнемс
   int kolvo=size_mql,
   start_save=size_mql- 1 ,
   end_save= 0 ;
   while (! IsStopped ())
     {
       //градация поиска +1 для плавающей запятой, учесть все не ошибиться, дойдет до - минусов
       int grad=kolvo/ StringLen ( IntegerToString (kolvo))+ 1 ;
       if (grad< 10 )grad= 1 ;
       //
       for ( int start=start_save,karetka=start-grad;          start>=end_save;          start=karetka,karetka=start-grad)
        {
         //karetka может выходить за размер масс
         if (karetka< 0 )karetka= 0 ;
         if (find>=xxxxxx[start].time && find<=xxxxxx[karetka].time)
           {
            kolvo=start-karetka+ 1 ;
            start_save=start;
            end_save=karetka;
             if (start==karetka+ 1 ){save_indexs=karetka; return (karetka);}
             break ; //for
           }
        }
     }
   return (- 1 );
  }
//+------------------------------------------------------------------+

2년이 지났지만 여전히 상황이 이상 합니다.

파일:
tmp.mq5  3 kb
myusdx.mq5  5 kb
 
붙여넣은 포럼 링크의 인용문은 전체 링크를 종료합니다.
 
costy_ :

CopyClose 기능에서 시간별로 막대를 검색하는 데 오류가 있는 것 같습니다(다른 항목에서도 마찬가지입니다).

....

2년이 지났지만 여전히 상황이 이상 합니다.

버그가 아니라 기능입니다

CopyXXX 함수는 해당 버퍼에서 데이터를 가져오며 버퍼에 데이터가 없으면(현재와 다른 외계인 기호 및/또는 타임프레임) 오류가 발생합니다. 그러나 이 경우 버퍼를 형성하는 과정이 시작되고, 잠시 후 CopyXXX를 다시 호출하면 결과를 얻을 수 있다. 수면 은 지표에 사용할 수 없으므로 다음 틱을 셀 필요가 없기 때문에 타이머를 통해 고통을 받아야 합니다(주말 및 비유동성 기구가 탓입니다)

 

사이트를 통해 볼트에 들어갈 수 없습니다. 로그인 비밀번호를 입력하면 로그인 및 비밀번호를 입력하는 창이 다시 나타납니다.

또한 MetaEditor 쓰기를 통해 아무 것도 추출할 수 없습니다.

로그인 비밀번호가 올바르게 입력되었습니다

이유가 뭔지 말해줘?

 
sanyooooook :

사이트를 통해 볼트에 들어갈 수 없습니다. 로그인 비밀번호를 입력하면 로그인 및 비밀번호를 입력하는 창이 다시 나타납니다.

또한 MetaEditor 쓰기를 통해 아무 것도 추출할 수 없습니다.

로그인 비밀번호가 올바르게 입력되었습니다

이유가 뭔지 말해줘?

아마도 그들은 비밀번호를 변경했을 것입니다. 그런 버그가있었습니다.
 
zfs :
아마도 그들은 비밀번호를 변경했을 것입니다. 그런 버그가있었습니다.
예, 했습니다. 하지만 유효한 비밀번호를 입력하고 있습니다.