Ayuda: Cómo obtener el precio de apertura y el precio de cierre de una línea k

El autor:Los muertos vienen., Creado: 2017-01-21 17:08:57, Actualizado:

Pido ayuda

Quiero hacerles una pregunta. Soy un usuario que acaba de empezar a aprender a escribir estrategias, y tengo algunas preguntas que me gustaría hacer, muy básicas. Tal vez haya respuestas preparadas en el foro, pero no las he encontrado, si hay una, espero que pueda enviar un enlace, muchas gracias.

La pregunta es la siguiente: ¿Cómo se puede obtener el precio de los tirones Open y Close de la línea K que acaba de terminar y de la línea K que la precede?

¿Qué es lo que está pasando? Tomando como ejemplo la línea K de 1 minuto, suponiendo que ahora está entre 13:30:01 y 13:30:59, así es como se obtiene la línea K de 13:29:00-13:30:00; y el precio de los tirones Open y Close de la línea K de 13:28:00-13:29:00.

Cuando entras en 13:31:00, el conjunto retrocede un minuto, es decir, 13:30:00-13:31:00 y 13:29:00-13:30:00 en las dos líneas de K.

Me siento un poco extendido. Pero realmente no había pensado cómo hacerlo.

Muchas gracias.


Más.

Un sueño pequeño.- ### El código ¿Por qué no lo haces? tiempo de importación Def main (): Por tiempo = 0; mientras True: LogStatus (("Ahora es la hora:", _D(tiempo.tiempo))) Los registros = exchange.GetRecords Si no hay registros o si no hay registros < 3 Continuar El otro: Si (por Tiempo!= registros [-1][ "Tiempo"]): Log (("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Log (("descendiente de la primera BAR Time:", _D ((records[-1]["Time"] / 1000), "open:", records[-1]["Open"], "close:", records[-1]["Close"])) Log (("descendiente segundo BAR Time:", _D ((records[-2]["Time"] / 1000), "open:", records[-2]["Open"], "close:", records[-2]["Close"])) Por tiempo = registros[-1]["Tiempo"] Sleep ((1000)); ¿Por qué no lo haces? https://dn-filebox.qbox.me/0526171cd87660b623631c0e1230d728c54189df.png

Los muertos vienen.Enn, después de los cambios debería estar bien, mi gráfico de contraste parece no tener problemas al revisarlo. Además, la salida debería ser la más eficiente en tiempo real cuando se genere un nuevo BAR.

Un sueño pequeño.Ah, sí, es que tengo un problema, yo he escrito que LOG se produce cuando se genera una nueva barra, y en este caso, de hecho, OPEN y CLOSE son lo mismo. Debería probar con índices -2 y -3.

Los muertos vienen. https://dn-filebox.qbox.me/f26922644ef757f579ac683a5032c42d57ee2bcc.png

Los muertos vienen.El momento en que se genera el log de sensación, debería ser [-1] entonces, por lo que el código debería ser: Log (("descendiente de la primera BAR Time:", _D ((records[-2]["Time"] / 1000), "open:", records[-2]["Open"], "close:", records[-2]["Close"])) Log (("descendiente segundo BAR Time:", _D ((records[-3]["Time"] / 1000), "open:", records[-3]["Open"], "close:", records[-3]["Close"]))

Los muertos vienen.De repente me di cuenta de que había un pequeño problema con los datos de cierre de la primera barra de descomposición, que su abierto y cerrado siempre son los mismos, y luego me di cuenta de que el cierre no era correcto, pero no vi ningún problema en el código.