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

 
복사해서 다른 시트에 복사했습니다. 지금 바로 서비스 데스크에서 신청서를 발행 하겠습니다.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
alexvd :

DebugBreak()이 설정된 위치를 정확히 기억하지 못합니까?

지금까지는 복제가 불가능했습니다.

서비스 데스크에서 요청 제출 #18435

zy DebagBreyki는 모든 주기 앞에 놓입니다.

 
Urain :

서비스 데스크에서 요청 제출 #18435

zy DebagBreyki는 모든 주기 앞에 놓입니다.

네 감사합니다.

이미 반복되었습니다.

 
alexvd :

네 감사합니다.

이미 반복되었습니다.

나중에 어떤 이유로 무게가 거의 두 배나 다른 두 개의 컴파일된 옵션을 추가했습니다.
 
ddd06 :

EA 의 인디케이터 호출 에 대한 요청 #18261 의 운명을 알고 싶습니다(값이 인디케이터와 일치하지 않음).

반응이 좀 있었으면 좋았을텐데...

서비스 데스크를 다시 확인하십시오. 문제가 해결되었습니다.
 

MACD 샘플 에 대한 질문이 있습니다.

Alpari의 데모에서 SL 50 및 TP200을 사용하여 Expert Advisor를 거래하도록 설정했습니다.

GBPUSD 쌍에 대한 포지션이 열렸고, 얼마 후 EA가 포지션을 수정하고 저널에 다음을 발행했습니다.

> 2010.07.08 20:01:46 거래 '3037120': 수정 판매 0.10 GBPUSD sl: 1.51740, tp: 1.49868 -> sl: 1.51740, tp: 1.49868 [Invalid stop]

문제는 SL이 비활성화된 이유입니다. 동시에 위치가 수정 된 것 같습니다 (적어도 BU로 이전되기 전에) ...

동시에 전략 테스터 는 200년 이후 테스트 내내 욕을 전혀 하지 않았다...

추신

칠면조 설정 파일이 첨부되어 있습니다...

 

2차원 배열 maVal[a][b] 가 있습니다. 이동 평균 값을 [b]에 복사하는 방법 [a]로 배열을 보고 [b]의 값을 비교해야 합니다.

CopyBuffer(maHandle,0,0,3,maVal); 적합하지 않습니다. 그래서 여기에 부피가 큰 코드가 있습니다.

    bool Buy_Condition_1=((ma1Val[ 2 ]<ma1Val[ 1 ]) && (ma1Val[ 1 ]<ma1Val[ 0 ])||
                         (ma2Val[ 2 ]<ma2Val[ 1 ]) && (ma2Val[ 1 ]<ma2Val[ 0 ])||
                         (ma3Val[ 2 ]<ma3Val[ 1 ]) && (ma3Val[ 1 ]<ma3Val[ 0 ])||
                         (ma4Val[ 2 ]<ma4Val[ 1 ]) && (ma4Val[ 1 ]<ma4Val[ 0 ])||
                         (ma5Val[ 2 ]<ma5Val[ 1 ]) && (ma5Val[ 1 ]<ma5Val[ 0 ])); // MA растет
 
Interesting :

sl: 1.51740 , tp: 1.49868 -> sl: 1.51740 , tp: 1.49868 [잘못된 정류장]

문제는 SL이 비활성화된 이유입니다. 동시에 위치가 수정 된 것 같습니다 (적어도 BU로 이전되기 전에) ...

내 저널은 또한 주문을 수정하는 동안 SL이나 TP가 변경되지 않은 경우 저주를 받았습니다.
 

우리는 간단한 스크립트를 작성합니다:

 void OnStart (){
  Alert ( "-----------------------------------" );
  Alert ( "Period() = " , Period (), " минут" );
  Alert ( "------------ " , Symbol (), " ------------" );
}

