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

 
막심 드미트리예프스키 :

뭐, 이렇게. 기능은 24개가 아니라 12개뿐입니다.

오류가 있습니다

>>> 인쇄(열차 점수, " ", tst_score)

1.0 0.5454545454545454

Likbez 토픽 맥심 순전히 마스터의 어깨에서. 거기에 버린 파일은 12개의 입력만 있습니다. 위에서부터 시작하려면 20-24개의 이동이 필요하고 11개의 입력으로 시작하여(내 용량의 최대값임) 입력 수를 줄이고 정렬할 수 있습니다. 위에서 아래로 최적화 가 있을 때 처음 10개의 1회 실행을 수행하여 최상의 실행을 선택하고 여기에서 정상적으로 훈련을 시작합니다. 입력이 거의 없는 경우 일반적으로 5개의 입력으로 시작하여 입력 수를 늘리고 처음 10개의 실행에 대해 최악의 경우를 선택하여 훈련 중 최대 열거 영역으로 시작을 지연시키려고 합니다. 첫 번째 경우, 나는 자원을 아낌없이 절약합니다. 두 번째 경우에는 최악의 옵션을 선택하여 가능한 모든 옵션을 최대한 정렬하려고 합니다.

그런 데이터를 얻었다는 사실은 완전히 쓰레기입니다. 나에게 무슨 일이 일어났는지 보라. 나는 이 결과를 믿는다. 나는 단지 미래를 엿보는 당신의 글을 믿지 않는다. 그냥 Maxim입니다. 이렇게 하는 것이 부끄럽지만 아이들이 우리를 보고 있고 당신은 그들을 위해 그림을 조각하지만 여전히 OOS에서는 작동하지 않는 이유를 궁금해합니다.

자, 이제 모델과 교육 파일을 보내어 지정에 해당하는 입력 번호를 알 수 있지만 OOS에서 작동하는 모델을 표시하지 않으면 더 이상 이 작업을 수행하지 않습니다. 모든 사람은 자신의 작업 결과를 알고 싶어합니다. 그래서 샤이탄 기계는 공짜로 작동하지 않습니다.


메인 코드의 실제 짜기

vv0[q]= 0 ; //12    вместо нулей подай значения своих входов
vv1[q]= 0 ; //10
vv2[q]= 0 ; //8
vv3[q]= 0 ; //2
double Ress1=getBinaryClassificator1(vv0[q],vv1[q],vv2[q],vv3[q]);   //Вызов результатов полиномов 
double Ress11=getBinaryClassificator2(vv0[q],vv1[q],vv2[q],vv3[q]);

