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

 

아직 numer.ai 콘테스트에 참여하신 분들을 위해 -

그들은 한때 자신의 암호 화폐 (NMR)를 도입했으며 처음에는 경쟁에 참여하는 참가자에게 조금 배포 한 다음 달러와 함께 승리에 대해 제공하기 시작했습니다. 크레딧이 있는지 확인하십시오. 이제 NMR은 이미 경쟁 계정에서 인출할 수 있으며 교환을 통해 일반 돈으로 이체할 수 있습니다.

다음은 달러에 대한 환율입니다(예: https://www.cryptonator.com/rates/NMR-USD ).
https://bittrex.com/Market/Index?MarketName=BTC-NMR

 
여기 어딘가에 이미 물었지만 가격이 다른 여러 통화 쌍을 단일 척도로 가져와 다른 VR에서 일부 VR을 더하거나 빼는 등의 작업을 수행할 수 있는 방법을 잊어버렸습니다. 101번은 안되는걸로 이해)
 
mytarmailS :
여기 어딘가에 이미 물었지만 가격이 다른 여러 통화 쌍을 단일 척도로 가져와 다른 VR에서 일부 VR을 더하거나 빼는 등의 작업을 수행할 수 있는 방법을 잊어버렸습니다. 101번은 안되는걸로 이해)

변수의 정규화 또는 정규화

 
mytarmailS :
여기 어딘가에 이미 물었지만 가격이 다른 여러 통화 쌍을 단일 척도로 가져 와서 다른 BP에서 일부 BP를 더하거나 빼는 등의 작업을 수행할 수 있는 방법을 잊었습니다. 그렇지 않으면 101번째 기발한 아이디어가 나타나고 필요한 101번은 안되는걸로 이해)
다중 회귀
 

형제!!! 안녕하세요 여러분.... MQL5로 마이그레이션하기로 결정했습니다. 잠시 후 코드를 도와주세요... 그리고 지원에서 그들은 오랫동안 무언가에 대답합니다.... 그들은 대답하지 않을 수 있습니다...

일반적으로 나는 칠면조를 썼지 만 나를 위해 변수 값을 표시하지 않습니다. 아무도 알려주실 수 있습니까 ??

파일:
ChekParam.mq5  11 kb
 

어떻게 기억하는지 도와주세요...

시트에는 약 6개의 도구가 있습니다.

head(li[[ 1 ]])
    ticker per     date   time  open  high   low close   vol
1 SPFB.RTS   5 20160104 100500 75390 76320 75250 76000 14319
2 SPFB.RTS   5 20160104 101000 76000 76030 75790 75900    4818
3 SPFB.RTS   5 20160104 101500 75920 76050 75850 75970    2947
4 SPFB.RTS   5 20160104 102000 75970 76120 75900 76080    2415
5 SPFB.RTS   5 20160104 102500 76080 76140 75870 75920    2347
6 SPFB.RTS   5 20160104 103000 75910 76010 75580 75640    3787
> head(li[[ 2 ]])
   ticker per     date   time  open  high   low close   vol
1 SPFB.BR   5 20160104 100500 36.67 38.20 36.67 37.63 40185
2 SPFB.BR   5 20160104 101000 37.63 37.64 37.58 37.61    5914
3 SPFB.BR   5 20160104 101500 37.62 37.63 37.56 37.61    5103
4 SPFB.BR   5 20160104 102000 37.62 37.77 37.62 37.73 13513
5 SPFB.BR   5 20160104 102500 37.74 37.78 37.59 37.60    5061
6 SPFB.BR   5 20160104 103000 37.60 37.66 37.48 37.53    6239
> head(li[[ 3 ]])
     ticker per     date   time  open  high   low close  vol
1 SPFB.GAZR   5 20160104 100500 13912 13943 13850 13936 4712
2 SPFB.GAZR   5 20160104 101000 13936 13943 13917 13937 1180
3 SPFB.GAZR   5 20160104 101500 13934 13937 13921 13926 1298
4 SPFB.GAZR   5 20160104 102000 13931 13938 13925 13934    294
5 SPFB.GAZR   5 20160104 102500 13935 13941 13927 13927    540
6 SPFB.GAZR   5 20160104 103000 13931 13934 13889 13896    704

각 악기의 다른 인덱스에 있는 모든 악기의 날짜와 시간. "구멍"이 있습니다. 어떻게 모든 악기에서 중복되지 않은 날짜를 버리고 모든 악기에 있는 날짜와 시간만 남겨둘 수 있습니까? 즉, 이 모든 데이터 프레임을 제 시간에 동기화

 
마이클 마르쿠카이테스 :

