Hola a todos.-
¿Cómo se puede recuperar una posición después de cerrar por un stop trading cuando se vuelve a recuperar la cotización anterior al la ejecución del stop?
Por ejemplo:
Abrimos compra del Ibex a 8400 con un stop trading 8200, el índice lega a cotizar a 8500 con lo que el stop trading se sitúa a 8300.
Posteriormente baja el índice hasta cerrar la posición en 8300 y para posteriormente recuperarse a 8350.
Pues bien, lo que necesitaría es saber ¿Cómo podría volver a abrir la posición en 8350 (por ejemplo)?
Gracias y feliz año
Puede utilizar el resultado de la operación para comprender que ha habido un stop loss, a fin de utilizar el valor de stop (el último TRADEPRICE devuelto) como base para volver a ingresar al mercado:
ONCE N = 50
IF StrategyProfit < StrategyProfit[1] THEN
EntryPrice = TRADEPRICE + (N * pipsize)
ENDIF
IF Not OnMarket AND close >= EntryPrice THEN
BUY 1 Contract at Market
SET TARGET pPROFIT 200
SET STOP pLOSS 100
ENDIF
N es el número de pips, más allá del Stop Loss anterior, donde desea ingresar.
Gracias por su respuesta rápida
Buenos días.-
Para invertir una cantidad determinada y establecer el stop en un porcentaje y la recuperación en otro podría quedar así:?
ONCE Inversion = 20000
ONCE Porcentaje_stop = 2
ONCE Porcentaje_recuperacion = 0.5
Contratos = Inversion / TRADEPRICE / pipsize
Primer_stop = TRADEPRICE * Porcentaje_stop / 100
N = TRADEPRICE * Porcentaje_recuperacion / 100
//BUY Contratos Contract at Market
//SET STOP pLOSS Primer_stop
IF StrategyProfit < StrategyProfit[1] THEN
EntryPrice = TRADEPRICE + (N * pipsize)
ENDIF
IF Not OnMarket AND close >= EntryPrice THEN
BUY Contratos Contract at Market
SET TARGET pPROFIT 200
SET STOP pLOSS N
ENDIF
¿Y si cotiza en otra moneda distinta al Euro?
Saludos
Siempre use el botón “Insert PRT Code” cuando incluya e inserte un código en sus mensajes para que sea más fácil de leer para otros.
Gracias 🙂
Cambié estas líneas:
- 3 – Reemplacé 0,5 con 0.5
- 4, 5 y 6 – eliminé ONCE porque ONCE solo los ejecuta solo la primera barra cuando está cargada
- 7 y 8 – Comenté esas líneas ya que no tienen mucho sentido, ¿qué querías hacer con ellas?
Debe estar expresado en la moneda utilizada por el instrumento que está operando, no hay conversión automática a euros.
¿Puede hacer algunos ejemplos más detallados con el Stop Loss que desea?
Buenos días.-
Entonces para recuperar una posición larga sería:
IF StrategyProfit < StrategyProfit[1] THEN
EntryPrice = TRADEPRICE
ENDIF
IF Not OnMarket AND close >= EntryPrice THEN
BUY 1 Contract at Market
SET STOP %LOSS 0.8
ENDIF
Y para una posición corta sería:
IF StrategyProfit < StrategyProfit[1] THEN
EntryPrice = TRADEPRICE
ENDIF
IF Not OnMarket AND close <= EntryPrice THEN
SELLSHORT 1 Contract at Market
SET STOP %LOSS 0.8
ENDIF
Gracias y saludos
Buenos días.-
Porque las recuperaciones de posiciones largas después de un Stop si funcionan y las cortas no según pantallazo adjunto.
Gracias y saludos
De la foto, creo que debería ser al revés, porque en la Larga usaste por error " StrategyProfit > StrategyProfit [ 1 ] ". Tienes que usar " < " en su lugar.
Buenos días.-
En la foto1 adjunta se puede ver la misma estrategia con resultados distintos.
En la Foto2 no puedo automatizar la estrategia con %trailing 1.15 y si la trailing tradeprice * 0.0115 pero como los resultados de la simulación son distintos, no me fío puesto que en la primera simulación obtengo un beneficio de 1372€ y el la segunda unas pérdidas 1711€.
¿Porqué ocurre esto?
Gracias y saludos
Como TRADEPRICE es 0 la primera vez, la aspiración es 0 y el trailing stop está desactivado. Si ves entre las órdenes, verás que hay una posición abierta que NUNCA está cerrada. Prueba esto:
x = 0.0115
IF Not OnMarket THEN
BUY 1 Contract at Market
SET STOP TRAILING close * x //use CLOSE as Tradeprice is not known, yet
ENDIF
IF OnMarket THEN
SET STOP TRAILING tradeprice * x //use TRADEPRICE once it's known
ENDIF
Entonces, como quiero que sólo se ejecute cuando “Not OnMarket” podría quedar:
x = 0.0115
IF Not OnMarket THEN
BUY 1 Contract at Market
IF tradeprice > 0 THEN
SET STOP TRAILING tradeprice * x
ELSE
SET STOP TRAILING close * x
ENDIF
ENDIF
Saludos
No exactamente, porque cuando no está en OnMarket, TRADEPRICE es el precio de cierre de la operación anterior. La nueva apertura solo la puedes conocer en la siguiente barra.