라이브러리: 멀티 테스터 - 페이지 44

 

트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼

'카피틱스' 테스트

fxsaber, 2024.02.26 12:41 오후

CopyTicks가 60초 동안 멈추고 오류 4403이 반환되면 서버에 대한 액세스 포인트를 변경해 보십시오. 해당 서버에 대한 핑이 좋지 않더라도 말입니다.

이런 의미에서 터미널에서 액세스 포인트를 자동으로 선택하는 것은 위험합니다.

이 표시기 (전체 터미널에 대해 하나의 인스턴스)를 시작하지 않으면 더 이상 CopyTicks 작업이 진행중인 전투 터미널을 떠나지 않습니다.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ko/code/26132

#property indicator_chart_window
#property indicator_plots 0

input int inIntervalAlert = 5; // 오류 시간 초과 간격(초)
input int inMaxPoints = 5;     // 첫 번째 서버 포인트 수

int OnCalculate( const int rates_total, const int prev_calculated, const int, const double &[] )
{
  static ulong StartTime = GetTickCount64();
  const ulong CurrTime = GetTickCount64();
  
  if (!prev_calculated)
  {
    Alert("Restarted!");
    
    StartTime = CurrTime;
  }
  else if (CheckCopyTicks() != ERR_HISTORY_TIMEOUT)
    StartTime = CurrTime;
  else if (CurrTime - StartTime > (ulong)inIntervalAlert * 1000)
  {
    static int Pos = 0;
    
    const int ServerPoint = Pos++ % inMaxPoints;
        
    Alert("CopyTicks error (timeout > " + (string)(CurrTime - StartTime) +
          " ms). Trying (" + (string)Pos + ") to switch to the " +
          (string)(ServerPoint + 1) + "/" + (string)inMaxPoints + " server point.");

    MTTESTER::SetServerPoint(ServerPoint);
  }

  return(rates_total);
}

int CheckCopyTicks( const string Symb = NULL )
{
  MqlTick Tick;
  MqlTick Ticks[];
  
  ResetLastError();
  
  if (SymbolInfoTick(Symb, Tick))
    CopyTicks(Symb, Ticks, COPY_TICKS_ALL, Tick.time_msc - 1000000, 1);
    
  return(_LastError);
}


2024.10.29 16:07:24.802 CopyTicksHelper (EURUSD,M1)     Alert: CopyTicks error (timeout > 5015 ms). Trying (8) to switch to the 3/5 server point.
2024.10.29 16:07:25.909 CopyTicksHelper (EURUSD,M1)     Alert: Restarted!


이 표시기를 사용하면 실행중인 모든 전문가 어드바이저/스크립트가 해당 시간 초과 오류를 한 번에 종료합니다. 그런 다음 정상적으로 계속 작동합니다.

 
fxsaber #:

이 표시기(전체 터미널에 대해 하나의 인스턴스)를 실행하지 않으면 더 이상 CopyTicks 작업이 진행되는 전투 터미널을 떠나지 않습니다.



이 표시기는 실행 중인 모든 전문가 어드바이저/스크립트가 해당 시간 초과 오류를 한 번에 종료하도록 강제합니다. 그런 다음 정상적으로 계속 작동합니다.

전문가 조언자에서 항상 CopyTicks로 작업해야하는 실제 사례를 알려주세요. 저는 디지털 필터를 실행하기 위해 일부 과거 틱을 얻기 위해 OnInit()에서만 사용합니다. MQL4에서는 버퍼가 채워질 때까지 몇 분을 기다려야 했습니다.

 
Alexey Volchanskiy #:

전문가 어드바이저가 항상 카피틱스와 함께 작업해야 하는 실제 사례를 알려주세요.

테스터에서와 마찬가지로 실제에서도 틱을 건너뛰지 마세요 (그리고 이중으로 하지 마세요). Real의 Expert Advisor는 향후 과거 간격으로 실행하기로 결정할 때 Tester에서 수신 할 것과 정확히 동일한 가격 데이터 시퀀스를 수신합니다.

 

제가 완전히 바보이거나 뭔가 놓치고 있는 게 틀림없습니다.

1 년 동안 매일 하나의 비 시각적 테스트 (최적화가 아닌)를 실행하고 싶은 EA가 있다면 매일 하드 코딩 된 매개 변수로 테스트하는 방법은 무엇입니까? 누군가 다음과 같은 짧은 자습서를 작성해 주시겠습니까?

1. 라이브러리 다운로드 - 설치 지침

2. 이 코드를 작성하여 EA 및 기타 파일에서 이름으로 EA를 선택하십시오.

3. 여기에서 시작일과 종료일을 선택합니다.

4. 여기에서 각 백 테스트의 기간과 길이를 지정합니다.

5. 5. 모든 기능이 올바르게 작동하도록 다음 추가 코드를 추가하여 올바른 위치에 #includes 등을 표시합니다.

6. 각 일일 백 테스트에 대한 결과를 지정하고 csv에 저장합니다.

기타 등등 등등

이 라이브러리가 @fxsaber를 위해 특별히 제작 된 것처럼 보이는이 soslution을 구현하는 방법을 잃어 버렸습니다. 나는 당신의 모든 짧은 예제를 읽고 각 파일의 코드를 살펴 보았지만 사용 사례 나 단계별 가이드를 설명하는 문서를 찾을 수없는 것 같습니다 어디에서나 이것을 알아낼 수 있도록 도와 주시겠습니까?


우리 모두가 원하고 필요로하는 것을 코딩 해 주셔서 감사합니다. 누군가가 당신에게 무언가를 고치라고 요청할 때 "!Did"와 같은 당신의 의견 중 일부를 사랑하십시오.

 
CheckInputs - нахождение аварийных проходов при Оптимизации советника
CheckInputs - нахождение аварийных проходов при Оптимизации советника
  • www.mql5.com
Во время Оптимизации советника некоторые проходы могут завершаться аварийно. Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Новая версия платформы MetaTrader 5
 

트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼

라이브러리: 멀티테스터

fxsaber, 2022.12.12 13:20

가끔은 작업 터미널에서 동일한 작업을 수행해야 할 때가 있습니다. 아래 예시에서 이 작업을 자동화합니다.

결과적으로 한 번의 클릭으로 모든 터미널에서 데이터를 수집했습니다. 덕분에 MTTESTER::RunEX5 - 필요한 터미널(휴대용)에서 EX5를 실행합니다.

애플리케이션.

МультиТерминальный скрипт.
МультиТерминальный скрипт.
  • www.mql5.com
Здесь будет представлен новый вид MQL5-программ - мультитерминальный скрипт: скрипт, который сам запускается на всех открытых MT5-терминалах. Пример. Первым таким скриптом стал CustomReport по причине
 

스크립트는 실행 중인 터미널 중 어떤 터미널이 이식 가능한지 보여줍니다.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ko/code/26132
  
void OnStart()
{
  HANDLE Handles[];
  
// 모든 터미널을 통해 실행
  for (int i = MTTESTER::GetTerminalHandles(Handles, false); (bool)i--;)
    Print("\"" + MTTESTER::GetTerminalPath(Handles[i]) +
          "\" - " +(MTTESTER::IsPortable(Handles[i]) ? "portable." : "NOT portable."));
}
 

안녕하세요

핫키가 아닌 인디케이터 ( \MQL5\Indicators\에 있는)가 만든 오브젝트를 클릭하여 스크립트( \MQL5\Scripts\에 있는 ) 를 실행해야 합니다.

MTTESTER::RunEX5를 사용하려고 했는데 기본적인 오류가 많이 발생합니다. 내가 뭘 잘못하고 있는 걸까요?

메타쿼츠\터미널\D..5\MQL5\전문가\fxsaber\멀티테스터에서 "MultiTester_Example1" 및 "MultiTester_Example2"를 지나쳤습니다.

"MultiTester.mqh" 및 기타 모든 .mqh 파일을 \MetaQuotes\Terminal\D..5\MQL5\Include\fxsaber\MultiTester에 지나쳤습니다.

내가받은 오류는 다음과 같습니다.

EX1에서:

'sinput' - 예기치 않은 토큰 Ex1.mq5 3 1

'=' - 불법 할당 사용 Ex1.mq5 3 23

'sinput' - 예기치 않은 토큰 Ex1.mq5 4 1

'=' - 불법 할당 사용 Ex1.mq5 4 23

'sinput' - 예기치 않은 토큰 Ex1.mq5 5 1

'=' - 불법 할당 사용 Ex1.mq5 5 24

'sinput' - 예기치 않은 토큰 Ex1.mq5 6 1

'=' - 불법 할당 사용 Ex1.mq5 6 31


EX2에서

이벤트 처리 함수를 찾을 수 없음 Ex2.mq5 1 1


MultiTester.mqh에서

표현식이 부울이 아닌 TesterSettings.mqh 104 37

표현식이 부울이 아닌 TesterSettings.mqh 118 39

'SetTesterSettings' - 선언되지 않은 식별자 MultiTester.mqh 43 13

')' - 예상 표현식 MultiTester.mqh 43 31

'SetTesterSettings' - 선언되지 않은 식별자 MultiTester.mqh 51 10

')' - 예상 표현식 MultiTester.mqh 51 28


Task.mqh에서

파일 'C:\사용자\...\...\....\...\Terminal\D0...75\MQL5\Include\fxsaber\TesterCache\TesterCache.mqh' 찾을 수 없음 Task.mqh 5 11

'TESTERCACHE' - 유형이 없는 선언 Task.mqh 80 38

.

.

.

템플릿 인스턴스화 참조 'MTTESTER::TASK::GetMaxFitnessPos<unknown>' Task.mqh 244 29


 
Asa Social #:

핫키가 아닌 지표 (\MQL5\Indicators\에 위치) 에 의해 생성된 개체 (\MQL5\Scripts\에 위치)를 클릭하여 스크립트(\MQL5\Scripts\에 위치)를 실행해야 합니다.

여기에서 예제를 참조하세요.

MTTESTER::RunEX5를 사용하려고 했지만 기본적인 오류가 많이 발생합니다. 제가 뭘 잘못하고 있는 걸까요?

컴파일되지 않은 코드는 기술적으로 코드베이스에 게시할 수 없습니다. 문제는 사용자 측에 있습니다.
Библиотеки: Expert - Попробуйте использовать ChartApplyTemplate. Запустите советник на всех чартах, где уже есть запущенный советник.
Библиотеки: Expert - Попробуйте использовать ChartApplyTemplate. Запустите советник на всех чартах, где уже есть запущенный советник.
  • 2017.08.28
  • Automated-Trading
  • www.mql5.com
После этого задать ему нормальное значение через ChartSetInteger. Если же нужно еще и советник запустить на том же чарте. а оттуда запускать на нужном уже нам чарте советник. Библиотека работает без DLL - полностью удовлетворяет требованиям Маркета
 

트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼

라이브러리: 멀티테스터

fxsaber, 2022.12.12 13:20

MTTESTER::RunEX5 - 필요한 터미널 (휴대용) 에서 EX5를 실행합니다.

휴대용 제한이 제거되었습니다.