Red de conocimiento informático - Material del sitio web - ¿Cuál es la estructura de datos de la línea K diaria de la Gran Sabiduría?

¿Cuál es la estructura de datos de la línea K diaria de la Gran Sabiduría?

La estructura de datos de la línea K china y japonesa en el software de cotización de acciones Great Wisdom es actualmente una herramienta de negociación de acciones ampliamente utilizada. A veces necesitamos compilar nuestros propios algoritmos de negociación de acciones para la investigación, como extraer el precio de cierre y el volumen de negociación. acciones individuales En este momento, si podemos leer directamente el formato de datos del Sistema de análisis de acciones de Great Wisdom, será muy conveniente para la preparación del software. (Nota: Great Wisdom utiliza el formato de datos de Qianlong. Este artículo es aplicable a los datos diarios de la línea K en el software del mercado de valores de Qianlong).

1. Archivos de datos y estructuras de datos:

Archivos de datos y estructuras de datos de Great Wisdom: (supongamos que el software del mercado de valores de Great Wisdom está instalado en el directorio D:dzh)

Almacenamiento de línea diaria de Shanghai ruta: D:dzhDATASHaseDay, extensión de archivo: .day

Ruta de almacenamiento semanal de Shanghai: D:dzhDATASHase Ruta de almacenamiento semanal: D:dzhDATASHaseDay, extensión de archivo: .day

Almacenamiento semanal diario de Shanghai ruta: D:dzhDATASHaseweek, extensión de archivo: .day.dzhDATASHaseweek, extensión de archivo: .wek

Ruta de almacenamiento mensual de Shanghai: D:dzhDATASHasemonth, extensión de archivo: .mnt

Almacenamiento diario de Shenzhen ruta: D:dzhDATASZnseDay

Ruta de almacenamiento semanal de Shenzhen: D:dzhDATASZnseDay

Ruta de almacenamiento semanal de Shenzhen: D:dzhDATASZnseDay

Shenzhen todos los días Ruta de almacenamiento semanal: D .dzhDATASZnseweek

Ruta de almacenamiento mensual de Shenzhen: D:dzhDATASZnsemonth

El formato semanal y el formato mensual son los mismos que el formato diario.

00 00 00 00 00 00 00 00 00 00 00-D7 CD 2F 01 60 03 01 00 00

1A76:0130 60 03 01 00 60 03 01 00 60 03 01 00-60 03 01 00 0 82 05 00 00 00

1A76: 0140 D4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > Cada registro tiene 40 bytes de longitud:

1-4 bytes son la fecha, D6 CD 2F 01 convertido a decimal es: 19910102

5-8 bytes = precio de apertura ($)*1000

9-12 bytes=precio más alto ($)*1000

13-16 bytes=precio más bajo ($)*1000

17-20 bytes = precio de cierre ($) * 1000

21-24 bytes = precio de transacción ($)/1000

25-28 bytes = volumen de transacciones (mano)

Los 12 bytes restantes no se utilizan

Pasos para implementar esta función:

1. estructura de matriz

2, luego asigne espacio de matriz dinámica de acuerdo con el número real de registros

3, luego lea los datos en la matriz correspondiente

Los datos diarios son en: %app_dir%\DATA\SHase\ Day (acciones A de Shanghai) y %app_dir%\DATA\SZnse\Day (acciones A de Shenzhen)

# pragma once

struct DZH5Day

{

fecha larga sin firmar;//formato de fecha: 20070423

apertura larga sin firmar;//precio de apertura

larga sin firmar alto;//precio alto

largo sin firmar bajo;//precio bajo

cierre largo sin firmar;//precio de cierre

suma de dinero largo sin firmar;//facturación cantidad

rotación larga sin firmar.//cantidad de facturación

char no utilizado[12];//reservado

};

La totalidad la estructura es ***40 bytes, los lectores pueden ver todos los archivos japoneses, el tamaño debe ser múltiplo de 40

De esta manera es fácil leer los datos correspondientes:

Por ejemplo :

FILE* pFile = fopen ("600001.day", "rb");

if (NULL ! = pFile)

{

while(!feof(pFile))

{

DZH5Day díaK;

fread(&dayK, sizeof(DZH5Day), 1, pFile) ;

..... .

}

}