Nadie lee, pero están dispuestos a apoyar. ¿Me ha parecido verte en el hilo sobre aprendizaje automático? Si es así, usted debe entender lo que está escrito en el artículo.
Creo que no lo entiendo del todo. Por qué un elemento de la matriz tiene 3 valores. Es una matriz de 3 dimensiones. Por qué en la ayuda el vector es un array unidimensional y la matriz en este ejemplo está representada por uno tridimensional.
ZY, sucede)))) en el ejemplo hay 3 filas y 4 columnas)))) matriz))))))
Otro pequeño error en la sección"Copiar series temporales a matriz o vector":
//--- lista de caracteres a calcularstring symbols[]= {"EURUSD", "GBPUSD", "USDJPY", "USDCAD", "USDCHF"};
int size=ArraySize(symbols);
//--- matriz y vector para obtener precios Cerrarmatrix rates(InBars, size);
vector close;
for(int i=0; i<size; i++)
{
//--- obtener los precios de cierre en el vectorif(close.CopyRates(symbols[i], InTF, COPY_RATES_CLOSE, 1, InBars))
{
//--- inserta el vector en la matriz de series temporales
rates.Col(close, i);
PrintFormat("%d. %s: %d Precios de cierre añadidos a la matriz"., i+1, symbols[i], close.Size());
//--- salida de los primeros 20 valores del vector para depuraciónint digits=(int)SymbolInfoInteger(symbols[i], SYMBOL_DIGITS);
Print(VectorToString(close, 20, digits));
}
else
{
Print("vector.CopyRates(%d,COPY_RATES_CLOSE) failed. Error ", symbols[i], GetLastError());return;
}
}
Probablemente mejor así:
//--- lista de caracteres a calcularstring symbols[] = {"EURUSD", "GBPUSD", "USDJPY", "USDCAD", "USDCHF"};
int size =::ArraySize(symbols);
//--- matriz y vector para obtener precios Cerrarmatrix rates_mx(InBars, size);
vector close_vc;
for(int i = 0; i < size; i++)
{
::ResetLastError();//--- obtener los precios de cierre en el vectorif(close_vc.CopyRates(symbols[i], InTF, COPY_RATES_CLOSE, 1, InBars))
{
//--- inserta el vector en la matriz de series temporales
rates_mx.Col(close_vc, i);
::PrintFormat("%d. %s: %d Precios de cierre añadidos a la matriz"., i + 1, symbols[i],close_vc.Size());
//--- salida de los primeros 20 valores del vector para depuraciónint digits = (int)::SymbolInfoInteger(symbols[i], SYMBOL_DIGITS); ::Print(VectorToString(close_vc, 20, digits));
}
else
{
::PrintFormat("vector.CopyRates(%s,COPY_RATES_CLOSE) failed. Error %d", symbols[i], ::GetLastError());return;
}
}
No es un vector, es una matriz, tengo el código de arriba
Tienes que averiguarlo tu mismo o convencer al compilador. Ver ejemplos, leer.
¿Cómo se obtiene una columna de una matriz?
Puedes obtener un vector de una matriz utilizando Col
¿Qué quieres decir con "sacar"? ¿Sacar?
Puede obtener un vector a partir de una matriz utilizando Col
¿Qué quieres decir con "sacar"? ¿Quitar?
Sacarlo en términos de convertirlo en algo con lo que trabajar.
Arriba mostré el código que me falló con Col, era una matriz, no un vector, como escribiste.
Usted necesita descansar y volver a leer todas sus preguntas en este osbud mañana
Gracias por preocuparte.
La mayoría de las preguntas se han resuelto con su ayuda.
Voy a esperar hasta mañana, tal vez usted puede responder a mi pregunta más tarde.
Nadie lee, pero están dispuestos a apoyar. ¿Me ha parecido verte en el hilo sobre aprendizaje automático? Si es así, usted debe entender lo que está escrito en el artículo.
Probablemente hay un pequeño error aquí:
Debería ser así:
Otro pequeño error en la sección"Copiar series temporales a matriz o vector":
Probablemente mejor así:
Probablemente hay un pequeño error aquí:
Debería ser así:
Gracias, corregido