Hola,
Podríais ayudarme por favor con el código necesario para desarrollar este backtest. Llevo mucho tiempo intentándolo pero no logro generar un código que funcione:
- Entramos cuando la media móvil de 30 semanas está por encima de la media móvil de 50 semanas.
- Ubicamos el primer stoploss bajo la media móvil de 30 semanas de último mínimo anterior al momento de compra.
- Cuando el precio supera su último máximo, movemos el stoploss bajo la media móvil de 30 semanas del último mínimo.
- Salimos cuando el precio toca el stoploss.
Muchas gracias por vuestra ayuda.
“Ubicamos el primer stoploss bajo la media móvil de 30 semanas de último mínimo anterior al momento de compra“. El último mínimo del móvil es el mismo en el que haces la entrada, ¿es esto a qué te refieres?
Lo mismo ocurre con su oración “cuando el precio excede su último máximo“. ¿Te refieres al máximo en el momento de la entrada?
Hola,
Gracias por interesarte en mi pregunta, no puede contestarte antes.
Te adjunto un croquis que creo que explica mejor de una manera más visual lo que necesito. Espero que te sirva, sino coméntamelo y busco una mejor alternativa.
Muchas gracias de nuevo.
Aquí está el código:
Timeframe(Weekly,default)
Sma30w = average[30](close)
Sma50w = average[50](close)
//
Timeframe(default)
SL = lowest[5](Sma30w)
HH = high
c1 = Sma30w > Sma50w
IF Not OnMarket THEN
BUY 1 CONTRACT AT MARKET
mySL = SL
SET STOP PRICE mySL
MaxPrice = HH
ENDIF
IF OnMarket THEN
IF high > MaxPrice THEN
MaxPrice = high
mySL = max(mySL,Sma30w)
SET STOP PRICE mySL
ENDIF
ENDIF
GraphOnPrice mySL AS "Stop Loss" coloured("Red")
Muchas gracias.
Voy a echarle un ojo y te cuento.