트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 2510

 
도서관 # :

분명히 새로운 유형에 대한 예약어입니다.

예약되어 있을 뿐만 아니라 이미 작동하고 있습니다.

 void OnStart ()
{
  vector v( 3 );
  v[ 0 ] = 1.0 ;
  v[ 1 ] = 2.0 ;
  v[ 2 ] = 3.0 ;
  matrix m( 3 , 3 );
  m.Random();
   Print ( "m = " , m);
   Print ( "m^-1 = " , m.Inverse());
   Print ( "Det(m) = " , m.Det());
   Print ( "m * v = " , m * v);
}
 
Alexey Nikolaev # :

예약되어 있을 뿐만 아니라 이미 작동하고 있습니다.

도움말을 검색해도 아무 것도 나타나지 않습니다.
그리고 매트릭스가 유용할 것입니다.
변수를 통한 크기 설정 작업

정수 m1=2; 정수 m2=2;
행렬 m(m1, m2);

그리고 이전에는 동적 배열을 통해 증기 목욕을 해야 했습니다.

 
도서관 # :

도움말을 검색해도 아무 것도 나타나지 않습니다.

여기 에서 정보 만 있습니다 .

도서관 # :

그리고 매트릭스가 유용할 것입니다.
변수를 통한 크기 설정 작업

정수 m1=2; 정수 m2=2;
행렬 m(m1, m2);

그리고 이전에는 동적 배열을 통해 증기 목욕을 해야 했습니다.

글쎄요, Renat은 일반적으로 MQL5에서 머신 러닝을 약속했습니다. 예를 들어 ONNX에 대한 지원입니다. 우리는 볼 것이다)

 
블라디미르 바스카 코프
두 차의 교차점은 아직 누구도 능가하지 못했다

... 그리고 지연은 NS 예측에 의해 감소될 수 있습니다))

 
도서관 # :
누군가 SanSanych 패키지 https://www.mql5.com/en/code/17468 을 사용하여 R에 연결하는 경우:

R.mqh 파일에서 변수 이름 벡터행렬 은 컴파일하는 동안 오류가 발생하기 시작했습니다. 다른 이름으로 이름을 바꾸면 모든 것이 작동합니다. 나는 vector와 matr을 사용했다.

편집기는 int , double 과 같은 데이터 유형과 같이 이러한 단어를 파란색으로 강조 표시합니다. 분명히 새로운 유형에 대한 예약어입니다.

흠, 이 라이브러리에 대해 아무것도 몰랐습니다. 그리고 실제로 사용하는 방법, 어떤 기능이 있습니까?

 
iwelimorn # :

요컨대, 모든 것이 헛된 것이며 시장은 MO로 속일 수 없습니다.

나는 징후와 표적을 발견했으며, 그 분류의 분포는 첫 번째 그림에 나와 있습니다.

이 데이터 세트에서 훈련된 컷버스트의 테스트 및 훈련 모델의 정확도는 93%였습니다.

두 번째 그림은 대상별 거래의 균형 및 자기자본 차트를 보여줍니다.

세 번째 그림은 훈련된 catbust 모델의 신호에 따른 거래의 균형과 자산의 그래프를 보여줍니다.

신사 숙녀 여러분, 가자.

대상은 무엇이며 어떻게 찾았습니까?

트롤을 조이려고 했습니까?

오류의 균형만 보면(+1은 정확함 -1은 클래스 1에 대해 올바르지 않음) 결과가 많이 다른가요?

 
Aleksey Vyazmikin # :

흠, 이 라이브러리에 대해 아무것도 몰랐습니다. 그리고 실제로 사용하는 방법, 어떤 기능이 있습니까?


MT와 R 사이의 변수와 배열의 양방향 전송. 거기에 인용하고 결과와 명령을 되돌립니다.
기능 설명:
/**
* dll 버전을 반환합니다. 반환 값의 상위 16비트
*는 메이저 버전과 하위 16비트 마이너입니다. 이것
* RInit()에서 이 헤더 파일과
* zzdll이 함께 맞습니다.
*/
int RGetDllVersion();

