L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 473

 

Per coloro che partecipano ancora al concorso numer.ai -

Una volta hanno introdotto la loro criptovaluta (NMR), e all'inizio l'hanno data ai partecipanti attivi al concorso, e poi hanno iniziato a darla per vincere insieme ai dollari, controlla se li hai ricevuti anche tu. Ora NMR può essere ritirato dal conto del concorso, e attraverso gli scambiatori può essere convertito in denaro comune.

Ecco il tasso di cambio con il dollaro, per esempiohttps://www.cryptonator.com/rates/NMR-USD, un bel po'.
https://bittrex.com/Market/Index?MarketName=BTC-NMR

 
L'ho chiesto da qualche parte, ma l'ho dimenticato, come possiamo portare diverse coppie di valute con prezzi diversi in un'unica scala che ci permetterebbe di aggiungere, sottrarre, ecc. alcuni BP da altri?)
 
mytarmailS:
L'ho chiesto da qualche parte ma l'ho dimenticato, come posso normalizzare diverse coppie di valute con prezzi diversi in un'unica scala che mi permetterebbe di aggiungere, sottrarre, ecc. da altre VR? Perché ho 101 idee intelligenti e per la 101esima volta ho capito che non funziona)

Normalizzazione o normalizzazione delle variabili

 
mytarmailS:
Penso di averlo già chiesto da qualche parte, ma l'ho dimenticato, come posso portare diverse coppie di valute con prezzi diversi sulla stessa scala, in modo da poter aggiungere, sottrarre, ecc. un BP da un altro, perché ho 101 idee intelligenti e per la 101esima volta devo capire che non funzionano)
regressione multipla
 

Fratelli!!! Ciao a tutti.... Ho deciso di migrare a MQL5, quindi per favore aiutatemi con il codice in alcuni aspetti... Ci vuole troppo tempo per avere una risposta dal supporto... può non rispondere...

Ho fatto un nuovo indicatore ma non emette un valore di variabile... Come posso spiegare?

File:
ChekParam.mq5  11 kb
 

Aiutami a ricordare come fare questo ...

ci sono circa 6 strumenti in un foglio li

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

Tutti gli strumenti hanno date e orari su indici diversi, ogni strumento ha un "buco" in esso. Come posso eliminare le date da tutti gli strumenti e lasciare solo le date e gli orari che sono presenti in tutti gli strumenti, per dirla semplicemente sincronizzare tutti questi dataframes

 
Mihail Marchukajtes:

Fratelli!!! Ciao a tutti.... Ho deciso di migrare a MQL5, quindi per favore aiutatemi con il codice in alcuni aspetti... Ci vuole troppo tempo per avere una risposta dal supporto... può anche non rispondere...

Ho fatto questo codice e non emette il valore della variabile... Qualcuno può dirmi cosa fare?


1. Non sapete quale valore volete emettere.

2. L'indicatore personalizzato non è chiamato correttamente - leggi le caratteristiche di iCustom in MT5.

 
mytarmailS:

Aiutami a ricordare come fare questo ...

ci sono circa 6 strumenti in un foglio li

Come posso rimuovere date e orari da tutti gli strumenti e lasciare solo quelli che sono presenti in tutti gli strumenti?

L'ho fatto in questo modo - ho creato una nuova colonna dove ho unito data e ora, e poi ho cercato le corrispondenze di tali valori in diverse tabelle.
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
  }
}

Inoltre le barre scartate introducono errori nei valori ohlc, cioè la barra ha chiuso ad un prezzo, e poi a causa della barra cancellata la prossima nella tabella si aprirà ad un prezzo diverso, e il massimo e il minimo della barra cancellata saranno persi. L'alto, il basso e la chiusura della barra precedentemente cancellata devono essere confrontati con la barra precedente che non è stata cancellata e aggiornati se necessario.
Stavo lavorando con i prezzi aperti, quindi non mi sono preoccupato più di tanto.

 
Aleksey Vyazmikin:

1. Non è chiaro quale valore della variabile vuoi emettere.

2. L'indicatore personalizzato non è chiamato correttamente nel codice - leggi le peculiarità di iCustom in MT5.


Ahem... ahem... Come pensate che queste informazioni mi abbiano aiutato???? se ho già letto la guida e sono un po' confuso....

 
Mihail Marchukajtes:

Ahem... Ahem... e come pensate che queste informazioni mi abbiano aiutato in qualche modo???? se ho già letto la guida e sono un po' confuso....


Beh, come puoi aiutare se non hai risposto - che tipo di variabili devi chiamare?

E per iCustom dovete creare un hendel - cioè legarlo a una variabile.

Lo faccio approssimativamente così nel mio Expert Advisor (il principio è lo stesso in un indicatore ...)

//Хендали - мать их
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]);
  }

Motivazione: