Hola a todos,
Tengo una duda… Para mi estrategia a veces me gustaría poder añadir contratos manualmente a un sistema de trading automatizado. Veo que con proorder eso no se puede hacer, pero supongo que si que se puede añadir otra vez el mismo sistema al mismo subyacente (o aunque tenga que cambiarle el nombre) con tal de conseguir el mismo efecto.
El problema que encuentro es que a veces mes gustaría incrementar una posición sin que se dé ninguna condición de compra del sistema, para luego seguir ejecutando el sistema de forma normal pero ya dentro de mercado…; ya se que suena raro, pero es que el sistema automatizado solo es la parte de la cobertura de una estrategia con más productos.
Lo que yo quiero saber es si se puede programar una condición que haga lo siguiente:
- empieza el sistema
- si no estoy dentro de mercado compra 1 contrato a mercado. (solo quiero ejecutar esa linea de programación una sola vez, al empezar el sistema, luego aplicar el sistema de forma normal)
- luego, aplicar el sistema con sus condiciones de cierre y apertura normales
¿alguien sabría como hacer eso??
muchísimas gracias a todos!! un saludo!!
No lo he probado pero si te he entendido bien creo que esto podría valer:
ONCE PRIMERAENTRADA=1
IF NOT ONMARKET AND PRIMERAENTRADA=1 THEN
BUY 1 CONTRACTS AT MARKET
PRIMERAENTRADA=0
ENDIF
gracias de nuevo TempusFugit. Lo probaré durante la semana porque con el backtesting no lo veo claro. Tiene muy buena pinta, gracias!!!! un saludo!!!
Vaya, pues no entiendo porque pero no funciona..
¿entiendo que debería abrir posición al finalizar al primera vela después de iniciar el sistema, no??
defparam cumulateorders=false
defparam preloadbars = 10000
once primeraentrada=1
if not onmarket and primeraentrada=1 then
buy at market
primeraentrada=0
endif
indicator1 = exponentialaverage[4]
indicator2 = average[20]
indicator3 = exponentialaverage[8000]
c1= indicator1 CROSSES OVER indicator2
c2= indicator2 > indicator3
c3= indicator2 CROSSES UNDER indicator3
if not onmarket and c1 and c2 then
buy at market
ll= lowest[6](low)
stoploss = close - ll
set stop loss stoploss
endif
if longonmarket and c3 then
sell at market
endif
gracias!!!
Hola pepbo,
El problema es que si marcas la opción de “Probacktest en modo tick by tick” las operaciones pueden empezar después del inicio de las velas en el gráfico, es decir que por ejemplo el gráfico es desde el 2000 pero las operaciones empiezan el 2010. Entonces esa primera operación no se ejecuta porque debería haber sido al principio de todo del gráfico. O pasará igual si pones una fecha de inicio posterior al comienzo del gráfico.
Supongo que habrá alguna forma de evitar esto pero la verdad es que no veo ningún sentido en buscarla porque es fácilmente evitable en backtest con un gráfico más reducido y sobre todo porque si operas el sistema en automático eso no debería ser ningún problema.
Es interesarante la idea, como te planteas operarlo? Lo pregunto porque si es con CFDs en automático lo que yo he visto es que tiene un Tiempo en Mercado muy alto y así se va bastante dinero en intereses
Bueno, aún no lo sé porque del modo que quería operarlo no puedo hacerlo. Yo lo quería utilizar de cobertura, en lugar de entrar largo en la condición de compra, establecer el stop en el mínimo para empezar a cubrir, e ir comprando poco a poco el etf al contado. Lo quería hacer así porque siempre me ha parecido que las medias móviles funcionan mejor a largo que a corto (aunque puede que este equivocado y eso solo sea por el mero hecho de que el mercado a largo plazo es alcista). De este modo no lo puedo hacer, porque no le puedo decir al sistema lo que le diría con el cumulateorders = false si entrara en largo, porque en realidad para el sistema si ha cerrado el corto yo ya no estoy a mercado, así que me vuelve a abrir cortos cada vez que se cruzan a la baja las medias cortas, y eso no lo quiero porque quiero dejar correr con el etf al contado.
La media de 8000 me la he inventado para no tener que poner otro timeframe, nada más. La idea es llevar al extremo lo de cortar pérdidas rapidamente y dejar correr. Si lo pudiera hacer en segundos lo haría, pero ya luego la media de 8000 se queda corta y tendría que utilizar otro timeframe, pero prorealtime no me deja mezclar minutos y segundos…
al final, supongo que acabaré girando el sistema y entrando solo a cortos, y problema de intereses resuelto..
No sé si te entiendo bien pero los cortos de CFDs en indices también cobran intereses, aunque con este sistema sí que estarías en mercado mucho menos y por tanto pagarías menos.
No soy un experto en el tema pero yo diría que los CFDs no son el mejor producto para coberturas. Para mi son interesantes para operaciones de corto plazo, idealmente intradía. Por lo que he oído el mejor producto para coberturas son las opciones y quizás los futuros.
si que cobran en cortos también, aunque menos y el mercado esta menos tiempo. Pero para empezar con poco dinero e ir aumentando poco a poco y ver como se comporta la cobertura sin tener que estar encima del mercado ya me vale…
yo tampoco soy un experto… veremos…
graciasss!!!!