double getBinaryClassificator1( double v0, double v1, double v2, double v3) {
   double x0 = 2.0 * (v0 + 0.00352160000000379 ) / 0.0060209999999973896 - 1.0 ;
   double x1 = 2.0 * (v1 + 0.00321680000000524 ) / 0.006628599999996879 - 1.0 ;
   double x2 = 2.0 * (v2 + 0.00257640000000836 ) / 0.00577599999999978 - 1.0 ;
   double x3 = 2.0 * (v3 + 0.00197520000000417 ) / 0.00414859999999794 - 1.0 ;
   double decision = 0.6226912928759895 * x0
  - 0.013192612137203167 * x0 * x1
  + 0.9920844327176781 * x2
  + 1.3060686015831136 * x0 * x2
  - 3.5395778364116093 * x1 * x2
  - 1.1394019349164468 * x3
  + 2.5659630606860158 * x0 * x3
  + 0.5395778364116095 * x1 * x3
  + 0.31090589270008795 * sigmoid(x0)
  + 0.009674582233948988 * sigmoid(x1)
  - 0.0839929639401935 * sigmoid(x0 + x1)
  + 0.012313104661389622 * sigmoid(x2)
  + 0.30474934036939316 * sigmoid(x0 + x2)
  - 0.5958663148636764 * sigmoid(x1 + x2)
  + 0.002638522427440633 * sigmoid(x0 + x1 + x2)
  - 0.05013192612137203 * sigmoid(x3)
  + 0.014951627088830254 * sigmoid(x0 + x3)
  - 0.13412489006156553 * sigmoid(x1 + x3)
  - 0.006596306068601583 * sigmoid(x0 + x1 + x3)
  + 0.04397537379067722 * sigmoid(x2 + x3)
  + 0.1363236587510994 * sigmoid(x0 + x2 + x3)
  + 0.6952506596306068 * sigmoid(x1 + x2 + x3)
  - 0.29331574318381703 * sigmoid(x0 + x1 + x2 + x3)
  + 1.0738786279683377 * sigmoid( 1.0 + x0)
  - 1.073438874230431 * sigmoid( 1.0 + x1)
  - 0.4256816182937555 * sigmoid( 1.0 + x0 + x1)
  + 1.0708003518029903 * sigmoid( 1.0 + x2)
  + 0.9656992084432717 * sigmoid( 1.0 + x1 + x2)
  - 3.1314863676341247 * sigmoid( 1.0 + x3)
  - 0.8500439753737907 * sigmoid( 1.0 + x0 + x3)
  + 1.0281442392260334 * sigmoid( 1.0 + x1 + x3)
  + 0.8544415127528584 * sigmoid( 1.0 + x0 + x1 + x3)
  - 0.21328056288478453 * sigmoid( 1.0 + x0 + x1 + x2 + x3);
   return decision;
}
double sigmoid( double x) {
   if ( MathAbs (x) < 1.0 ) {
       return 2.0 * signum(x) - x;
   }
   return signum(x);
}
double getBinaryClassificator2( double v0, double v1, double v2, double v3) {
   double x0 = 2.0 * (v0 + 0.00518320000001116 ) / 0.00871940000000327 - 1.0 ;
   double x1 = 2.0 * (v1 + 0.00542880000001134 ) / 0.01145720000000306 - 1.0 ;
   double x2 = 2.0 * (v2 + 0.00578500000001125 ) / 0.00872540000000166 - 1.0 ;
   double x3 = 2.0 * (v3 + 0.00496500000001143 ) / 0.00698900000000191 - 1.0 ;
   double decision = - 0.17965023847376788 * x0
  + 1.7416534181240064 * x1
  + 0.5389507154213037 * x0 * x1
  + 0.5023847376788553 * x2
  - 0.16653418124006358 * x1 * x2
  - 0.06836248012718601 * x3
  - 0.8191573926868044 * x1 * x3
  - 0.029809220985691574 * sigmoid(x0)
  - 0.009141494435612083 * sigmoid(x1)
  + 0.00794912559618442 * sigmoid(x0 + x1)
  + 1.7150238473767885 * sigmoid(x2)
  - 1.2686804451510334 * sigmoid(x0 + x2)
  + 0.051271860095389504 * sigmoid(x1 + x2)
  + 0.05405405405405406 * sigmoid(x0 + x1 + x2)
  - 1.095389507154213 * sigmoid(x3)
  - 0.2444356120826709 * sigmoid(x0 + x3)
  + 0.34737678855325915 * sigmoid(x1 + x3)
  + 0.9264705882352942 * sigmoid(x0 + x1 + x3)
  + 0.16176470588235295 * sigmoid(x2 + x3)
  - 0.7682829888712241 * sigmoid(x0 + x2 + x3)
  - 0.16335453100158984 * sigmoid(x1 + x2 + x3)
  + 0.7551669316375199 * sigmoid(x0 + x1 + x2 + x3)
  - 2.048489666136725 * sigmoid( 1.0 + x0)
  - 0.31756756756756754 * sigmoid( 1.0 + x1)
  - 0.08982511923688394 * sigmoid( 1.0 + x0 + x1)
  + 1.4666136724960255 * sigmoid( 1.0 + x1 + x2);
   return decision;
}
double signum( double x) {
   if (x == 0.0 ) {
     return 0.0 ;
  }
   if (x > 0.0 ) {
     return 1.0 ;
  }
   return - 1.0 ;
}

첨부 파일에서 내 표시에 따라 입력 수를 식별합니다. OOS 실행 결과를 기다리고 있습니다

파일:
Si_Splice_10.txt  102 kb
 

글쎄, 모델의 평가 외에도.

예측 변수에서 파일의 열 번호가 표시됩니다.

총 258개의 벡터 수. 클래스 0을 제거하고 클래스 2를 남겨 0으로 이름을 변경했습니다. 수량에서 클래스 1과 균형을 이루었기 때문에 19.60은 2차 오류이거나 직선 선형과 2차의 차이입니다. 오히려 0이 되는 경향이 있습니다. 79.141은 일반 일반화 능력, 지표 100에 노력하는 동안 오류 간의 차이가 줄어들고 69.767이 특이도입니다. 대조구의 총 개수는 75개이고 일반 일반화 능력은 70개입니다. 우리는 총 표본의 77개 벡터에 대해 모른다라는 답을 받았습니다. 여기서 대조구에는 17개가 있었습니다.

