MQL5의 미래 - MQL5+ 또는 MQL6 - 페이지 7

 
Slawa :

내가 당신에게 큰 비밀을 말할 것입니다. 최대 테스트 속도(32)에는 지연이 없습니다. 부최대 속도(31)는 ::Sleep(0)입니다. 단순히 스레드를 전환하면 이러한 차이가 발생합니다.

그러나 나는 지연을 위해 빈 루프를 사용하고 싶지 않습니다. 다른 사용자들은 "도대체 내가 100% 프로세서 로드를 가지고 있었던 것이 무엇입니까!"라고 울부짖을 것입니다.

매 틱마다가 아닌 Sleep()을 호출 하면 어떻게 될까요?
 
Dmitry Fedoseev :
모든 틱이 아닌 Sleep()을 호출 하면 어떻게 될까요?
이미징의 명백한 불균일이 발생합니다.
 
MT4:
  1. 최적화 시 ' 유전적 알고리즘 ' 선택 시 옵티마이저가 '최적화'의 가장 큰 값을 선택하면서 점점 더 적은 '총 트랜잭션'으로 옵션을 선택하는 사이클을 피하기 위해 '총 트랜잭션'의 최소 수를 지정하고 싶습니다. 매개변수'. 그리고 최적화에 사용된 일 수에 따라 "최소 '총 거래 수'"의 값을 자동으로 계산하는 기능.
    예: 최적화는 2015.01.01에서 2015.12.31까지 수행됩니다. = 계수 "1"이 259(최소 '총 트랜잭션' 수)와 같거나 계수 "0.5"가 ~129(최소 수)인 최적화 259일 의 '총 거래').
  2. 테스트에 사용한 날짜의 내림차순으로 테스트하는 기능(예: 2015.01.01에서 2015.12.31까지, 다음 단계는 2015.01.02에서 2015.12.31까지 등) EA는 잘 선택된 시작 테스트로 인해 테스트를 통과했으며, 고문이 성공적으로 진입 및 퇴장을 선택했을 때 이전 거래 중 증가된 잔액으로 인해 '자유 증거금'의 손실을 "해칭"합니다. 또는 잔액을 사용하지 않고 초기 입금만으로 테스트를 수행할 수 있는 기능.
 
IntelliSense의 아날로그를 구현해야 합니다.
 
lilita bogachkova :
MT4:
  1. 최적화 시 ' 유전적 알고리즘 ' 선택 시 옵티마이저가 '최적화'의 가장 큰 값을 선택하면서 점점 더 적은 '총 트랜잭션'으로 옵션을 선택하는 사이클을 피하기 위해 '총 트랜잭션'의 최소 수를 지정하고 싶습니다. 매개변수'. 그리고 최적화 동안 사용된 일 수에 따라 "최소 '총 거래 수'"의 값을 자동으로 계산하는 기능.
    예: 최적화는 2015.01.01에서 2015.12.31까지 수행됩니다. = 계수 "1"이 259(최소 '총 트랜잭션' 수)와 같거나 계수 "0.5"가 ~129(최소 수)인 최적화 259일 의 '총 거래').
  2. 테스트에 사용된 날짜의 내림차순으로 테스트하는 기능(예: 2015.01.01에서 2015.12.31까지, 다음 단계는 2015.01.02에서 2015.12.31까지 등) EA는 잘 선택된 시작 테스트로 인해 테스트를 통과했으며, 고문이 성공적으로 진입 및 퇴장을 선택했을 때 이전 거래 중 증가된 잔액으로 인해 '자유 증거금'의 손실을 "해칭"합니다. 또는 잔액을 사용하지 않고 초기 입금만으로 테스트를 수행할 수 있는 기능.

+1

유전자 최적화 프로그램에 대한 모든 현재 기준은 "강력한" 것이 아닙니다. 즉, 결과가 너무 과도하게 최적화되어 전면 테스트에서 수익성이 없습니다. 코드를 사용할 수 있는 Expert Advisors에서는 주당 최소 트랜잭션 수 등을 확인하여 내 코드로 유사한 문제를 해결합니다. 시장의 Expert Advisors에서는 모든 매개변수에 대해 가장 완벽한 테스트를 수행한 다음 Excel에서 결과를 처리합니다.

Expert Advisor의 onester()에 대한 자체 코드를 작성할 수 있는 기능을 추가하면 많은 문제가 해결될 것입니다. Expert Advisor의 전역 변수에 액세스하지 못할 가능성이 높으므로 이해할 수 있지만 TesterStatistics()의 모든 데이터는 읽을 수 있어야 합니다.


나중에 추가됨:
스크립트가 최적화를 호출할 수 있다면 더 좋을 것이라고 생각했습니다. 호출 매개 변수 - 날짜, 고문의 이름 및 자체 매개 변수 등 일반적인 전략 테스터가 제공하는 모든 가능성. 테스트가 끝나면 스크립트는 모든 사람의 TesterStatistics()에 대한 전체 액세스 권한으로 모든 결과를 검색할 수 있습니다.

 
agvozdezkiy :

2. 덩굴이 없도록 Mac 및 Lin용 일반 버전을 만듭니다. 시간을 통해 작동합니다.

몇 퍼센트가 그들 아래에서 거래되고 있습니까? 1% 또는 1.5% ? 스프레이 할 필요가 없습니다

3. 표시기로 조언자를 "때리기"할 수 있을 뿐만 아니라 인터페이스를 완료할 수 있도록 합니다.

마지막 포인트의 구현으로 MT의 발전 속도가 상당히 빨라질 것이라고 생각합니다.))

거래자는 어떤 인터페이스를 완료해야 합니까? 더 명확하게 작성 plz

 
Slawa :

내가 당신에게 큰 비밀을 말할 것입니다. 최대 테스트 속도(32)에는 지연이 없습니다. 부최대 속도(31)는 ::Sleep(0)입니다. 단순히 스레드를 전환하면 이러한 차이가 발생합니다.

하지만 지연을 위해 빈 루프를 사용하고 싶지 않습니다. 다른 사용자는 "도대체 내가 처음부터 100% CPU 로드를 가졌구나!"라고 울부짖을 것입니다.

시원한! 이런 차이가 있을 거라고는 생각도 못했어요.
 
Alexey Volchanskiy :
글쎄, 오카마 면도기 우리는 그냥 지운다)
 
Dmitry Fedoseev :
매 틱마다가 아닌 Sleep()을 호출 하면 어떻게 될까요?
또는 스레드 우선 순위를 가지고 놀아보십시오. 우선 순위 값은 거의 없지만 실험을 위한 옵션입니다. 게다가 5분이면 확인할 수 있다. 이런, 이제 터미널 자체에서 우선 순위를 줄이기 위해 시각적 테스트 기간 동안 아이디어가 떠올랐습니다.)))))