Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 473

 

Para aqueles que ainda participam no concurso numer.ai -

Lá uma vez introduziram a sua própria moeda criptográfica (NMR), e no início deram-na aos participantes activos do concurso, e depois começaram a dá-los por ganharem juntamente com dólares, verifique se também os recebeu. Agora o NMR pode ser retirado da conta do concurso, e através de trocadores pode ser convertido em dinheiro comum.

Aqui está a taxa de câmbio para o dólar, por exemplohttps://www.cryptonator.com/rates/NMR-USD, bastante.
https://bittrex.com/Market/Index?MarketName=BTC-NMR

 
Tenho perguntado em algum lugar, mas esqueci, como podemos trazer pares de moedas diferentes com preços diferentes para uma única escala que nos permitiria adicionar, subtrair, etc., alguns BPs de outros?)
 
mytarmailS:
Tenho perguntado em algum lugar mas esqueci, como posso normalizar diferentes pares de moedas com preços diferentes para uma única escala que me permitiria adicionar, subtrair, etc. de outros VR's? Porque tenho 101 idéias inteligentes e pela 101ª vez percebi que não funciona)

Normalização variável ou normalização

 
mytarmailS:
Acho que já perguntei em algum lugar, mas esqueci, como posso trazer pares de moedas diferentes com preços diferentes para a mesma escala, para que eu possa adicionar, subtrair, etc. de outros BPs, mas eu tenho 101 idéias inteligentes e pela 101ª vez eu percebi que não funciona)
regressão múltipla
 

Irmãos!!! Olá a todos.... Decidi migrar para a MQL5, por isso ajudem-me com o código em alguns aspectos... Está a demorar muito tempo a obter uma resposta do apoio... pode não responder...

Fiz um novo indicador mas não produz um valor de variável... Como posso explicar?

Arquivos anexados:
ChekParam.mq5  11 kb
 

Ajude-me a lembrar como fazer isto...

existem cerca de 6 ferramentas numa folha 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

Todas as ferramentas têm datas e horas em índices diferentes, cada ferramenta tem um "furo". Como posso largar datas de todas as ferramentas e deixar apenas as datas e horas que estão presentes em todas as ferramentas, para colocar simplesmente sincronizar todos estes dataframes

 
Mihail Marchukajtes:

Irmãos!!! Olá a todos.... Decidi migrar para a MQL5, por isso ajudem-me com o código em alguns aspectos... Está a demorar muito tempo a obter uma resposta da equipa de apoio... pode nem sequer responder...

Eu fiz este código e ele não sai o valor da variável... Alguém pode me dizer o que fazer?


1. Você não sabe qual o valor que você quer emitir.

2. O indicador personalizado não é chamado corretamente - leia sobre as peculiaridades do iCustom no MT5.

 
mytarmailS:

Ajude-me a lembrar como fazer isto...

existem cerca de 6 ferramentas numa folha li

Como posso remover datas e horas de todas as ferramentas e deixar apenas as que estão presentes em todas as ferramentas?

Fi-lo desta forma - criei uma nova coluna onde fundi data e hora, e depois procurei por correspondência de tais valores em diferentes tabelas.
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
  }
}

As barras descartadas também introduzem erros nos valores ohlc, ou seja, a barra fechada por um preço, e depois por causa da barra apagada a próxima na tabela abrirá por um preço diferente, e a alta e a baixa da barra apagada será perdida. A barra alta, baixa e fechada anteriormente eliminada deve ser comparada com a barra anterior que não foi eliminada e actualizada se necessário.
Eu só estava a trabalhar com preços abertos, por isso não me preocupei muito com eles.

 
Aleksey Vyazmikin:

1. Não está claro qual o valor da variável que você quer emitir.

2. O indicador personalizado não é chamado corretamente no código - leia sobre as peculiaridades do iCustom no MT5.


Ahem... ahem... como você acha que esta informação me ajudou???? se eu já li a ajuda e estou um pouco confuso....

 
Mihail Marchukajtes:

Ahem... Ahem... e como você acha que essa informação me ajudou de alguma forma???? se eu já li a ajuda e estou um pouco confuso....


Bem, como você pode ajudar se você não respondeu - que tipo de variáveis você precisa chamar?

E para o iCustom você precisa criar um hendel - ou seja, ligá-lo a uma variável.

Faço-o aproximadamente desta forma no meu Expert Advisor (o princípio é o mesmo num indicador ...)

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