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

 
aharata :

파일의 틱: 1159105, 이 기간의 틱 볼륨: 1161872

무엇 때문에 그럴 수 있습니까? 티키 테스터는 어떻게 받나요?

1,161,872 - 1,159,105 = 2,767틱으로 1,161,72틱의 0.2%에 해당합니다.

0.2%의 틱 모델링 오류는 허용 가능하며 정상입니다. 일부 상황(막대 구성)에서는 추가 틱을 생성하는 것이 합리적이지 않기 때문입니다. 테스터는 항상 실제보다 약간 적은 수의 틱(표시된 0.2% 수준에서)을 생성합니다.

소스 데이터 품질의 녹색 막대가 100%에 가까우면 생성된 테스터의 틱 시퀀스를 걱정 없이 사용할 수 있습니다.

Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • 2010.05.21
  • MetaQuotes Software Corp.
  • www.mql5.com
MetaTrader 5 позволяет во встроенном тестере стратегий моделировать автоматическую торговлю с помощью экспертов на языке MQL5. Такое моделирование называется тестированием экспертов, и может проводиться с использованием многопоточной оптимизации и одновременно по множеству инструментов. Для проведения тщательного тестирования требуется генерировать тики на основе имеющейся минутной истории. В статье дается подробное описание алгоритма, по которому генерируются тики для исторического тестирования в клиентском терминале MetaTrader 5.
 
빠른 답변 감사합니다. 기록의 품질은 100%입니다(멋지 지만 테스터의 표시기 ). 더 봅시다... 가상 거래에서 지표를 사용하기 때문에 이제 틱과 이 지표의 동기화가 걱정됩니다(마치 10분의 2가 나에게 맞지 않는 것처럼)... 감사합니다.
 
미래에 막대의 날짜 값을 얻을 수 있는 방법이 있습니까? 일정 수의 막대를 통해 전면에 그리드를 구축해야 합니다.
 
vdv2001 :
미래에 바에 대한 날짜 값을 어떻게든 얻을 수 있습니까? 일정 수의 막대를 통해 전면에 그리드를 구축해야 합니다.

시간만 이렇다면: 베이스 바를 잡고; 시간을 알아보십시오. 기간(TF)의 초 수를 얻습니다. 초에 막대 수를 곱하고 기본 막대의 날짜에 더합니다.

 
Interesting :

시간만 이렇다면: 베이스 바를 잡고; 시간을 알아보십시오. 기간(TF)의 초 수를 얻습니다. 초에 막대 수를 곱하고 기본 막대의 날짜에 더합니다.

막대가 동일한 인덱스 아래에 유지된다는 것은 아니지만(시프트 고려) 일반적으로 필요한 막대 수를 앞으로 계산하고 개체를 배치할 수 있으며 필요한 위치에 정확히 배치됩니다. 과거에는 더 어렵습니다. 건너 뛰는 막대가 영향을 미칩니다. 따라서 0에서 첫 번째 지점으로 이동한 개체는 아마도 정확성을 위해 제어되어야 할 것입니다.

여기서 가장 중요한 것은 막대 규칙성 또는 시간 규칙성 중 더 중요한 것을 찾는 것입니다.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Interesting :

시간만 이렇다면: 베이스 바를 잡고; 시간을 알아보십시오. 기간(TF)의 초 수를 얻습니다. 초에 막대 수를 곱하고 기본 막대의 날짜에 더합니다.

지금 하고 있는데 BarToTime() 함수 유형보다 더 간단할 수 있다고 생각했습니다. :)

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Urain :

막대가 동일한 인덱스 아래에 유지된다는 것은 아니지만(시프트 고려) 일반적으로 필요한 막대 수를 앞으로 계산하고 개체를 배치할 수 있으며 필요한 위치에 정확히 배치됩니다. 과거에는 더 어렵습니다. 건너 뛰는 막대가 영향을 미칩니다. 따라서 0에서 첫 번째 점으로 이동한 개체는 아마도 정확성을 위해 제어되어야 할 것입니다.

여기서 가장 중요한 것은 막대 규칙성 또는 시간 규칙성 중 더 중요한 것을 찾는 것입니다.

막대의 규칙성이 중요합니다. 그렇지 않으면 모서리가 구부러집니다 :((

스퀘어 건을 만들려고 합니다.

 
vdv2001 :

막대의 규칙성이 중요합니다. 그렇지 않으면 모서리가 구부러집니다 :((

스퀘어 건을 만들려고 합니다.

몇 초의 추가 시간으로 간주하지만 각각의 새 막대 에 그림을 다시 그리면 됩니다(작성해야 하는 함수를 작성할 수도 있습니다). 그게 다입니다....

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
vdv2001 :

막대의 규칙성이 중요합니다. 그렇지 않으면 모서리가 구부러집니다 :((

스퀘어 건을 만들려고 합니다.

바에 패스가 있는 것이 중요하지 않습니까?
 
Urain :
바에는 패스와 함께 오는 것이 중요하지 않습니까?

No Gan은 작업 막대만 고려했습니다!!!

누락된 기간을 제거해야 했습니다.

시간 배열 구성을 통해 팁을 주신 모든 분들께 감사드립니다.

누군가가 필요할 수도 있습니다.

 //   int bars - количество расчетных баров
//   datetime time1 - время нулевого бара

   datetime iTime[];
   int rates_time;
   rates_time= CopyTime ( NULL ,m_period,time1, TimeCurrent (),iTime);
   if (rates_time==- 1 ) return ( false );
   ArrayResize (iTime,bars+ 1 );
   if (rates_time<=bars)
     {
       int shift=rates_time- 1 ;
       for ( int i= 1 ;i<= ArraySize (iTime)-rates_time;i++)
        {
         iTime[shift+i]=iTime[shift]+ PeriodSeconds (m_period)*i;
        }
     }
   datetime shifttime=time1-iTime[ 0 ]; // смещение времени для корекции массива
   for ( int i= 0 ;i<=bars;i++) iTime[i]=iTime[i]+shifttime; // корректируем массив
   time2=iTime[bars];

사실, 새로운 막대 가 나타날 때 다시 계산해야 합니다.

사유: