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

 
x100intraday :

...자기 포인트의 바인딩이 극단적인 포인트(특수한 경우)로 이동하거나 일반적으로 차트 좌표(가격/시간)로 이동하는 경우 흥미롭게도 "Scale"은 무엇에 붙어 있습니까? 기록하는 동안 일부 정확한 스케일 값이 템플릿에 던져지거나... 또는 막대당 핍 값이 발생하면 새 세션에서 원래 스타일을 복원할 수 없습니다. 첫 번째 점의 정확한 좌표만 저장됩니다. 대략적으로 말하면, 명시적이고 단순한 좌표에 대한 바인딩 포인트를 기반으로 하는 템플릿이 더 안정적입니다.

첫 번째 포인트 - 가격과 시간, 두 번째 포인트 - 시간, 가격은 p / b의 규모를 고려하여 계산됩니다.

템플릿에 무엇이 쓰여 있는지 모르겠지만 4가지 값은 모두 2배, 첫 번째 포인트의 가격, 저울이어야 한다고 생각합니다.

그런 다음 누락된 막대가 있는 경우 문제가 발생할 수 있습니다.

 
Silent :

삭제 문제가 아니라 생성 문제입니다 :)

동일한 작업을 수행하는 잘못된 루프가 있는 스크립트가 있습니다. " 전문가 목록 "을 통해 스크립트를 강제 제거한 후에도 오류가 발생할 때까지 주기를 인쇄했습니다.

왜 생성 오류가 발생하는지 이해하지 못합니까?

나는 3개의 객체에 대해 사이클 없이 생성합니다. 필요하지 않습니다.

나는 모든 사람을 위해 간단하게 다음을 수행합니다.

 if ( ObjectFind ( 0 ,_name)!= 0 ) //если не нашли создаем
     {
       ObjectCreate ( 0 ,_name, OBJ_RECTANGLE , 0 ,_begin_time,_open,_end_time,_close);
         ObjectSetInteger ( 0 ,_name, OBJPROP_STYLE , STYLE_SOLID );
         ObjectSetInteger ( 0 ,_name, OBJPROP_WIDTH ,Width);
         ObjectSetInteger ( 0 ,_name, OBJPROP_BACK ,_Top);
         ObjectSetInteger ( 0 ,_name, OBJPROP_FILL ,_BG);
         ObjectSetInteger ( 0 ,_name, OBJPROP_SELECTED , false );
         ObjectSetInteger ( 0 ,_name, OBJPROP_COLOR ,_Color);
     }
else //если нашли модифицируем
     {
       ObjectMove ( 0 ,_name, 0 ,_begin_time,_open);
       ObjectMove ( 0 ,_name, 1 ,_end_time,_close);
       ObjectSetInteger ( 0 ,_name, OBJPROP_COLOR ,_Color);
     }

일반적으로 첫 번째 단서가 나타나지만 아직 말하기에는 이르다.

 

코드에서 객체를 생성한 사실을 확인합니까?

Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
kPVT :

왜 생성 오류가 발생하는지 이해하지 못합니까?

...

왜냐하면
kPVT :

...

개체는 삭제되지만 다시 생성되고 표시기가 계속 작동하는 것처럼 계속 "이동"합니다.

수동으로 삭제하면 동일한 이름으로 다시 생성되고 새 틱이 도착하면 계속 "이동"합니다.

...

표시기는 각 틱 으로 그들을 찾고 내가 이해하는 대로 생성하거나 수정합니다.

아마도: 이미 존재하고 수정된 경우 - 아무것도(차단) 하기에 충분하지 않습니까?

 
alexvd :

코드에서 객체를 생성한 사실을 확인합니까?

침묵 :
아마도: 이미 존재하고 수정된 경우 - 아무것도(차단) 하기에 충분하지 않습니까?

이유는 다음과 같습니다.

표시기 #2에서 표시기 #1의 핸들을 가져오면 표시기 #2를 삭제할 때까지 표시기 #1의 초기화가 불완전한 것처럼 보입니다.

버퍼 구성이 있는 경우 삭제되지만 그래픽 개체는 남아 있습니다.

다음은 확인해야 할 두 가지 지표입니다.

1. test_del_obj를 첨부한 다음 test_id를 첨부하십시오.

2. test_del_obj 삭제 - test_del_obj의 큐브가 남습니다.

3. test_id 삭제 - 큐브가 삭제되고 로그에서 test_del_obj 표시기의 초기화가 막 완료된 것을 볼 수 있습니다.

파일:
 

질문 하나 더.

차트에 부착된 인디케이터의 핸들이 독특합니까?

test_del_obj 표시기 핸들을 폴링하는 타이머를 추가하여 test_id 표시기를 변경하면 각 요청에 대해 값이 1씩 증가하는 것을 볼 수 있습니다.

파일:
 

ArrayResize()가 제대로 작동하지 않습니다

동적 배열 의 크기를 줄일 때 ArrayResize() 함수는 배열의 잘못된 쪽에 있는 요소를 자릅니다.

코드:

   double Arr[];
   ArrayResize (Arr, 5 );
   Arr[ 0 ]= 101 ;
   Arr[ 1 ]= 102 ;
   Arr[ 2 ]= 103 ;
   Arr[ 3 ]= 104 ;
   Arr[ 4 ]= 105 ;   
   Print ( "Начальный массив: " ,Arr[ 0 ], ":" ,Arr[ 1 ], ":" ,Arr[ 2 ], ":" ,Arr[ 3 ], ":" ,Arr[ 4 ]);
   ArraySetAsSeries (Arr, true );
   ArrayResize (Arr, 4 );
   Print ( "Обрезанный массив: " ,Arr[ 0 ], ":" ,Arr[ 1 ], ":" ,Arr[ 2 ], ":" ,Arr[ 3 ]);

결과:

 2012.07 . 04 21 : 28 : 53      Ind2 (EURUSD,H4)        Обрезанный массив: 104.0 : 103.0 : 102.0 : 101.0
2012.07 . 04 21 : 28 : 53      Ind2 (EURUSD,H4)        Начальный массив: 101.0 : 102.0 : 103.0 : 104.0 : 105.0

MetaTrader 4에서 동일한 코드 및 결과:

 2012.07 . 04 21 : 28 : 35      ind2 EURUSD,H4: Обрезанный массив: 105 : 104 : 103 : 102
2012.07 . 04 21 : 28 : 35      ind2 EURUSD,H4: Начальный массив: 101 : 102 : 103 : 104 : 105
파일:
Ind2.mq5  2 kb
 

친애하는 Lord MT5 개발자 여러분. 나는 당신의 주의를 끕니다 - Forex 서버에서 가장 중요한 것은 따옴표의 정확성입니다. 따라서 MT5(MetaQuotes-Demo 서버)의 부정확성을 조사하십시오.

1) 이전에 로드된 양초 의 볼륨 변경 - 예를 들어, 유럽의 오늘 8:00 EURUSD H4 값은 0:00 - 6171, 4:00 - 7049, 8:00 13361이었습니다. 그리고 20에서 로드할 때 :00(유럽의 경우) 값이 0:00 - 7701, 4:00 - 8859, 8:00 - 16306이 되었습니다. 일반적으로 볼륨에 어떤 일이 일어나고 있는지 확인하는 것은 어렵지 않습니다. 러시아어는 완전한 쓰레기입니다. 저 뿐만 아니라 동지들의 요청에 의해서도 말씀드릴 수 있는 영광이 있기 때문에 볼륨과 축적이 있는 모델을 사용하시는 분들께는 매우 속상한 일이라고 말씀드립니다.

2) 왼쪽 Alpari MT4에 -를 넣습니다. 오른쪽 - Metaquotes MT5, 그리고 Metaquotes의 회의록이 Alpari보다 훨씬 일찍 마감된다는 사실에 놀랐습니다. time.windows.com과 손목에 찬 시계로 확인합니다. metaquotes 서버의 시간이 앞서 가고 있습니다! - pipsers는 여기에 불평합니다 - 거래에 중요한 임의 소스가 나타납니다.

3) Vosche 초월적 욕망 - 그러나 별도로 및/또는 공동으로 저장 및 보기 모두에 대해 입찰 및 요청을 사용할 수 있도록 설정할 수 있습니다. 라는 질문을 받았지만 이것이 현실적이지 않다는 것을 이해합니다. 내가 이해하는 한, MT3에는 입찰과 요청 사이에 무언가가 있었고 이것은 아마도 역사에 남을 것입니다. 이제 입찰만 하세요.

 
MoneyJinn :

ArrayResize()가 제대로 작동하지 않습니다

모든 것이 맞습니다. AsSeries는 플래그일 뿐입니다.
 
TheXpert :
모든 것이 맞습니다. AsSeries는 플래그일 뿐입니다.

ArraySetAsSeries (Arr, true ) 의 영향을 받는 배열 요소 의 동작과 4배로 작동하는 방식을 확인하십시오.

추가하고 싶습니다. 2011년 말에 모든 것이 올바르게 작동했습니다. 이 주제에 대한 코드를 작성했는데 이제 작동이 중지되었습니다.