/**
* 이것은 직접 호출을 의미하지 않으며,
* 성공적인 버전 확인 후 RInit()에 의해 호출됩니다.
* 새 R 세션을 시작하려면 RInit()를 호출해야 합니다.
*/
long RInit_(문자열 명령줄, int 디버그 수준);

/**
* R 세션을 종료합니다. deinit() 함수에서 이것을 호출하십시오.
* 이후 핸들은 더 이상 유효하지 않습니다.
*/
무효 RDeinit(긴 핸들);

/**
* 이 핸들에 속한 R 세션이 다음과 같으면 true를 반환합니다.
* 아직 실행 중입니다. R은 치명적인 오류가 발생하면 종료됩니다.
*당신이 보내는 코드. 처음에 이것을 확인해야합니다
* 기능을 시작하고 모든 작업을 중지합니다. 마지막
* 충돌 이전의 명령은 로그에서 찾을 수 있습니다.
* R이 더 이상 실행되지 않으면 이 라이브러리는 아무 것도 내보내지 않습니다.
* 더 많은 로그 메시지가 표시되고 모든 명령을 자동으로 무시합니다.
*/
bool RIsRunning(긴 핸들);

/**
* R이 여전히 명령을 실행 중이면 true를 반환합니다(결과
* RExecuteAsync()에 대한 호출에서
*/
bool RIsBusy(긴 핸들);

/**
* 코드를 실행하고 기다리지 마십시오. 그러나 모든 후속 호출
* 실행 중인 스레드가 하나만 있을 수 있으므로 대기합니다.
* 주어진 시간. RIsBusy()를 사용하여 완료되었는지 확인
*/
무효 RExecuteAsync(긴 핸들, 문자열 코드);

/**
* 코드를 실행하고 완료될 때까지 기다립니다. 이것은하지 않을 것입니다
* 무엇이든 반환합니다. 기본적으로 다음과 같은 결과를 얻을 수 있습니다.
* RGet*() 함수, 표현식 평가도
* 코드를 실행하기만 하면 유일한 차이점은 다음과 같습니다.
* RGet*() 함수는 추가로 구문 분석 및 반환을 시도합니다.
* RExecute()가 실행되는 동안의 출력은 대기하고
*모든 출력을 무시합니다.
*/
무효 RExecute(긴 핸들, 문자열 코드);

/**
* 변수 이름에 bool을 할당합니다. R에서는 이 유형을 "논리적"이라고 합니다.
*/
void RassignBool(긴 핸들, 문자열 변수, 부울 값);

/**
* 변수 이름에 정수를 할당합니다.
*/
void RassignInteger(긴 핸들, 문자열 변수, 정수 값);

/**
* 변수 이름에 double을 할당합니다.
*/
무효 RassignDouble(긴 핸들, 문자열 변수, 이중 값);

/**
* 변수 namd에 문자열을 할당합니다. R에서는 이 유형을 "문자"라고 합니다.
*/
void RassignString(긴 핸들, 문자열 변수, 문자열 값);

/**
* 변수 이름에 벡터를 할당합니다. 사이즈가 맞지 않을 경우
* 실제 배열 크기에 따라 좋지 않은 일이 발생할 수 있습니다.
*/
무효 RassignVector(긴 핸들, 문자열 변수, 이중 &vectr[], 정수 크기);

/**
* 변수에 문자 벡터(문자열 배열)를 할당합니다. 필요한 경우
* 요소를 사용하는 경우 이 명령 후에 변환하는 코드를 실행해야 합니다. 에
* 최신 버전의 R 문자열 벡터는 다음보다 더 많은 메모리가 필요하지 않습니다.
* 요소에 새로운 요소를 추가하는 것이 더 쉽습니다.
*/
무효 RassignStringVector(긴 핸들, 문자열 변수, 문자열 &vectr[], 정수 크기);

