Hola a todos,
Os cuento que estoy programando un sistema en VC con la plataforma que tiene, por fin empiezo a entenderla, pero tengo un problema a la hora de abrir posicion. El tema es que quiero que abra posicion cuando el precio toca la media simple de las bollinguer bands, pero me abre el contrato en la siguiente vela a precio de apertura, por lo que los resultados no me sirven, os pego el codigo:
.Buy AtMarket, 1, .GetIndicatorValue(BollingerBandsData)
he probado tmabien poniendo la orden limitada al precio que marque la media de las bollinguer y tampoco sirve, siempre abre la posi en la apertura de la siguiente vela.
Alguien me podria ayudar???? Gracias de antemano.
Sistema en VC
Sistema en VC
"Cada mañana hay que levantarse y algo hay que hacer con la vida., asi que no te rindas." F. Pirrico
No lo uso pero creo que el visualchart funciona así, operando en la apertura de la barra.
Supongo que una solucion sería que utilizaras barras de poco tiempo, adaptando el periodo de la bollinger. Por ejemplo una bollinger periodo 20 en barras de 5 minutos equivale a una de periodo 20x60 = 1200 en barras 5 segundos. Otra cosa es que con esos numeros se aturulle el visualchart.
Supongo que una solucion sería que utilizaras barras de poco tiempo, adaptando el periodo de la bollinger. Por ejemplo una bollinger periodo 20 en barras de 5 minutos equivale a una de periodo 20x60 = 1200 en barras 5 segundos. Otra cosa es que con esos numeros se aturulle el visualchart.
Hola pirrico, no estará el fallo en como entiendes lo de tocar el precio la media y no en la orden.
No es lo mismo que la toque o que la cruce, lo que hay que mirar es cuando da por hecho el cruce
prueba con mayor o igual o como te dice fer137 baja una escala temporal.
Si pones compra al cierre te compra al cierre de la barra donde se produce el corte.
si pones a mercado lo hace en la apertura de la siguiente.
No es lo mismo que la toque o que la cruce, lo que hay que mirar es cuando da por hecho el cruce
prueba con mayor o igual o como te dice fer137 baja una escala temporal.
Si pones compra al cierre te compra al cierre de la barra donde se produce el corte.
si pones a mercado lo hace en la apertura de la siguiente.
Nunca te acostarás sin aprender una cosa más.
Gracias a ambos por las respuestas, pero creo que el problema esta en el VC, porque lo que necesito es que introduzca una orden en mitad de una vela y no cuando la vela este terminada, asi que creo que la solucion sera poner una orden limitada en la vela anterior, el problema es que despues de cada vela hay que modificar la orden y eso no se si es posible con el VC. De todas formas, pego aqui la condicion para introducir la orden por si teneis otra idea mejor o si sabeis como modificar una orden puesta, gracias.
.Low <= .GetIndicatorValue(BollingerBandsData)
.Low <= .GetIndicatorValue(BollingerBandsData)
"Cada mañana hay que levantarse y algo hay que hacer con la vida., asi que no te rindas." F. Pirrico
No me parece muy difícil hacer lo que planteas, tendrás que crear una variable que será el precio límite al que pones la orden.
Y poner una sentencia que recalcularía al final de cada barra el nuevo precio límite para que se ejecutase en la siguiente esa sentencia es la que te modifica la orden en cada barra al estar la orden puesta al precio límite X por llamarla de algún modo a la variable.
Y poner una sentencia que recalcularía al final de cada barra el nuevo precio límite para que se ejecutase en la siguiente esa sentencia es la que te modifica la orden en cada barra al estar la orden puesta al precio límite X por llamarla de algún modo a la variable.
Nunca te acostarás sin aprender una cosa más.
Como dice Fer , V. Chart funciona asi. La unica orden que se ejecuta en la misma barra en que estas es: Compra al cierre.
El propio manual de V.Chart advierte que entender como funciona esto es imprescindible , con lo cual se lavan las manos.
Te recomiendo que releas el catalogo de funciones. Comprar y cerrar cortos funcionan igual.
en resumen compra o venta :
al cierre . Cierre de la barra actual
a mercado. Apertura de la siguiente
Limitada . Siguiente barra si toca el precio
Stop ; siguiente barra si toca el precio
Mi recomendación puesto que es lo que yo hago.
Manten una compra limitada durante varias barras con un margen sobre el precio previsto de n pipos, de este modo si el precio se ha largado mucho,a lo mejor no te interesa comprar , pero si hay un recorte estarias dentro a un precio controlado.
El propio manual de V.Chart advierte que entender como funciona esto es imprescindible , con lo cual se lavan las manos.
Te recomiendo que releas el catalogo de funciones. Comprar y cerrar cortos funcionan igual.
en resumen compra o venta :
al cierre . Cierre de la barra actual
a mercado. Apertura de la siguiente
Limitada . Siguiente barra si toca el precio
Stop ; siguiente barra si toca el precio
Mi recomendación puesto que es lo que yo hago.
Manten una compra limitada durante varias barras con un margen sobre el precio previsto de n pipos, de este modo si el precio se ha largado mucho,a lo mejor no te interesa comprar , pero si hay un recorte estarias dentro a un precio controlado.
Do not believe the naysayers who say it cannot be done
It can be done !
It can be done !
Si te ha gustado este hilo del Foro, ¡compártelo en redes!