Problema para enviar orden a una hora determinada en backtet

Foro para cuestiones generales sobre la plataforma MetaTrader 4.

Problema para enviar orden a una hora determinada en backtet

Notapor johnnycero » 15 Nov 2016, 20:05

Hola gente! :D estoy tratando de crear un robot que abra una compra o venta a una hora determinada del dia!

Eso debería ser sencillo pero al hacerlo con datos históricos no respeta la hora. Mi pregunta es ¿ los robots respetan la hora de los datos históricos ? pues estube leyendo en foros en ingles y lo poco que entendí es que no se puede.

Si es posible y alguien tiene algún codigo de ejemplo me vendría de perlas. muchas gracias y espero vuestra ayuda. :clap:
johnnycero
 
Mensajes: 3
Registrado: 15 Nov 2016, 19:43
Karma: 0

Re: Problema para enviar orden a una hora determinada en bac

Notapor XaviT » 16 Nov 2016, 18:33

Buenas Jonhy.

A ver que las respeta segurisimo :lol:
Como lo estas probando?
Ahora no tengo acceso al ordenador para mirarte codigo pero la idea es la siguiente a cada tick comparas si es la hora que quieres y si es la hora que esperas lanzas la orden, sin problemas vamos yo lo he echo mil veces.

Otra cosa es que has de tener en cuenta las diferencias horarias de tu broker, depende que timezone que use...

Saludos
XaviT
 
Mensajes: 196
Registrado: 05 Mar 2016, 15:57
Karma: 3

Re: Problema para enviar orden a una hora determinada en bac

Notapor car2707 » 16 Nov 2016, 19:17

Quizas tengas inconvenientes con los datos historicos con los que estas trabajando, te recomiendo que cuando lo exportes de TickStoryLite especifiques la zona horaria que necesitas, lo puedes hacer en el apartado de la imagen:
Adjuntos
tickstorylite.jpg
Hay 10 tipos de personas los que entienden binario y los que no
car2707
 
Mensajes: 143
Registrado: 08 Mar 2009, 20:41
Karma: 0

Re: Problema para enviar orden a una hora determinada en bac

Notapor johnnycero » 16 Nov 2016, 20:27

Gracias por las respuestas tan rápida! pues que alivio saber que si lo respeta! pues sino no tendria sentido el robot jeje!

Esta es la forma que consegui en un foro de comparar la hora

string hora="10:05";
datetime horaconv=StrToTime(hora);
OnTick()
{
if (TimeHour(TimeLocal())==TimeHour(horaconv)&&TimeMinute(TimeLocal())==TimeMinute(horaconv))
(aqui va el envio de las ordenes)
}

No se si sera lo indicado


Con respecto a la hora gmt de los datoshistoricos tendré que instruirme un poco mas en eso pues no lo tengo claro! estoy trabajando con los datos que me paso un amigo!

cualquier consejo será bien recibido! gracias!
johnnycero
 
Mensajes: 3
Registrado: 15 Nov 2016, 19:43
Karma: 0

Re: Problema para enviar orden a una hora determinada en bac

Notapor losja » 12 Mar 2017, 14:11

Si utilizando el Probador de Estrategias en los datos históricos a esa precisa hora y minuto, tienes disponible algún tick, tus órdenes se ejecutarán. También, si la hora de apertura de alguna barra coincide. De lo contrario, tus órdenes no se ejecutarán.

En modo real se puede modificar el códico que indicas para poder ejecutar órdenes a horas precisas sin depender de la hora de un tick o una barra, pero en el Probador de Estrategias no hay nada que hacer.
losja
 
Mensajes: 5
Registrado: 07 Mar 2017, 19:17
Karma: 0


Volver a MetaTrader 4

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados