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

 
tol64 :

그런 다음) 객체에 대해 작동하는 이유 b) 교체하면 부서지기 시작합니다.

'0x00000008' - can't convert enum

전부가 아니라 21줄 중 18줄만...

나는 모든 것을 다시 쓰려고 노력할 것입니다. 여전히 명확하지 않습니다. 같은 것을 입력하십시오.

 
Silent :

그런 다음) 객체에 대해 작동하는 이유 b) 교체하면 부서지기 시작합니다.

전부가 아니라 21줄 중 18줄만...

나는 모든 것을 다시 쓰려고 노력할 것입니다. 여전히 명확하지 않습니다. 같은 것을 입력하십시오.

 ENUM_TIMEFRAMES current_period_tf= PERIOD_CURRENT ;
   string n="";
   if ( _Period == PERIOD_M1 )  {current_period_tf= PERIOD_M1 ;};
   if ( _Period == PERIOD_M2 )  {current_period_tf= PERIOD_M2 ;};
   if ( _Period == PERIOD_M3 )  {current_period_tf= PERIOD_M3 ;};
   if ( _Period == PERIOD_M4 )  {current_period_tf= PERIOD_M4 ;};
   if ( _Period == PERIOD_M5 )  {current_period_tf= PERIOD_M5 ;};
   if ( _Period == PERIOD_M6 )  {current_period_tf= PERIOD_M6 ;};
   if ( _Period == PERIOD_M10 ) {current_period_tf= PERIOD_M10 ;};
   if ( _Period == PERIOD_M12 ) {current_period_tf= PERIOD_M12 ;};
   if ( _Period == PERIOD_M15 ) {current_period_tf= PERIOD_M15 ;};
   if ( _Period == PERIOD_M20 ) {current_period_tf= PERIOD_M20 ;};
   if ( _Period == PERIOD_M30 ) {current_period_tf= PERIOD_M30 ;};
   if ( _Period == PERIOD_H1 )  {current_period_tf= PERIOD_H1 ;};
   if ( _Period == PERIOD_H2 )  {current_period_tf= PERIOD_H2 ;};
   if ( _Period == PERIOD_H3 )  {current_period_tf= PERIOD_H3 ;};
   if ( _Period == PERIOD_H4 )  {current_period_tf= PERIOD_H4 ;};
   if ( _Period == PERIOD_H6 )  {current_period_tf= PERIOD_H6 ;};
   if ( _Period == PERIOD_H8 )  {current_period_tf= PERIOD_H8 ;};
   if ( _Period == PERIOD_H12 ) {current_period_tf= PERIOD_H12 ;};
   if ( _Period == PERIOD_D1 )  {current_period_tf= PERIOD_D1 ;};
   if ( _Period == PERIOD_W1 )  {current_period_tf= PERIOD_D1 ;};
   if ( _Period == PERIOD_MN1 ) {current_period_tf= PERIOD_MN1 ;};
   ChartSetSymbolPeriod ( ChartID (), _Symbol , PERIOD_M1 );
   ObjectSetInteger ( 0 ,n, OBJPROP_TIMEFRAMES ,current_period_tf);
   ChartSetSymbolPeriod ( ChartID (), _Symbol ,current_period_tf);
 
tol64 :
예, 감사합니다.
 
Silent :
예, 감사합니다.

이제 다음을 시도하십시오.

   string n= "" ;
   ENUM_TIMEFRAMES current_period_tf= _Period ;
   ChartSetSymbolPeriod ( ChartID (), _Symbol , PERIOD_M1 );
   ObjectSetInteger ( 0 ,n, OBJPROP_TIMEFRAMES ,current_period_tf);
   ChartSetSymbolPeriod ( ChartID (), _Symbol ,current_period_tf);

 
MetaDriver :

이제 다음을 시도하십시오.

시도했는데 M1에서 자동으로 돌아올 수 없습니다. 위와 같이 나열하면

 if ( _Period == PERIOD_M1 )  {current_period_tf= PERIOD_M1 ;};

매번 _Period를 지정하면 돌아오지만 M1에 빠져서 그대로 머물렀다.

upd는 indica의 끝도 저장하지 않습니다

     if ( _Period == PERIOD_M1 ) { ChartSetSymbolPeriod ( ChartID (), _Symbol ,current_period_tf);};

x 덮어쓰는 이유, 지금은 이해합니다.

 

이것은 동기화 대신 목발입니다 (주말, 진드기가 없을 때). 아이디어는 탱크와 같습니다. 실수가 있습니다. 스위치. M1 및 뒤로.

   if ( _LastError != 0 )
     {
       ChartSetSymbolPeriod ( ChartID (), _Symbol , PERIOD_M1 );
       ChartSetSymbolPeriod ( ChartID (), _Symbol ,current_period_tf);
     };
   if ( _LastError == 0 )
     {
       ChartSetSymbolPeriod ( ChartID (), _Symbol ,current_period_tf);
     };
// и контрольный
   if ( _Period == PERIOD_M1 ) { ChartSetSymbolPeriod ( ChartID (), _Symbol ,current_period_tf);};
M1에서만 항상 출시되는 것은 아닙니다.
 
Silent :

시도했는데 M1에서 자동으로 돌아올 수 없습니다. 위와 같이 나열하면

매번 _Period를 지정하면 돌아오지만 M1에 빠져서 그대로 머물렀다.

귀하의 케이스는 작은 슬립으로 처리되고 있습니다.

   string n= "" ;
   ENUM_TIMEFRAMES current_period_tf= _Period ;
   ChartSetSymbolPeriod ( ChartID (), _Symbol , PERIOD_M1 );
   Sleep ( 150 );
   ObjectSetInteger ( 0 ,n, OBJPROP_TIMEFRAMES ,current_period_tf);
   ChartSetSymbolPeriod ( ChartID (), _Symbol ,current_period_tf);

내가 더 나빠. (그런데 Slip이 없는 케이스가 작동하기 전에 몇 주 전에 중지되었습니다)

다른 (비 현재) 차트에서 끔찍한 미끄러짐 없이 동일한 계획이 작동을 멈췄습니다.

 void cChartReInit::Run() // Scanning all charts and reinit if button is pushed
  {
   for ( long i= ChartNext ( 0 );i> 0 ;i= ChartNext (i))
    {
     if (! ChartGetInteger (i, CHART_WINDOW_IS_VISIBLE )) continue ;
     long wc = ChartGetInteger (i, CHART_WINDOWS_TOTAL );
     long wi = ObjectFind (i, pButtonName);
     if (--wc!=wi) { CreateReinitButton(i); ChartRedraw (i); continue ;}
     if ( ObjectGetInteger (i,pButtonName, OBJPROP_STATE ))
       {
         ObjectSetInteger (i,pButtonName, OBJPROP_STATE , false );
         ENUM_TIMEFRAMES cp = ChartPeriod (i);
         Sleep ( 1350 );  // раньше это было не нужно
         ChartSetSymbolPeriod (i, ChartSymbol (i), ((cp== PERIOD_M1 ) ? PERIOD_M5 : PERIOD_M1 ));
         Sleep ( 1350 );  // раньше это было не нужно
        ChartSetSymbolPeriod (i, ChartSymbol (i), cp);
       }
     ChartRedraw (i);
    } // for(Charts)
  }
여기에서 코드: https://www.mql5.com/en/code/224
ChartReinit
ChartReinit
  • 투표: 7
  • 2010.11.29
  • Vladimir Gomonov
  • www.mql5.com
Кнопочная переинициализация чарта с перерасчетом всех индикаторов, а также простенький и прозрачный объектно-ориентированный пример обработки всех чартов из одного эксперта.
 
MetaDriver :

귀하의 케이스는 작은 슬립으로 처리되고 있습니다.

내가 더 나빠. (그런데 Slip이 없는 케이스가 작동하기 전에 몇 주 전에 중지되었습니다)

그러나 동일한 계획이 다른 (비 현재) 차트에서 끔찍한 미끄러짐 없이 작동을 멈췄습니다.

여기에서 코드: https://www.mql5.com/en/code/224/10323

슬립은 지표에서 작동하지 않죠?

페이지 404 던지기 링크

 
Silent :

슬립은 지표에서 작동하지 않죠?

페이지 404 던지기 링크

음디아. :(

스레드 비용이 많이 드는 사이클을 시도하십시오.

타이머를 통해 할 수 있지만 이 FSE가 마음에 들지 않습니다.

// 링크 수정했습니다. 처음에는 "내 코드"를 통해 가져갔고 이제는 코드 기반의 일반 입구를 통해 가져갔습니다. // 지금 작동합니까? 아니면 공개 링크를 얻으려면 로그아웃해야 합니까?

 
MetaDriver :

음디아. :(

스레드 비용이 많이 드는 사이클을 시도하십시오.

타이머를 통해 할 수 있지만 이 FSE가 마음에 들지 않습니다.

다른 TF로 전환하는 대신 ChartRedraw 를 사용하여 OnTimer를 고정하려고 했습니다.

좀 더 피울게.

upd 이 모든 것이 흐름과 관련이 있다는 의혹이 있습니다. 서로 맞지 않는 곳에서 하나는 오류와 함께 멈추고 다른 하나는 저절로 똑딱 거리게 됩니다. 그러나 동기화되지 않았습니다. 그리고 전체 재계산을 위한 명령은 없습니다.

더 시도

 #define   RESET 0

   if ( _LastError != 0 )
     {
     return (RESET);
     };
전혀 작동하지 않는 것 같습니다. 비록 내가 코드 베이스에서 그것을 가져갔지만.