Elexchange.SetData()
La función se utiliza para establecer los datos cargados cuando se ejecuta la estrategia.
La longitud de la cadena después del parámetrovalue
Codificación JSON.
Número
intercambio.Configurar datos (clave, valor)
Nombre de la recopilación de datos.
llave
verdadero
la cuerda
Los datos que deben cargarse por elexchange.SetData()
La estructura de datos es la misma que el formato de datos solicitado por elexchange.GetData()
Función al solicitar datos externos, es decir:"schema": ["time", "data"]
- ¿ Por qué?
Valor
verdadero
el conjunto
/*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/
function main() {
var data = [
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
]
exchange.SetData("test", data)
while(true) {
Log(exchange.GetData("test"))
Sleep(1000)
}
}
'''backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
'''
def main():
data = [
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
]
exchange.SetData("test", data)
while True:
Log(exchange.GetData("test"))
Sleep(1000)
/*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/
void main() {
json data = R"([
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
])"_json;
exchange.SetData("test", data);
while(true) {
Log(exchange.GetData("test"));
Sleep(1000);
}
}
Se requiere que los datos para el parámetrovalue
Se trata de un documento que debe tener el mismo formato que eldata
variable en el siguiente ejemplo.1579622400000
corresponde al tiempo2020-01-22 00:00:00
, y que cuando el programa de estrategia se ejecuta después de este tiempo, llamar a laexchange.GetData()
Función para obtener los datos antes de la próxima marca de tiempo de los datos1579708800000
, es decir, el tiempo2020-01-23 00:00:00
Lo que obtienes es[1579622400000, 123]
el contenido de esos datos, a medida que el programa continúa ejecutándose, el tiempo cambia, y así sucesivamente para obtener el elemento de datos por elemento. en el siguiente ejemplo, en tiempo de ejecución (backtesting o comercio en vivo), el momento actual alcanza o excede la marca de tiempo1579795200000
, elexchange.GetData()
La función se llama y el valor de retorno es:{"Time":1579795200000,"Data":["abc", 123,{"price":123}]}
. "Time":1579795200000
corresponde a1579795200000
en los datos[1579795200000, ["abc", 123, {"price": 123}]]
. "Data":["abc", 123, {"price": 123}]
corresponde a los datos["abc", 123, {"price": 123}]]
En el[1579795200000, ["abc", 123, {"price": 123}]]
.
Los datos cargados pueden ser cualquier indicador económico, datos de la industria, indicadores relevantes, etc., utilizados para la evaluación cuantitativa de la estrategia de toda la información cuantificable.
¿Por qué no lo haces?
exchange.GetRate exchange.GetData