혼돈에 패턴이 있을까요? 찾아보겠습니다! 특정 샘플의 예에 대한 머신 러닝. - 페이지 5

 
elibrarius #:
우리는 오류로부터 정확한 재무 결과가 필요합니다.
0을 선택하면 (포함할 수 없으므로 항상 0이 됩니다), 1을 선택하면 -1이 됩니다. 항상 0 클래스로 표시하더라도 거래하지 마십시오. 모델이 틀릴 것이며 오류의 가격을 알아야합니다.

진입 방향을 결정하는 것은 모델이 아니므로 방향에 오류가 있으면 진입하지 않으므로 손실이 발생하지 않습니다.

 
Aleksey Vyazmikin #:

진입 방향을 결정하는 모델이 아니므로 방향이 잘못되면 진입이 없으므로 손실이 발생하지 않습니다.

가끔 1 또는 -1로 예측되는 0 클래스에 대해 썼습니다. 재무 결과를 알 수 없다고 쓰셨는데요.

 
Aleksey Vyazmikin #:

진입 방향을 결정하는 것은 모델이 아닙니다.

진입 방향을 결정하는 것이 모델이 아니라면 가르칠 필요가 없습니다.

 
elibrarius #:

때때로 1 또는 -1로 예측되는 0 클래스에 대해 썼습니다. 재무 결과를 알 수 없다고 썼습니다.

방향을 포기하지 마세요.

클래스가 0이고 방향이 +1이고 1로 분류된 경우 손실이 발생하므로 재무 결과 모듈로 아무 열이나 가져옵니다.

클래스가 0이고 방향이 +1이지만 -1로 분류된 경우 항목이 없고 손실도 없습니다.

클래스가 0이고 방향이 -1이고 -1로 분류된 경우 손실이 발생하며, 재무 결과 모듈로 아무 열이나 가져옵니다.

클래스가 0이고 방향이 -1이고 1로 분류된 경우 항목이 없고 손실이 없습니다.

엘리바리우스 #:

모델을 결정짓는 것이 아니라면 모델을 가르칠 이유가 없습니다.

여기서 논리는 간단합니다. 여러 예측 변수 또는 그 값이 특정 가격 변동 방향에 더 끌린다는 것입니다. 모든 것을 클래스 1과 0으로 함께 가르칠 때, 우리는 본질적으로 어느 방향이든 강한 움직임을 결정하는 예측 변수를 선택하는 것이며, 일반적으로 그 수가 많지는 않지만 각 방향에 고유한 클래스를 부여하면 일부 통계적 모순이 사라지고 모델에 이미 한 예측 변수의 값의 다른 끝에 있는 지표를 포함할 수 있습니다(예: RSI 70/30은 쉽게 분리할 수 있음).

이론적으로 클래스 0은 평평하므로 각 방향에 대해 충분히 유사해야 합니다. 다시 한 번 샘플을 진입 방향별로 한 번에 두 부분으로 나누었더니 학습 결과가 개선되었습니다. 즉, 수익 임계값 기준을 충족하는 모델의 비율이 더 높아졌습니다.

 
Aleksey Vyazmikin #:

클래스가 0이고 방향이 +1이고 -1로 분류된 경우, 진입도 없고 손실도 없습니다.

교사는 진입하지 않을 수 있습니다. 그러나 모델은 실수를 하고 시장에 진입합니다. 모델은 선생님으로부터 0과 +1에 대해 알지 못하며 -1 예측을 받고 거래합니다.

 
elibrarius #:

선생님이 들어가지 않을 수도 있습니다. 하지만 모델이 실수를 해서 시장에 진입할 수도 있습니다. 아니면 모델이 예측한대로 거래하는 것을 금지하는 조건부 연산자가 있습니까? 균형을 맞추기 위해 그런 연산자를 넣을 곳이 없을 것 같습니다.

현재로서는 연산자가 없지만 이에 대한 데이터가 있고 "Target_P" 열에 기록되어 있으므로 모든 것이 매우 성공적으로 작동할 수 있습니다.

다음은 저울을 만들기 위해 스케치한 코드 로직의 예입니다.

int Prognoz=0;//Сюда запишем прогноз
int Target_100[];//Фактическая целевая
int Target_P[];//Тип сделки - покупка/продажа
double Target_100_Buy[];//Финансовый результат от покупки
double Target_100_Sell[];//Финансовый результат от продажи
double Fin_Rez[];//Финансовый результат
int Strok_Total=0;//Всего строк
int Index_Fin_Rez=1;//Считаем число классифицированных 1 и -1 - это размер массива баланса и индекс массива Fin_Rez
ArrayResize(Target_100,Strok_Total);
ArrayResize(Target_P,Strok_Total);
ArrayResize(Target_100_Buy,Strok_Total);
ArrayResize(Target_100_Sell,Strok_Total);
ArrayResize(Fin_Rez,Strok_Total);
ArrayInitialize(Fin_Rez,0);
/*
Прочли данные файла в массивы - не знаю как реализовано у Вас
*/
for(int i=0; i<Strok_Total; i++)
{
/*
Сделали прогноз
*/
   if(Prognoz==-1 && Target_P[i]==-1)
   {
      Fin_Rez[Index_Fin_Rez]=Fin_Rez[Index_Fin_Rez-1]+Target_100_Sell[i];
      Index_Fin_Rez++;
   }
   if(Prognoz==1 && Target_P[i]==1)
   {
      Fin_Rez[Index_Fin_Rez]=Fin_Rez[Index_Fin_Rez-1]+Target_100_Buy[i];
      Index_Fin_Rez++;
   }
}
ArrayResize(Fin_Rez,Index_Fin_Rez);
 
Aleksey Vyazmikin #:

현재 연산자는 없지만 데이터가 있고 "Target_P" 열에 기록되어 있으므로 모든 것이 잘 작동할 수 있습니다.

다음은 밸런스를 구축하기 위해 스케치한 코드 로직의 예입니다.

모델은 예측에 따라서만 거래해야 합니다. 교사를 사용하여 결과를 계산하면 미래를 엿보는 것입니다. 거래는 예측에 의해서만 이루어져야 합니다. 실제 미래에는 Target_100_Sell이 없을 것입니다.

모델은 선생님의 0과 +1에 대해 알지 못하며 -1 예측을 받고 거래 할 것입니다. 각 예측 변형의 재무 결과만 알면 됩니다.

 
elibrarius #:

모델은 예측에 따라서만 거래해야 합니다. 선생을 사용하여 결과를 계산하면 미래를 엿보는 것입니다. 거래는 예측에 의해서만 이루어져야 합니다.

모델은 선생님의 0과 +1에 대해 알지 못하며 -1 예측을 받고 거래합니다. 각 예측 변형의 재무 결과만 알면 됩니다.

엿보기와 무슨 관련이 있을까요? 학습을 개선하기 위해 목표를 변경하는 것이지, EA의 로직을 변경하는 것이 아닙니다. 모델 없이도 진입 방향을 알 수 있고, 진입 여부는 모델이 알려줘야 한다는 논리입니다.

 
Aleksey Vyazmikin #:

를 입력하면 모델이 들어갈지 여부를 알려줄 것입니다.

이미 확인했습니다.

 
elibrarius #:

이미 확인했습니다.

진입점인 샘플 라인이 있고, 손절 또는 기타 신호가 설정된 지점인 출구 지점에 의해 정의된 재무 결과가 있습니다. 전략과 반대로 시장에 진입하고 싶을 때, 즉 모델에서 매도해야 한다고 하면 매수하고 싶을 때 새로운 출구 지점을 정의해야 합니다. 출구 지점이 아직 나타나지 않았지만 진입 지점이 나타나면 어떻게해야합니까? 닫고 모델에 진입 방향에 대해 물어보아야합니까?

사유: