Estoy intentando realizar un programa para trading automático que entre en el mercado solamente unas fechas determinadas, pero no consigo lograrlo.
El ejemplo que les adjunto es muy sencillo, quiere entrar en el mercado el dia 13/10/16 o el día 25/10/16, sin embargo solo entra el día 25/10/16. ¿alguien sabe porque puede estar pasando esto?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
hoy=date
IFhoy=20161013then
entrada=1
elsifhoy=20161025then
entrada=1
else
entrada=0
endif
// Condiciones para entrada de posiciones largas
IFNOTLongOnMarketANDentrada=1THEN
BUY1CONTRACTSATMARKET
ENDIF
// Condiciones de salida de posiciones largas
IfLongOnMarketANDpositionperf>0.3THEN
SELLATMARKET
ENDIF
// Stops y objetivos: introduzca aquí sus stops de protección y objetivos de beneficios
Extraño caso, sí, del que yo también querría conocer la razón. Quizá Nicolas, ahora al parecer ausente tenga la respuesta. Mientras tanto, veo que usando dos instancias de Date, hoy1 y hoy2, por ejemplo, en las comparaciones, esta circunstancia que señala no se da.
He probado con el codigo propuesto por Nikolas pero sigue sin funcionar, puesto que solo entra en la primera fecha del 13/10/2016.
Si cambio el orden de las fechas segun el codigo siguiente, solo entra en mercado el dia 25/10/16
1
2
3
4
5
IFhoy=20161025orhoy=20161013then
entrada=1
else
entrada=0
endif
De momento estoy utilizando la opcion propuesta por tikitaka y funciona, pero no entiendo porque no funciona con mi codigo inicial o el codigo propuesto por Nicolas.
Tal vez el problema es que su primer comercio lanzado en la primera fecha todavía está en el mercado y porque no permite el nuevo comercio hasta que no están en el mercado, el nuevo comercio no se producen.
Me hice una prueba, ver más abajo.
La variable “hoy” se almacena correctamente en comparación con la fecha real. Primero está todavía en el mercado en mi ejemplo, y ningún nuevo comercio puede ser al…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
hoy=date
IFhoy=20161013orhoy=20161025then
entrada=1
else
entrada=0
endif
// Condiciones para entrada de posiciones largas
IFNOTLongOnMarketANDentrada=1THEN
BUY1CONTRACTSATMARKET
ENDIF
// Condiciones de salida de posiciones largas
IfLongOnMarketANDpositionperf>0.3THEN
SELLATMARKET
ENDIF
// Stops y objetivos: introduzca aquí sus stops de protección y objetivos de beneficios
To help us continually offer you the best experience on ProRealCode, we use cookies. By clicking on "Continue" you are agreeing to our use of them. You can also check our "privacy policy" page for more information.Continue