우리는 M1에서 시작하여 점진적으로 동일한 거래 상품의 다른 시간대에 순차적으로 던집니다. 결과: M1에서 M30까지의 기간에 기간이 올바르게 결정됩니다.

그러나 H1 기간에는 절대적으로 환상적인 숫자가 버려집니다.

제일 흥미로운. H2 시간 프레임(및 후속 시간 단위)이 H1 시간 프레임에서 멀지 않았습니다.


H1 기간 = 16386, H2 = 16387, H3 = 16388 등 - 숫자는 마지막 숫자가 다릅니다.

이 버그를 해결하는 방법에는 관심이 없지만 버그 자체를 수정하는 데 관심이 있습니다. 전혀 갖지 않으려면.

 
drknn :

간단한 스크립트를 작성합니다.

우리는 M1에서 시작하여 점진적으로 동일한 거래 상품의 다른 시간대에 순차적으로 던집니다. 결과: M1에서 M30까지의 기간에 기간이 올바르게 결정됩니다.

그러나 H1 기간에는 절대적으로 환상적인 숫자가 버려집니다.

제일 흥미로운. H2 시간 프레임(및 후속 시간 단위)이 H1 시간 프레임에서 멀지 않았습니다.


H1 기간 = 16386, H2 = 16387, H3 = 16388 등 - 숫자는 마지막 숫자가 다릅니다.

이 버그를 해결하는 방법에는 관심이 없지만 버그 자체를 수정하는 데 관심이 있습니다. 전혀 갖지 않도록.

> 이 버그를 해결하는 방법에는 관심이 없지만 버그 자체를 수정하는 데 관심이 있습니다. 전혀 갖지 않도록.

RUDENESS와 HIT로 받아들이지 말고 이것이 BUG라고 지적하면서 당신은 방금 나를 죽였습니다 ...

질문의 요점(제안):

이것은 MQL4가 아니며 Period() 는 시간 프레임의 초/분 수를 명시적으로 나타내지 않습니다.

기간의 초 수를 얻으려면 PeriodSeconds 함수를 사용하십시오 .


그리고 계속해서 기간을 숫자로 표현하려고 하면 ENUM_TIMEFRAMES 열거에서 이 기간의 식별자에 해당하는 숫자 값만 남게 됩니다.


추신

개인적으로 기간을 MQL4 형식으로 변환해야 하는 경우 다음 함수를 사용합니다 .

 //Fumction PeriodToMinute
int PeriodToMinute( ENUM_TIMEFRAMES Value)
//Возвращает число секунд в периоде
{
//----------------------------------------------------------------------------//
//Служебные переменные
int Result;
//----------------------------------------------------------------------------//
Result = PeriodSeconds (Value)/ 60 ;
//----------------------------------------------------------------------------//
return (Result);
//----------------------------------------------------------------------------//
}

음, 한 가지는 "주기화"에 대한 불필요한 질문이 없도록 MinuteToPeriod 및 PeriodToStr의 두 가지 기능을 더 제공하겠습니다.

 //Fumction MinuteToPeriod