형제!!! 안녕하세요 여러분.... MQL5로 마이그레이션하기로 결정했습니다. 잠시 후 코드를 도와주세요... 그리고 지원에서 그들은 오랫동안 무언가에 대답합니다.... 그들은 대답하지 않을 수 있습니다...

일반적으로 나는 칠면조를 썼지 만 나를 위해 변수 값을 표시하지 않습니다. 아무도 알려주실 수 있습니까 ??


1. 표시해야 하는 변수의 값이 명확하지 않습니다.

2. 사용자 지정 표시기 가 코드에서 잘못 호출됩니다. MT5의 iCustom 기능에 대해 읽어보세요.

 
mytarmailS :

어떻게 기억하는지 도와주세요...

시트에는 약 6개의 도구가 있습니다.

각 악기의 다른 인덱스에 있는 모든 악기의 날짜와 시간. "구멍"이 있습니다. 어떻게 모든 악기에서 중복되지 않은 날짜를 버리고 모든 악기에 있는 날짜와 시간만 남겨두고 이 모든 데이터 프레임을 제 시간에 동기화할 수 있습니까?

이것이 내가 한 방법입니다. 날짜와 시간을 결합한 새 열을 만든 다음 다른 테이블에서 그러한 값의 일치 항목을 찾았습니다.
liSynchronized <- li
#создание новой колонки по которой будут сравниваться значения разных таблиц
for (i in 1 :length(liSynchronized)){
  liSynchronized[[i]]$ datetime <- paste0(liSynchronized[[i]]$date, liSynchronized[[i]]$time)
}

while ( TRUE ){
  somethingChanged <- FALSE
   for (i in 1 :length(liSynchronized)){
    syncIndexes <- rep( TRUE , nrow(liSynchronized[[i]]))
     for (j in ( 1 :length(liSynchronized))[-i]){
      syncIndexes <- syncIndexes & (liSynchronized[[i]]$ datetime %in% liSynchronized[[j]]$ datetime )
    }
     if (!all(syncIndexes)){
      somethingChanged <- TRUE
    }
    liSynchronized[[i]] <- liSynchronized[[i]][syncIndexes, ]
  }
   if (!somethingChanged){
     break
  }
}

또한 버려진 막대는 ohlc 값에 오류를 발생시킵니다. 같은 가격으로 바를 닫았다가, 리모트 바 때문에 테이블의 다음 테이블이 다른 가격으로 열리고, 리모트 바의 높낮이가 아예 없어진다. 제거된 막대의 고가, 저가 및 종가를 삭제되지 않은 이전 막대와 비교하고 필요한 경우 업데이트해야 합니다.
그냥 오픈 프라이스로 작업해서 별로 신경쓰지 않았습니다.

 
알렉세이 비아즈미킨 :

1. 표시해야 하는 변수의 값이 명확하지 않습니다.

2. 사용자 지정 표시기 가 코드에서 잘못 호출됩니다. MT5의 iCustom 기능에 대해 읽어보세요.


케... 케... 그리고 이 정보가 어떻게 해서 나를 도왔다고 생각해???? 이미 도움말을 읽고 조금 이해가 되지 않았다면....

 
마이클 마르쿠카이테스 :

케... 케... 그리고 이 정보가 어떻게 해서 나를 도왔다고 생각해???? 이미 도움말을 읽고 조금 이해가 되지 않았다면....


글쎄, 당신이 대답하지 않으면 어떻게 도울 수 있습니까? 어떤 종류의 변수를 호출해야합니까?

그리고 iCustom의 경우 핸들을 생성해야 합니다. 변수에 바인딩합니다.

나는 Expert Advisor에서 이와 같은 작업을 수행합니다(지표에서 원칙은 일반적으로 동일합니다...)

//Хендали - мать их
int handle_iMomentum;

int OnInit()
  {
//Хендаль объявляем iMomentum
   handle_iMomentum=iMomentum(Symbol(),0,100,0);
   if(handle_iMomentum==INVALID_HANDLE)
     {
      PrintFormat("Failed to create handle of the iMomentum indicator for the symbol %s/%s, error code %d",
                  Symbol(),EnumToString(Period()),GetLastError());
      return(INIT_FAILED);
     }

   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
double Momentum=Momentumf(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Momentumf(const int index)
  {
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_iMomentum,0,index,1,MA)<0)
     {
      PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
      return(0.0);
     }
   return(MA[0]);
  }

사유: