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

 
Ilyas :

메시지 감사합니다,

그리고 어떻게 해야 할까요?

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

A100 , 2018.09.01 15:25

런타임 오류: 'Test2.ex5'에서 'g'를 찾을 수 없습니다.

 //Test.mqh
class A {};
 //Test1.mq5
#include "Test.mqh"
#import "Test2.ex5"
         void g( A* );
#import
void OnStart ()
{
        A  a[ 1 ];
         ArrayPrint ( a ); //(*)
        g(&a[0]);
}
 //Test2.mq5
#property library
#include "Test.mqh"
void g( A* ) export {}

그리고 Test1.mq5에서 (*)가 있는 줄을 제거하면 괜찮습니다. 그리고 그녀는 어떻게 영향을 미쳤습니까? 빌드 1881\32

이것은 일반적인 컴파일 오류가 아닙니다. 프로그램이 시작되지 않습니다( ArrayPrint 는 예시일 뿐입니다. 다른 적절한 함수로 대체할 수 있음).

결국 이 오류는 이미 1년 전에 발견되었고... 여러 번 수정했지만 반복해서 나타났습니다. 여기에서도 작동하지 않습니다 https://www.mql5.com/en/forum/1111/page2131#comment_6575893

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.08.30
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
fxsaber :

SSD가 아닌 메모리에서 데이터를 읽고 쓰려면 터미널의 어떤 폴더를 mklink를 통해 RAM 디스크에 넣어야 합니까? 데이터를 제공할 준비가 되었습니다. 최적화 중에 데이터가 제공할 가속도입니다.

테스터는 폴더를 5Gb RAMDisk 로 이동하고 MT5 디렉토리에서 실행했습니다.

mklink /j Tester z:\Tester


이제 SSD가 평화롭게 잠들고 최적화가 무료로 ~1.5배(눈으로) 빨라졌습니다!

 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

fxsaber , 2017.01.26 17:33

옵티마이저 모델은 에이전트 기반이므로 아직 작업을 완료하지 않은 옵티마이저를 통해 이미 전달된 단일 실행의 구현을 방해하는 것은 무엇입니까?

예를 들어, 나는 최적화 아직 몇 시간 남았습니다. 하지만 이미 흥미로운 결과를 보고 있습니다. 좋은 단일 결과를 보고 싶습니다. 백테스터에서 실행하십시오. 그러나 동시에 최적화를 중지하지 마십시오(특히 GA와 관련됨). 이러한 상황에서 로컬 에이전트 중 하나를 해제하고 단일 실행을 보낼 수 있습니까? 그런 다음 이 에이전트를 최적화 패키지와 함께 계속 로드합니다.

그리고 이제 옵티마이저가 완료될 때까지 연구가 지연되고 있습니다. 그리고 때로는 매우 길다.

사실, 우수한 캐시에도 불구하고. opt-file 형식을 열어주세요.

예를 들어 왜 필요한가요? 다음은 수익성(PF)별 최적화 결과를 정렬한 것입니다.

거래 수를 보십시오. 통계적으로 의미가 없습니다. 30개 미만입니다. 하지만 PF는 최고 수준이며 이러한 결과는 수백/수천 개에 달합니다. 글쎄, 왜 테이블에이 쓰레기?

선택 형식이 있는 경우 이 쓰레기를 자동으로 제거하여 다소 흥미로운 통계만 남길 수 있습니다. 의미 있는 결과.

동시에 여러 기준에 따른 사용자 정의 정렬에 대해 무엇을 말할 수 있습니까?


ZY 읽기 뿐만 아니라 opt-file 쓰기도 가장 가능하다고 합니다. 그런 다음 이미 구현되어 있으므로 테스터에 공급하십시오.

따라서 가비지 정리 캐시에 대한 Tester GUI의 모든 이점을 활용합니다. 이렇게 하려면 opt 형식만 열면 됩니다.

 

다양한 기준으로 최적화 결과 를 정렬할 수 있습니다.

MT5에는 이미 합성 공식이라고 하는 텍스트 공식을 설정하는 메커니즘이 있습니다.

동일한 텍스트 수식 메커니즘을 사용하여 임의의 정렬 기준을 설정할 것을 제안합니다.

 
Slava :

"모든 것은 이미 당신보다 먼저 도난당했습니다." (c)

하루가 시작될 때 - 전체 틱. 그런 다음 입찰 및/또는 요청 및/또는 완전히 마지막으로, 다른 모든 것은 증분입니다(있는 경우). 틱당 평균 10바이트입니다.

틱에 대한 액세스는 엄격하게 순차적이므로 배열의 각 요소에 대한 빠른 액세스를 구성하는 데 문제가 없습니다.

네 확실합니다. 엄청난!
솔직히 말해서, 나는 바만 탐험했다. 그리고 그는 진드기와 같은 상황이라는 갑작스런 결론을 내렸습니다. 틀렸어.
그런데 이상하게도 막대가 거의 포장되지 않은 채로 보관되는 이유는 무엇입니까?

확인하기 쉽습니다. 연도에 대한 hcc 파일의 크기를 살펴본 다음 Bars 함수를 사용하여 올해의 막대 수를 계산합니다. 1분당 ~42.2바이트를 얻었습니다. 예, 60 미만이지만 분명히 중복됩니다.

 
fxsaber :

테스터는 폴더를 5Gb RAMDisk 로 이동하고 MT5 디렉토리에서 실행했습니다.


이제 SSD가 평화롭게 잠들고 최적화가 무료로 ~1.5배(눈으로) 빨라졌습니다!

우와! 간단하고 예상치 못한 솔루션입니다.
시원한! 그리고 브라보!

 

7월 9일 빌드 1881의 이상한 버그.

나는 즉시 이해하지 못했다.

터미널 창을 최소화하고 모든 매개 변수를 설정하고 $100의 보증금을 입력했습니다.

창을 전체 화면으로 열고 시작을 눌렀습니다. 최적화 1시간 후.... 100달러가 아니라 10,000달러라는 것을 알았다.


터미널을 전체 화면으로 확장하면 Deposit 필드가 기본값으로 재설정됩니다!




최적화가 이미 실행 중인 경우에도 동일한 버그가 나타납니다.


 
이 주제와 관련이 없는 댓글 은 Signals FAQ 로 이동되었습니다.
 
fxsaber :
마지막으로 알려진 마지막 값이 0인 경우 Bid/Ask로 시장을 마감하라는 테스터의 큰 요청입니다.

비디오에서

실제 진드기에 악기를 교환하십시오. 바는 Bid에 따라 생성되며 마지막 데이터가 없으며 BUY 포지션이 열려 있습니다. 포지션의 현재 종가가

 PositionGetDouble ( POSITION_PRICE_CURRENT )

입찰가가 강력하게 변하고 있음에도 불구하고 는 지속적으로 0과 같습니다. 거래소 기호가 Bid에 의해 BUY 포지션을 닫아야 한다고 테스터에게 어떻게 설명할까요? 이제 자기 자본도 계산되지 않습니다.

 
맨 처음에 한 번 런을 할 때마다 그런 기록이 있습니다.
Core 1   MetaTester 5 forced to stop

이유는 무엇입니까?


각 단일 실행은 ExpertRemove 로 끝납니다.