/**
* 변수 이름에 행렬을 할당합니다. 행렬은 다음과 같이 행 번호를 가져야 합니다.
* 첫 번째 차원(byrow=TRUE는 원시 데이터에 사용됨). 이 기능은 많은
* 처음부터 추가하여 거대한 행렬(수백 행)을 만드는 것보다 빠릅니다.
* 모든 행에 대해 RRowBindVector()가 있는 끝에 새 행. 이 기능은 최적화되어 있습니다.
* 파일 IO를 사용하여 단일 함수 호출로 엄청난 처리량
* 원시 바이너리 데이터. 소수의 요소만 포함하는 매우 작은 행렬 및 벡터의 경우
* 이것은 오버헤드가 너무 커서 다른 기능이 더 빨라질 수 있습니다. 일단 당신은
* R로 전송된 수천 개의 행이 있는 행렬이 있어야 합니다.
* RRowBindVector() 만 사용하여 단일 새 항목이 도착할 때 천천히 추가로 확장하십시오.
* 항상 전체 행렬의 새 복사본을 보내는 대신 데이터 벡터.
*/
무효 RassignMatrix(긴 rhandle, 문자열 변수, 이중 &matr[], int 행, int 열);

/**
* 행렬이나 데이터 프레임에 행을 추가합니다. 실행됩니다
* 변수 <- rbind(변수, 벡터)
* 크기가 실제 배열 크기와 일치하지 않으면 나쁜 일이 발생할 수 있습니다.
*/
무효 RAppendMatrixRow(긴 핸들, 문자열 변수, 이중 &vectr[], 정수 크기);

/**
* 변수가 존재하면 true를 리턴하고 그렇지 않으면 false를 리턴합니다.
*/
bool REExists(긴 핸들, 문자열 변수);

/**
* 표현식을 평가하고 bool을 반환합니다. 표현식은 모든 R 코드일 수 있습니다.
* 논리적으로 평가됩니다. 논리형 벡터인 경우에만
* 첫 번째 요소가 반환됩니다.
*/
bool RGetBool(긴 핸들, 문자열 표현식);

/**
* 표현식을 평가하고 정수를 반환합니다. 표현식은 모든 R 코드일 수 있습니다.
* 정수로 평가됩니다. 부동 소수점이면 다음과 같습니다.
* 반올림됨, 벡터인 경우 첫 번째 요소만 반환됩니다.
*/
int RGetInteger(긴 핸들, 문자열 표현식);

/**
* 표현식을 평가하고 double을 반환합니다. 표현식은 모든 R 코드일 수 있습니다.
* 벡터인 경우 부동 소수점 숫자로 평가됩니다.
* 첫 번째 요소만 반환됩니다.
*/
이중 RGetDouble(긴 핸들, 문자열 표현식);

/**
* 표현식을 평가하고 이중 벡터를 반환합니다. 표현 수
* 부동 소수점 숫자의 벡터로 평가되는 모든 것입니다.
* 반환 값은 복사할 수 있는 요소의 수입니다.
*정렬. 크기보다 크지는 않지만 작을 수도 있습니다.
* 크기가 일치하지 않으면 디버그 수준 1에서 경고가 출력됩니다.
* >>> 100000개 요소로 제한됨
*/
int RGetVector(긴 핸들, 문자열 표현식, 이중 &vectr[], 정수 크기);

/**
* 디버깅 목적으로 print(expression)를 수행합니다. 아웃 것이다
* 디버그 레벨 0에서 디버그 모니터로 전송됩니다.
*/

무효 RPrint(긴 핸들, 문자열 표현식);

 
도서관 # :

MT와 R 사이의 변수와 배열의 양방향 전송. 거기에 인용하고 결과와 명령을 되돌립니다.
정보 감사합니다. 이 가능성을 알고 있습니다. 거기/여기에 큰 지연이 있습니까?
 
Aleksey Vyazmikin # :
정보 감사합니다. 이 가능성을 알고 있습니다. 거기/여기에 큰 지연이 있습니까?
매우 빠릅니다. 메모리 교환을 통해. 파일도 아니고 피펫도 아닙니다.
 
블라디미르 바스카 코프
두 차의 교차점은 아직 누구도 능가하지 못했다
당신은 믿지 않을 것입니다.
평균화를 사용하는 경우 결과는 눈금과 동일하고 신호 플립 시간은 초 이내로 일치합니다.
---
나는 충격 받았다 ;)