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

 
galustyan10 :

안녕하세요, MT5에서 라이브 계정 을 개설할 때 회사 직원이 몇 시에 전화를 걸어 계좌 개설 절차를 완료해야 하는지 알려주세요.

왜 비명을 지르지? 아무도 전화를 걸지 않으며 계정을 등록할 때 로그인과 비밀번호를 받습니다. 일반적으로 이것은 브로커 웹사이트의 개인 계정입니다.

 
컴파일 오류: 'a' - 정적 멤버가 아닙니다.
 class A     { int a; };
class B : A { void a(); };
void B::a() {}
그래서
 class A     { int a; };
class B : A { void a() {} };
좋아. 차이점이 뭐야?
 

MT5 1159. "개인 설정"이 중간 또는 큰 글꼴로 설정된 경우 가로 눈금이 일치하지 않습니다. Win7, 32b

 

별도의 창에서 표시기의 자동 크기 조정은 MT5에서 어떻게 작동합니까?

별도의 창에 표시

터미널은 최대값을 0.5603으로 만드는 반면 전체 기록에서 표시기 버퍼 의 실제 최대값은 0.0605입니다. 말할 필요도 없이 MT4에는 그런 문제가 없습니다.

 
Ilya Malev :

별도의 창에서 표시기의 자동 크기 조정은 MT5에서 어떻게 작동합니까?


터미널은 최대값을 0.5603으로 만드는 반면 전체 기록에서 표시기 버퍼 의 실제 최대값은 0.0605입니다. 말할 필요도 없이 MT4에는 그런 문제가 없습니다.

표시기 버퍼에 있는 값을 확인하십시오. "Crosshair"를 사용하여 수동으로 수행할 수 있으며 MQL5를 사용하여 수행할 수 있습니다.
 
Karputov Vladimir :
표시기 버퍼에 있는 값을 확인하십시오. "Crosshair"를 사용하여 수동으로 수행할 수 있으며 MQL5를 사용하여 수행할 수 있습니다.

나는 전체 역사에서 최대치가 0.0605라고 말했다. 각 막대에 있는 각 버퍼의 최대값을 비교하여 OnCalculate에 체크인했습니다.

추신 사실 나는 이미 무엇이 문제인지 이해하고 있었다. MT4 및 MT5에서 최대값을 계산하는 알고리즘이 다릅니다. 이 알고리즘을 변경하는 편의가 무엇인지 이해하고 싶지만 이것은 수사학적 질문입니다.

문제는 MT4에 있었습니다 . 데이터 창 에 표시되는 표시기 버퍼 값은 차트에서 표시가 비활성화된 경우에도 별도의 표시기 창의 크기에 영향을 줍니다(DRAW_NONE 스타일). 나는 그것들을 음수로 만들고 최소값을 0으로 고정하여 문제를 해결했습니다. 고정 최소값(0) 이상의 지표 값만 스케일 계산에 포함되었기 때문에 모든 것이 잘 표시되었습니다. 고정 최소값 미만의 값은 이제 스케일 계산에 포함됩니다. 즉, 스케일 계산에서 버퍼 값을 제거하는 기능을 추가하지 않았거나(또는 아직 방법을 알지 못함) 동시에 최소값 미만으로 몰아서 스케일링에서 제외하는 기능을 제거했습니다. 또는 최대. (이것은 모두 매핑되지 않은 DRAW_NONE 버퍼에 적용됨)

 
Ilya Malev :

나는 전체 역사에서 최대가 0.0605라고 말했다. 각 막대에 있는 각 버퍼의 최대값을 비교하여 OnCalculate에 체크인했습니다.

추신 사실, 나는 이미 문제가 무엇인지 이해했습니다. MT4 및 MT5에서 최대값을 계산하기 위한 다른 알고리즘. 이 알고리즘을 변경하는 편의가 무엇인지 이해하고 싶지만 이것은 수사학적 질문입니다.

표시기 버퍼 에 전달하는 값은 다음과 같습니다. 또 다른 옵션: 시작 시 표시기 버퍼의 각 요소를 계산하지 않고 결과적으로 버퍼에서 임의의 값을 얻습니다.

일반적으로 코드를 보지 않고는 할 수 없습니다.

 
Karputov Vladimir :

또 다른 옵션: 시작 시 표시기 버퍼의 각 요소를 계산하지 않고 결과적으로 버퍼에서 임의의 값을 얻습니다.

나는 이미 이것을 다루었습니다. 그건 그렇고, 이것도 MT5에게는 뜻밖의 서프라이즈였어요 :)
 
Karputov Vladimir :

일반적으로 코드를 보지 않고는 할 수 없습니다.

여기 코드가 있습니다.

 #property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 2
#property indicator_minimum 0
#property indicator_color1 clrRed
#property indicator_type1 DRAW_LINE
#property indicator_label1 "Стд.Откл."

double buffer1[], buffer2[];

int i_std= INVALID_HANDLE ;

void OnInit (){
   SetIndexBuffer ( 0 , buffer1);
   SetIndexBuffer ( 1 , buffer2);
   PlotIndexSetInteger ( 1 , PLOT_DRAW_TYPE , DRAW_NONE );
   PlotIndexSetInteger ( 1 , PLOT_SHOW_DATA , true );
   ArraySetAsSeries (buffer1, true );
   ArraySetAsSeries (buffer2, true );
   i_std= iStdDev ( Symbol (), Period (), 20 , 0 , MODE_SMA , PRICE_CLOSE );
}

void OnDeinit ( const int reason){
   if (i_std!= INVALID_HANDLE )   IndicatorRelease (i_std);
}

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[]){

   for ( int i=rates_total- MathMax ( 1 , prev_calculated); i>= 0 ; i--){
      buffer1[i]=_ind(i_std, 0 , i);
      buffer2[i]=- MathRand ()% 5 ;
   }
   return (rates_total);
}

double _ind( int hnd, int buf, int index){
   if (index < 0 ) return ( EMPTY_VALUE );
   double Arr[];
   return ( CopyBuffer (hnd, buf, index, 1 , Arr)== 1 ?Arr[ 0 ]: EMPTY_VALUE );
}
 

이것이 버그인지 이상한 동작인지는 모르겠지만 MT4 전략에서 지표용 테스터 버퍼의 크기는 약 1000 +/- 3 셀입니다.

다른 유형의 데모 또는 실제 테스트에서 버퍼의 셀 수 는 터미널 설정 에서 허용되는 막대 수와 거의 같습니다.

이것이 버그인지 의도된 것인지 알고 싶습니다. 또한 테스터를 중지하지 않고 테스트 시 지표를 편집할 수 있다는 것도 알게 되었습니다. 어드바이저에 대한 정보는 어디에서도 읽어본 적도 없고 아직 확인하지도 않았는데 감사합니다!