MQL5에 대한 소원 - 페이지 3

 
alexnau :
웰엑스 :
전에도 말했지만 다시 말하겠습니다.
- 터미널 자체 작업을 위한 콜백 함수
- 연결 열기/복원
- 여러 어드바이저의 큐 관리(뮤텍스, 크리티컬 섹션....)
- 디버거(적어도 일부)
- 막대 수 변경 알림과 함께 막대의 직접 번호 지정(가장 오래된 것에서 최신 순으로) 지원
- MQL 함수에서 dll 생성(많은 수의 표시기가 있는 전체 코드를 줄이는 라이브러리 생성에 도움이 됨)


불확실성이 있는 문제를 해결하면 업데이트된 MQL이 개선되지 않을 것입니다. 나중에 현재 막대의 수(0)를 계산하라는 알림이 표시되는 이유는 무엇입니까?

"카운트다운"에도 불구하고 필요한 막대를 결정하는 논리는 명확하고 간단합니다.

현재 버전을 변경하라는 것이 아니라 지원을 추가하기 위한 것입니다. 그것이 줄 것입니다 - 각각의 새로운 막대로 기록을 다시 계산할 필요가 없습니다. 막대 수의 변화를 확인하기만 하면 됩니다. 결과적으로 터미널의 부하가 감소합니다. 깊이 펌핑은 그렇게 자주 발생하지 않습니다.
 
막대의 수는 여전히 제어할 수 있습니다. 는 이를 위한 것입니다.
 
alexnau :
웰엑스 :
- 막대 수 변경 알림과 함께 막대의 직접 번호 지정(가장 오래된 것에서 최신 순으로) 지원


불확실성이 있는 문제를 해결하면 업데이트된 MQL이 개선되지 않을 것입니다. 나중에 현재 막대의 수(0)를 계산하라는 알림이 표시되는 이유는 무엇입니까?

"카운트다운"에도 불구하고 필요한 막대를 결정하는 논리는 명확하고 간단합니다.


이렇게 하면 "역" 인덱스를 지정하기 위해 기록에서 원하는 막대를 찾는 문제가 줄어들고 훨씬 더 경제적입니다.

어, 이전의 열정과 낙관주의는 없습니다 :) 음, 5 kopeck을 추가하겠습니다.

테스터에서 "체크포인트" 모드 대신 "바당 전문가 실행 수" 매개변수를 "모든 틱" 모드에 추가합니다. "시가로" 모드는 여전히 취소되지 않습니다. 더 컴팩트한 fxt를 사용합니다. 그러나 아니요, "종가로"모드로 교체하는 것이 좋습니다. :)

그리고 나는 반복한다:

- 전역 변수의 초기화에 프로그램 변수를 사용하여 바인딩을 추가합니다.

- 테스터용 exe 파일을 만듭니다.

- 지표 버퍼 에 일반 버퍼 추가 -timeseries(변수 유형별) - 전문가와의 효율적인 데이터 교환

 
추가: 임의의 이름으로 지정된 fxt 파일을 테스트하는 기능을 추가합니다. 왜 이제 fxt 파일 이름과 기호 사이의 견고한 링크가 필요합니까?
 
지금까지 생각나는 새 시스템에 대한 제 바람은 다음과 같습니다(내림차순).

언어
----

최대 정밀도(> 8)로 double을 문자열로 변환

조건부 컴파일(#ifdef, #ifndef, #define, #undefine)

키워드를 #define으로 바꾸는 기능(조건부 컴파일의 경우). 값은 비어 있는.
예시:
//#define EXTERN extern // 일반
#define EXTERN // 콘테스트
EXTERN 정수 옵션 = 0;

중첩된 주석 /* */
ANSI는 아니지만 거의 모든 곳에서 구현되고 비활성화됩니다. 일반 텍스트 주석으로 많은 양의 코드를 빠르게 주석 처리할 수 있습니다.

구조(약속)

다차원 배열, 최상의 동적 제어

디버거(약속?)

이벤트

예외

API

목록, 데크에 대한 포인터 또는 이에 상응하는 ...

데이터베이스에 대한 인터페이스(SQL 또는 ODBC). DB가 서버일 필요는 없습니다.

인라인 함수

함수 과부하

난독화(어려운 디컴파일).
단일 암호 해독으로 문자열을 암호화합니다. Expert Advisor 초기화, 코드 흐름 변경, 코드 셔플, 사용하지 않는 코드 삭제 금지,
정크 코드 및 데이터 추가...
#pragma로 모든 것을 관리하세요


단말기
--------
설정에서 (사용자 정의 사전 처리를 위해) 컴파일 전(및 후에?) 호출할 옵션(및 메타변수)이 있는 프로그램 또는 MQL 스크립트를 지정하십시오.


편집자
--------
주석/주석 해제 작업(버튼 및/또는 핫키)
 
1. 별도의 프로그램(MQL 편집기 및 터미널 등)에서 테스터를 만듭니다.
2. 더 강력한 유전자 알고리즘 을 만듭니다(옵션의 수 10에서 20까지 테스트할 수 있도록).
3. 테스트 프로세스의 속도를 높입니다. (결과를 기다리는 데만 15-30시간이 소요됩니다!)
4. 포지션 반전 기능을 도입하십시오(즉, 5로트를 매수하라는 요청이 있는 경우, 간단한 기능은 5로트를 매도로 전환될 수 있음).
모든 동안.
 

또 다른 뇌조 소원. 최적화 기간 외에 찾은 매개변수를 교차 확인하는 기간을 설정할 수 있다면 좋을 것입니다. 이 기능은 거래 시스템을 재조정하는 것(또는 NN을 재교육하는 것)에서 약간의 비용을 절약합니다.

 
기능을 원합니다. 입력 데이터는 최적화 데이터와 반환 값 범위입니다. 출력은 자연스럽게 최적화된 값입니다.
 
klot :

또 다른 뇌조의 소원. 최적화 기간 외에 찾은 매개변수를 교차 확인하는 기간을 설정할 수 있다면 좋을 것입니다. 이 기능은 거래 시스템을 재조정하는 것(또는 NN을 재교육하는 것)에서 약간의 비용을 절약합니다.

이것이 정말 필요한 것입니다.
 
Integer :
drknn :
글쎄, 나는 겸손한 제안이 있습니다. 주어진 값이 있는 배열 셀의 번호를 반환하는(또는 실패할 경우 빼기 1을 반환하는) 함수를 언어에 도입할 것을 제안합니다. 그런 다음 매번 주기를 구성해야 합니다. ArrayBsearch () 함수 - 맞지 않음 - 잘못된 것을 반환합니다.

이 함수에서 반환된 값은 여전히 -1에 대해 검사되므로 ArrayBsearch에서 반환된 인덱스를 사용하여 찾고 있는 값과 동일한지 확인할 수 있습니다. 큰 차이는 아니다

참고로 인용합니다.

int ArrayBsearch(...)
배열의 첫 번째 차원에서 처음 발견된 요소의 인덱스를 반환합니다.
배열에 지정된 값을 가진 요소가 없으면 함수는 가장 가까운 요소의 인덱스를 값으로 반환합니다.

글쎄, 숫자뿐만 아니라 주문 티켓의 배열에서 인덱스를 찾을 때이 기능은 전혀 맞지 않습니다. 글쎄, 내가 필요할 때 가장 가까운 유사한 티켓의 인덱스가 필요한 이유는 무엇입니까? 티켓이 있고 거기에 없으면 주문은 이미 시장에 없는 것 중 하나입니다. 닫혀 있고 이력을 찾아야 합니다! 동기적으로 이동된 배열로 작업할 때 인덱스는 매우 중요하며 정확하거나 없어야 합니다.