ENUM_TIMEFRAMES MinuteToPeriod( int Value)
//Преобразовывает число сикунд в период, возвращаемый как ENUM_TIMEFRAMES
{
//----------------------------------------------------------------------------//
//Work variables / Служебные переменные
ENUM_TIMEFRAMES Result;
//----------------------------------------------------------------------------//
   switch (Value)
  {
   //Перирд текущещего графика
   case    0 : return ( PERIOD_CURRENT ); break ;
   //Минуты
   case    1 : return ( PERIOD_M1 );   break ;   //1 минута
   case    2 : return ( PERIOD_M2 );   break ;   //2 минуты
   case    3 : return ( PERIOD_M3 );   break ;   //3 минуты
   case    4 : return ( PERIOD_M4 );   break ;   //4 минуты
   case    5 : return ( PERIOD_M5 );   break ;   //5 минуты
   case    6 : return ( PERIOD_M6 );   break ;   //6 минуты
   case    10 : return ( PERIOD_M10 ); break ;   //10 минуты
   case    12 : return ( PERIOD_M12 ); break ;   //12 минуты
   case    15 : return ( PERIOD_M15 ); break ;   //15 минуты
   case    20 : return ( PERIOD_M20 ); break ;   //20 минуты
   case    30 : return ( PERIOD_M30 ); break ;   //30 минуты
   //Часы
   case    60 : return ( PERIOD_H1 ); break ;     //60 минут  - 1 час
   case 120 : return ( PERIOD_H2 ); break ;     //120 минут - 2 часа  
   case 180 : return ( PERIOD_H3 ); break ;     //180 минут - 3 часа
   case 240 : return ( PERIOD_H4 ); break ;     //240 минут - 4 часа
   case 360 : return ( PERIOD_H6 ); break ;     //360 минут - 6 часов
   case 480 : return ( PERIOD_H8 ); break ;     //480 минут - 8 часов
   case 720 : return ( PERIOD_H12 ); break ;   //720 минут - 12 часов
   //Старшие ТФ
   case 1440 : return ( PERIOD_D1 ); break ;   //1 день
   case 10080 : return ( PERIOD_W1 ); break ;   //1 неделя 
   case 43200 : return ( PERIOD_MN1 ); break ; //1 месяц 
   //Default
   default : return ( PERIOD_CURRENT );
  }
//----------------------------------------------------------------------------//
return (Result);
//----------------------------------------------------------------------------//
}
//Function PeriodToStr
string PeriodToStr( ENUM_TIMEFRAMES Value)
//Функция возвращает тексовое представление ТФ (периода)
{
//----------------------------------------------------------------------------//
//Work variables / Служебные переменные
string Result; //Возвращаемое значение
//----------------------------------------------------------------------------//

   switch (Value)
  {
   //Минуты
   case PERIOD_M1 :  Result = "M1" ;   break ; //1 минута
   case PERIOD_M2 :  Result = "M2" ;   break ; //2 минуты
   case PERIOD_M3 :  Result = "M3" ;   break ; //3 минуты  
   case PERIOD_M4 :  Result = "M4" ;   break ; //4 минуты    
   case PERIOD_M5 :  Result = "M5" ;   break ; //5 минут
   case PERIOD_M6 :  Result = "M6" ;   break ; //6 минут
   case PERIOD_M10 : Result = "M10" ; break ; //10 минут
   case PERIOD_M12 : Result = "M12" ; break ; //12 минут
   case PERIOD_M15 : Result = "M15" ; break ; //15 минут
   case PERIOD_M20 : Result = "M20" ; break ; //20 минут
   case PERIOD_M30 : Result = "M30" ; break ; //30 минут
   //Часы
   case PERIOD_H1 :  Result = "H1" ;   break ; //60 минут   - 1 час
   case PERIOD_H2 :  Result = "H2" ;   break ; //120 минут  - 2 часа
   case PERIOD_H3 :  Result = "H3" ;   break ; //180 минут  - 3 часа
   case PERIOD_H4 :  Result = "H4" ;   break ; //240 минут  - 4 часа
   case PERIOD_H6 :  Result = "H6" ;   break ; //360 минут  - 6 часов  
   case PERIOD_H8 :  Result = "H8" ;   break ; //480 минут  - 8 часов
   case PERIOD_H12 : Result = "H12" ; break ; //720 минут  - 12 часов
   //Старшие ТФ
   case PERIOD_D1 :  Result = "Day" ;   break ; //День
   case PERIOD_W1 :  Result = "Week" ;   break ; //Неделя
   case PERIOD_MN1 : Result = "Month" ; break ; //Месяц
   //Unknown
   default : Result = "Unknown" ;
   break ;
  }
//----------------------------------------------------------------------------//
return (Result);
//----------------------------------------------------------------------------//
}