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

 
도서관 :

놓쳤다)

또 다른 요점은 예를 들어 0이 아니라 0.5를 취하는 경우 - 방법을 사용하더라도 샘플에서 샘플로 "부동"합니다.

각 입력에 대한 엄격한 수동 범위 설정만이 도움이 됩니다. 그러나 그것을 어떻게 정의할 것인지는 명확하지 않다. 예를 들어, 1년 동안 데이터를 실행하고 배출량의 1-5%를 버릴 수 있습니다. 그리고 일년 내내 작업하십시오. 1년 안에 그들은 바뀔 것입니다.


예, 먼저 사용 가능한 최대 샘플을 가져와 제수를 찾아야 합니다(어떤 이유로 승수라고 불렀습니다. :)

새 샘플에 갑자기 더 큰 값이 있는 경우 .. 음, 이미 나누어야 하는 것입니다. 그러나 이것은 예를 들어 close[0]/close[10]..와 같이 작은 지연으로 증분을 취하는 경우 거의 발생하지 않으며 close[0]/close[100]에서는 이미 더 자주 발생할 수 있습니다. 이미 예외가 있으므로 NN을 주기적으로 재교육하면 더 많습니다.

0.5에 대해 생각할 시간이 없어 방문을 떠납니다.. :)

 

목표 변수와 관련이 있는 예측 변수만 사용하십시오. 이 경우 "선형" 또는 "비선형"은 중요하지 않으며 매우 정확하게 공식화된 "관련"과 관련이 없습니다.

"relevant"의 의미를 명확히 하기 위해 이 스레드에서 여러 번 제시한 예를 반복하겠습니다.


대상: 인구, 남성과 여성의 두 가지 클래스가 있습니다.

우리는 하나의 예측 변수를 사용합니다: 옷. 바지와 치마의 두 가지 의미가 있습니다.

이러한 클래스와 예측기를 사용하여 예측기의 한 부분은 한 클래스를 예측하고 다른 부분은 "바지-남성", "스커트-여성"의 원칙에 따라 예측합니다. 이상적으로는 오류 없는 분류를 구축할 수 있습니다.

이 시스템을 스코틀랜드 사람들에게 적용하면 남녀가 착용하는 "치마"에 교차점이 생깁니다. 이 교차점은 극복할 수 없는 오류에 대한 상한선 을 제공합니다.


이 경우 1월 1일 이전과 1월 1일 이후의 두 가지 다른 시간 파일에서 모델을 확인해야 합니다.

첫 번째 파일: 교육, 테스트 및 샘플 외. 세 개의 오류 값이 모두 거의 같으면 두 번째 파일에서 실행합니다. 오류는 처음 세 개와 크게 다르지 않아야 합니다(10% 이하).

이 모델은 재교육되지 않습니다 .


추신.

대상 "커피 찌꺼기"와 관련이 없는 예측 변수를 포함하면 오류를 크게 줄일 수 있습니다. 예를 들어 오차가 10% 미만인 모델은 고려하지 않습니다. 그러나 항상 동일합니다. 두 번째 파일의 오류는 첫 번째 파일의 오류의 배수입니다. 모델은 OVERTAINED이며 분류 오류를 줄이기 위해 노이즈에서 일부 값을 선택했으며 미래에는 그러한 값이 없을 가능성이 큽니다. 예측 능력 이 없습니다 .

 
산산이치 포멘코 :

첫 번째 파일: 교육, 테스트 및 샘플 외. 세 개의 오류 값이 모두 거의 같으면 두 번째 파일에서 실행합니다. 오류는 처음 세 개와 크게 다르지 않아야 합니다(10% 이하).

차이점은 무엇입니까

1) 첫 번째 파일 의 "out of sample" + 다른 파일 "out of sample"의 플롯

2) 두 번째 파일을 포함하여 하나의 "샘플 외"이지만 더 큰 영역은 무엇입니까?

결과는 같을 것이라고 생각합니다. 첫 번째 변종에 따르면 두 번째 파일에서 모든 것이 나쁘다면 두 번째 변종에서는 동일한 데이터가 모든 것을 망칠 것입니다.

 

글쎄, 일반적으로 국회를 훈련 할 때 세 부분이 있습니다. 교육, 테스트 및 제어. 제어 섹션의 오류가 정상 범위 내에 있으면 모델이 재학습되지 않은 것으로 간주합니다. 임호.

 
마이클 마르쿠카이테스 :

글쎄, 일반적으로 국회를 훈련 할 때 세 부분이 있습니다. 교육, 테스트 및 제어. 제어 섹션의 오류가 정상 범위 내에 있으면 모델이 재학습되지 않은 것으로 간주합니다. 임호.

동의하지만 SanSanych가 4번째 선거구(두 번째 통제 구역)를 도입한 이유는 명확하지 않습니다. 결국 둘 다 포함하도록 하나를 확장할 수 있습니다.
 
도서관 :

차이점은 무엇입니까

1) 첫 번째 파일 의 "out of sample" + 다른 파일 "out of sample"의 플롯

2) 두 번째 파일을 포함하여 하나의 "샘플 외"이지만 더 큰 영역은 무엇입니까?

결과는 같을 것이라고 생각합니다. 첫 번째 변종에 따르면 두 번째 파일에서 모든 것이 나쁘다면 두 번째 변종에서는 동일한 데이터가 모든 것을 망칠 것입니다.


첫 번째 파일은 무작위로 세 부분으로 나뉩니다. 날짜별 훈련, 테스트 및 대조군 샘플의 조각이 산재되어 있습니다. 이것은 실제 거래에서 발생하지 않습니다.

그러나 두 번째는 거래의 모방입니다. 우리는 항상 훈련 섹션 이후에 거래합니다. 귀하의 의견과 달리 두 번째 파일의 결과는 첫 번째 파일의 결과와 매우 다른 경우가 많습니다. 모델이 다시 학습 되어 사용하기에 적합하지 않습니다.

 
그리고리 쇼닌 :

https://github.com/RandomKori/Py36MT5 다음은 MT5용 Python 라이브러리 소스입니다. 여기서만 배열의 문제가 있습니다. 배열을 전달하거나 배열을 수신하면 올바르게 작동하지 않습니다. Visual Studio에서 디버깅된 DLL 코드. 모든 것이 그 안에서 작동합니다. 문제는 이것이 터미널 버그일 수 있다는 것입니다. 라이브러리 작업 방법을 작성하지 않았습니다. 아무 소용이 없습니다. 아무도 배열 없이 이것을 필요로 하지 않습니다. pythom.mqh 파일에서 엉망이 될 수 있지만 알아낼 수 있도록 도와주세요. 모두가 혜택을 볼 것입니다.

좋은 아이디어와 유용한 MT5 라이브러리, python 스크립트 파일과 동기화하는 것은 상당히 번거로운 IMHO입니다.

로컬 사전을 통해 MQL 변수를 Python 변수와 직접 동기화하고 EA 코드의 문자열 상수에서 직접 Python 코드 조각을 실행하는 것이 더 낫다고 생각합니다.

여기에서 명령줄에서 bcc64를 컴파일하여 테스트를 시도했습니다. Python 3.6에서 잘 작동합니다.

 #include <stdio.h>
#include "python.h"
#pragma link "python36.lib"

int main( int argc, char **argv)
{
  Py_Initialize();
  PyObject* main = PyImport_AddModule( "__main__" );
  PyObject* global = PyModule_GetDict(main);
  PyObject* local = PyDict_New();

   int a, b = 2 , c = 2 ; // synchronize python variables and calc a = b * c
  PyDict_SetItemString(local, "b" , PyLong_FromLong(b));
  PyDict_SetItemString(local, "c" , PyLong_FromLong(c));
  a = PyLong_AsLong(PyRun_String( "b * c" , Py_eval_input, global, local));
   printf ( "%d*%d=%d\n" ,b,c,a);

  PyRun_SimpleString( "import sys" ); // import python sys and read version
   printf (_PyUnicode_AsString(PyRun_String( "sys.version" , Py_eval_input, global, local)));

  Py_Finalize();
   return 0 ;
}

라이브러리에 이러한 기능을 추가하는 것도 나쁘지 않을 것입니다. 이미 직접 작성하려고 했으나 지금은 불행히도 Python용 P-no 라이브러리로 바쁩니다.

그건 그렇고, 여기 스레드에서 이 새로운 신경망에 대해 썼습니다. Fisher's Irises를 사용한 예에 대한 예비 테스트 결과에 따르면, 동일한 테스트 결과로 TensorFlow의 DNN보다 3배 빠르게 학습합니다.

 
산산이치 포멘코 :

첫 번째 파일은 무작위로 세 부분으로 나뉩니다. 날짜별 훈련, 테스트 및 대조군 샘플의 조각이 산재되어 있습니다. 이것은 실제 거래에서 발생하지 않습니다.

그러나 두 번째는 거래의 모방입니다. 우리는 항상 훈련 섹션 이후에 거래합니다. 귀하의 의견과 달리 두 번째 파일의 결과는 첫 번째 파일의 결과와 매우 다른 경우가 많습니다. 모델이 다시 학습 되어 사용하기에 적합하지 않습니다.

저는 항상 처음 3개 부분을 순서대로 배치합니다. 그리고 3번째가 나쁘면 모델이 재학습됩니다.
 

데이터 예약으로 인해 모델의 전투 참여가 지연된다는 것을 잊지 마십시오. 수신 신호의 품질에 직접적인 영향을 미치는 것은 ....

개인적으로 나는 다음 방법을 선택했습니다. 매수 신호에서 얻은 모델을 뒤집고 동일한 시장 부문에서 테스트하지만 매도 신호에 대해 테스트합니다. 따라서 나는 귀중한 시간을 낭비하지 않고 모델의 능력을 적절하게 평가합니다. 임호

 
산산이치 포멘코 :

첫 번째 파일은 무작위로 세 부분으로 나뉩니다. 날짜별 훈련, 테스트 및 대조군 샘플의 조각이 산재되어 있습니다. 이것은 실제 거래에서 발생하지 않습니다.

그러나 두 번째는 거래의 모방입니다. 우리는 항상 훈련 섹션 이후에 거래합니다. 귀하의 의견과 달리 두 번째 파일의 결과는 첫 번째 파일의 결과와 매우 다른 경우가 많습니다. 모델이 다시 학습 되어 사용하기에 적합하지 않습니다.


예측 시스템의 경우 데이터가 도착하는 순서가 중요합니다. 분류용 - NO.

사유: