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

 

차이점은 무엇입니까?

 CHART_WIDTH_IN_BARS Ширина графика в барах
от
CHART_VISIBLE_BARS Количество баров на графике, доступных для отображения
 
Urain :

차이점은 무엇입니까?

들여쓰기가 설정된 경우 오른쪽에 빈 필드가 있을 수 있습니다. 이 경우 CHART_VISIBLE_BARS는 CHART_WIDTH_IN_BARS 보다 작은 값을 표시합니다.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 
Urain :

차이점은 무엇입니까?

말 그대로 다른


 
Rosh :
질문이 무엇입니까?

1. 포스트에 꼬인 스크립트를 가져와 차트에서 실행합니다. 스크립트는 특정 수의 소절 을 복사하고 가장 오래된 20개 소절을 인쇄해야 합니다.

이 옵션이 사용됩니다(오류에 대한 검사 및 트랩이 없음을 이해하지만 여전히)

 int    CopyRates (
   string            symbol_name,       // имя символа
   ENUM_TIMEFRAMES   timeframe,         // период
   int               start_pos,         // откуда начнем 
   int               count,             // сколько копируем
   MqlRates          rates_array[]       // массив, куда будут скопированы данные
   ); 

따라서 내가 지정한 매개변수(막대 수와 M1)로 스크립트가 실행되지만 때때로 정상적으로 작동하지 않습니다. 이것은 특정 수의 막대에서 발생합니다(368700개 이상 있음).

368800에서는 훨씬 더 적은 수의 막대를 반환합니다(그러나 항상 다른 숫자 - 368732 / 368735 / 368736 또는 그 부근의 것).

그러나 360,000에서도 항상 올바르게 작동하는 것은 아니며 10,000 막대만 어리석게 복사되는 경우가 있었습니다.

2. 두 날짜가 표시되는 옵션은 나를 완전히 놀라게했습니다. 그가 첫 번째 날짜로 0을 받아들이고 싶지 않았기 때문에(내 생각에는 논리적인 것입니다) 그는 또한 최대 10000개까지 복사합니다.

0을 intstart_time 으로 사용하면 이해할 수 있지만(경험이 있음), 이는 모두 함수 오버로딩 및 특정 사항에 대한 컴파일러의 "오해"에 관한 것입니다. 하지만 그렇기 때문에 10,000바는 "백만당"이라고 하는 별도의 문제입니다.

우리가 이해하는 10,000분 막대는 2011년을 넘어서지 않을 것입니다. 모든 것을 올바르게 이해한다면 2월을 넘어서지 않을 것입니다(위의 모든 것으로부터 분명해지면 적어도 360,000분은 확실히 로드되었습니다).

 int    CopyRates (
   string            symbol_name,       // имя символа
   ENUM_TIMEFRAMES   timeframe,         // период
   datetime          start_time,         // с какой даты
   datetime          stop_time,         // по какую дату
   MqlRates          rates_array[]       // массив, куда будут скопированы данные
   ); 

추신

동시에 일반 패스와 "버그" 패스(스크립트가 10,000마디만 복사할 때) 속도는 크게 다릅니다.

조달청

모호함 및 기타 "멍청한" 상황이 없도록 도움말의 특정 섹션(또는 이에 대한 예제)을 논리적인 목적으로 참조하십시오.

추가 점검 등을 하는 것이 바람직합니다. 이 경우 매개변수에 대한 설명(적어도 timeframe 에서는)에 상호 참조가 없으며 start_time 및 start_pos 유형이 명확하지 않습니다. 나는 그 날짜 시간을 이해합니다 (그렇지 않으면 컴파일러가 0을 start_time 으로 사용하는 이유는 무엇입니까 )

//Код по третьему варианту, может я что-то упустил?
//Так ругается - 'CopyRates' - ambiguous call to overloaded function
Copied = CopyRates ( Symbol (), PERIOD_M1 , 0 , TimeCurrent (),Rates);
//Так нет, но копирует только 10000 баров
Copied = CopyRates ( Symbol (), PERIOD_M1 , ( datetime )0 , TimeCurrent (),Rates);
 

보세요, 이것은 버그입니까 아니면 내 클럽 핸드입니까?

 void OnStart ()
  {
//---
   long chart_id= ChartID ();
   ChartSetInteger (chart_id, CHART_AUTOSCROLL , false );   // отключаем автоскролл
   while (! IsStopped ())
     {
       //------------------      
       ChartNavigate (chart_id, CHART_END ,- 2410 ); // делаем навигацию , поставим константу
       //------------------
       Sleep ( 500 );
       ChartSetString (chart_id, CHART_COMMENT , ChartGetInteger (chart_id, CHART_FIRST_VISIBLE_BAR ));
       ChartRedraw (chart_id); // отображаем первый бар чарта после навигации
       Sleep ( 500 );
     }        
  }


제로 막대에서 차트를 탐색할 때 차트가 트위스트합니다. 문제를 보다 명확하게 강조하기 위해 탐색과 업데이트 사이에 의도적으로 슬립을 삽입했습니다. 그러나 버그는 슬립 없이 존재합니다. ChartNavigate()는 먼저 차트를 0으로 이동한 다음 다시 이동합니다. 게다가 그녀는 매번 그것을 하지 않는다.

최소한 위협, ChartNavigate()를 호출 할 때마다 버그가 존재하지 않는다는 사실은 미끄러짐 없이 시작할 때 인상을 줍니다.

Документация по MQL5: Операции с графиками / ChartNavigate
Документация по MQL5: Операции с графиками / ChartNavigate
  • www.mql5.com
Операции с графиками / ChartNavigate - Документация по MQL5
 
Urain :

보세요, 이것은 버그입니까 아니면 내 클럽 핸드입니까?


제로 막대에서 차트를 탐색할 때 차트가 트위스트합니다. 문제를 보다 명확하게 강조하기 위해 탐색과 업데이트 사이에 의도적으로 슬립을 삽입했습니다. 그러나 버그는 슬립 없이 존재합니다. ChartNavigate()는 먼저 차트를 0으로 이동한 다음 다시 이동합니다. 게다가, 그녀는 매번 그것을 하지 않는다.

최소한 위협, ChartNavigate()를 호출 할 때마다 버그가 존재하지 않는다는 사실은 미끄러짐 없이 시작할 때 인상을 줍니다.


스레드에서 예제를 시도하십시오. ChartNavigate 기능이 작동하지 않습니다. 도와주세요
 
Rosh :
스레드에서 예제를 시도하십시오. ChartNavigate 기능이 작동하지 않습니다, 도와주세요

봤는데 뭐? 이 예제에서 내 코드와 근본적으로 다른 것은 무엇입니까?

코드에서 탐색은 한 번만 호출되는 반면 차트는 항상 원하는 막대에 유지해야 합니다(사용자 작업에 관계없이).

귀하의 예제를 검토한 후 그래프를 업데이트하지 않고 코드를 실행했지만(프로그램이 여전히 많은 그래픽 변환을 사용하기 때문에 이것이 중요하지만) 이것도 도움이 되지 않았습니다. 떨림이 남아 있습니다. 어쨌든 같은 지점으로 재탐색을 하면 제로바까지의 탐색이 발생하고, 그 다음에야 원하는 지점으로의 탐색이 일어난다.

ZY 프로그램이 실행되는 동안 사용자가 실수로 차트를 이동할 수 있기 때문에 현재 막대에서 탐색을 사용하는 것도 허용되지 않습니다.

 
즉시 명확하지 않은 경우 설명하겠습니다. 위의 코드는 지정된 막대에서 자동 스크롤을 에뮬레이트하려는 시도입니다.
 
Interesting :
스토리가 꼬였나요?
물론 역사가 있지만 모든 웜이 퍼진 역사가 있는 것은 아닙니다!
 
Urain :

봤는데 뭐? 이 예제에서 내 코드와 근본적으로 다른 것은 무엇입니까?

코드에서 탐색은 한 번만 호출되는 반면 차트는 항상 원하는 막대에 유지해야 합니다(사용자 작업에 관계없이).

귀하의 예제를 검토한 후 차트를 업데이트하지 않고 내 코드를 실행했지만(프로그램이 여전히 많은 그래픽 변환을 사용하기 때문에 이것이 중요하긴 하지만) 이것도 도움이 되지 않았습니다. 떨림이 남아 있습니다. 어쨌든 같은 지점으로 재탐색을 하면 제로바까지의 탐색이 발생하고, 그 다음에야 원하는 지점으로의 탐색이 일어난다.

ZY 프로그램이 실행되는 동안 사용자가 실수로 차트를 이동할 수 있기 때문에 현재 막대에서 탐색을 사용하는 것도 허용되지 않습니다.

칠면조가 엉망인데 진드기가 오는 즉시 다시 그려지고 수정 방법이 명확하지 않습니까?