실제로 훈련에서 최악의 결과를 얻었지만 컨트롤 섹션에서 훨씬 더 높습니다. 이것은 당신과 같은 테스트 사이트가 아니라 네트워크에서 일반적으로 볼 수 없는 제어 사이트라는 사실에도 불구하고. 테스트는 그녀가 테스트에서 잘 작동하도록 훈련에 대해 훈련할 때입니다. 즉, 잠재적으로 네트워크가 훈련 중에 테스트 섹션을 볼 수 있습니다. 제어 번호 질문????

 

최대 이익(mql4)으로 주문을 찾는 방법을 알려주세요.

정말 감사합니다.

 
a5l3e5x :

최대 이익(mql4)으로 주문을 찾는 방법을 알려주세요.

정말 감사합니다.

친구, 여기 아무도 MT4를 더 이상 사용하지 않습니다. 주문에는 이익 매개변수가 있습니다. 이 매개변수를 읽으려면 모든 주문을 열거하고 최대 주문을 선택해야 합니다. 뭐... 한마디로...
 
마이클 마르쿠카이테스 :

이 작업이 흥미롭습니까?

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

거래에서의 머신 러닝: 이론, 실습, 거래 등

로르샤흐 , 2020.07.14 19:21

누가 운동하고 싶어? 위 그래프는 입구, 세 번째 그래프는 출구입니다. 2번과 4번 테스트. 일부 설명, 1 증가 차트, 3 차트는 "클래식" 시스템을 구매하라는 신호입니다. 그건 그렇고, 빠른 질문입니다. 지그재그 및 높음/낮음 표시기와 같은 논리 및 메모리 표시기를 에뮬레이트할 수 있습니까?



 
로르샤흐 :

이 작업이 흥미롭습니까?


예를 들어, 당신은 나에게 그림에서 점수를 매기겠다고 제안합니까?
 
마이클 마르쿠카이테스 :
예를 들어, 당신은 나에게 그림에서 점수를 매기겠다고 제안합니까?

그런 다음 350개의 예제, 100개의 입력을 가져올 데이터를 준비하겠습니다.

 
로르샤흐 :

그런 다음 350개의 예제, 100개의 입력을 가져올 데이터를 준비하겠습니다.

예, 이것은 일반적으로 멋지지만 알고리즘이 선택할 수 있도록 입력의 예가 3배 더 많아야 한다는 사실을 고수합니다. 젠장, 내가 쓸 다른 비디오의 냄새가 난다. 그렇지 않으면 쓰는 데 오랜 시간이 걸릴 것이다. 내가이 결론에 도달 한 정방 행렬 이론이 있습니다 ... 샘플 준비 ...
 

광고를 위해 사람을 확인하지 마십시오. 오픈날에 갔을 때 독학으로 충분하다고 생각했는데, 혹시 모르니, 갑자기 모든 것이 잘못된 생각이 들었습니다. 말하자면 지식의 공식 확인을 받고 싶습니다. 얼마 전 나는 8월에 발표될 Elon Musk와 그의 Neurolink에 대해 읽었습니다. 글쎄, 여기에서 문자가 와서 내용을 다운로드하는 방법을 이해하지 못했으므로 그림을보십시오.

일반적으로 주제가 흥미롭기 때문에 교묘하게 거기에 모여 압박에 대해 이야기할 수 있을까요? 어떻게 생각하나요?

 
마이클 마르쿠카이테스 :
예, 이것은 일반적으로 멋지지만 알고리즘이 선택할 수 있도록 입력의 예가 3배 더 많아야 한다는 사실을 고수합니다. 젠장, 내가 쓸 다른 비디오의 냄새가 난다. 그렇지 않으면 쓰는 데 오랜 시간이 걸릴 것이다. 내가이 결론에 도달 한 정방 행렬 이론이 있습니다 ... 샘플 준비 ...

내 결과는 여기 에 자세히 나와 있습니다. 유효성 검사를 위해 원래 행에 -1을 곱합니다.

파일:
Files.zip  4 kb
사유: