Hola,
Hay alguna forma de poder mover el stop loss de forma manual, (no se insertando alguna función o código) cuando programas el sistema de trading. Tengo un sistema programado en un grafico de 2 minutos del micro nasdaq y necesito mover el stop loss a breakeven cuando haya alcanzado el 75% del objetivo. He probado a utilizar
timeframe(1 second,updateonclose)
pero me dice que no vale porqué tiene que ser múltiplo de la temporalidad del grafico en el que utilizo el sistema. No se que mas probar. No me importaría si hubiera alguna forma de mover el stpo de forma manual. Ya que estoy atento a la pantalla cuando el sistema se ejecuta.
Muchas gracias!!
El plazo PRINCIPAL, aquel en el que funciona la estrategia, debe ser el MÁS PEQUEÑO (y es el plazo de DEFAULT).
Todos los demás plazos utilizados en la estrategia deben ser múltiplos de él.
Si utiliza, como en su ejemplo, 1 SEGUNDO, ese es el período de tiempo que debe estar en su gráfico cuando realiza una prueba backtest o autotrading.
Es perfectamente posible modificar un stop para situarlo en el breakeven, por ejemplo, cuando se ha obtenido un determinado beneficio.
Si nos das un código de ejemplo, podemos modificarlo para que enseñarte mejor la lógica.
En cuanto al uso del multitimeframe de 1 segundo, tu gráfico debe estar en una unidad de tiempo distinta de 1 segundo y que sea superior.
Hola,
Te paso un codigo de ejemplo. Me gustaría que cuando la vela ha llegado al 75% del objetivo se moviera el stop a breakeven.
Muchísimas gracias por tu ayuda.
// se para a las 17:30
DEFPARAM FlatAfter = 173000
// no se toma ninguna posicion desde las 17:24
LimitEntryTime = 172400
// Hora de comienzo
StartTime = 093000
// condicion del tiempo
condicionTiempo = 0
IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN
TradingDay = 0
ELSE
TradingDay = 1
ENDIF
IF Time >= StartTime AND Time <= LimitEntryTime THEN
condicionTiempo = 1
ENDIF
// variables
cuerpoVelaAnterior = Close[1] - Open[1]
cuerpoVelaNegativa = 0
cuerpoVela = Close - Open
mediaMovil = ExponentialAverage[20](close)
rangoVela = High - Low
indicadorRSI = RSI[14](close)
multiplicador = 2
contratos = 1
precioEntrada = High + 1 * TICKSIZE
precioVenta = 0
comprar = 0
condicion1 = cuerpoVelaAnterior < 0
IF condicion1 THEN
cuerpoVelaNegativa = Open[1] - Close[1]
ENDIF
condicion2 = cuerpoVela >= cuerpoVelaNegativa
condicion3 = indicadorRSI < 70 AND indicadorRSI > 30
condicion4 = cuerpoVelaNegativa < 15
// si es dia para hacer trading
IF TradingDay = 1 THEN
IF condicion1 AND condicion2 AND condicion3 THEN
comprar = 1
ENDIF
IF NOT LONGONMARKET AND TradingDay = 1 AND comprar = 1 THEN
BUY contratos CONTRACT AT precioEntrada STOP
SET TARGET PROFIT rangoVela
SET STOP PLOSS rangoVela
ENDIF
ENDIF
Ejecute este código en un gráfico de 1 segundo:
// se para a las 17:30
DEFPARAM FlatAfter = 173000
Timeframe(2mn,UpdateOnClose)
// no se toma ninguna posicion desde las 17:24
LimitEntryTime = 172400
// Hora de comienzo
StartTime = 093000
// condicion del tiempo
condicionTiempo = 0
NewTrade = (LongOnMarket AND ShortOnMarket[1]) OR (LongOnMarket[1] AND ShortOnMarket) OR (OnMarket AND Not OnMarket[1]) OR (OnMarket AND (StrategyProfit <> StrategyProfit[1]))
If NewTrade THEN
EntryPrice = TradePrice
BreakEvenTarget = EntryPrice + (TP * 0.75)
ENDIF
IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN
TradingDay = 0
ELSE
TradingDay = 1
ENDIF
IF Time >= StartTime AND Time <= LimitEntryTime THEN
condicionTiempo = 1
ENDIF
// variables
cuerpoVelaAnterior = Close[1] - Open[1]
cuerpoVelaNegativa = 0
cuerpoVela = Close - Open
mediaMovil = ExponentialAverage[20](close)
rangoVela = High - Low
indicadorRSI = RSI[14](close)
multiplicador = 2
contratos = 1
precioEntrada = High + 1 * TICKSIZE
precioVenta = 0
comprar = 0
condicion1 = cuerpoVelaAnterior < 0
IF condicion1 THEN
cuerpoVelaNegativa = Open[1] - Close[1]
ENDIF
condicion2 = cuerpoVela >= cuerpoVelaNegativa
condicion3 = indicadorRSI < 70 AND indicadorRSI > 30
condicion4 = cuerpoVelaNegativa < 15
// si es dia para hacer trading
IF TradingDay = 1 THEN
IF condicion1 AND condicion2 AND condicion3 THEN
comprar = 1
ENDIF
IF NOT LONGONMARKET AND TradingDay = 1 AND comprar = 1 THEN
IF close > precioEntrada THEN
BUY contratos CONTRACT AT precioEntrada LIMIT
ELSIF close < precioEntrada THEN
BUY contratos CONTRACT AT precioEntrada STOP
ENDIF
SET TARGET PROFIT rangoVela
SET STOP LOSS rangoVela
TP = rangoVela
ENDIF
ENDIF
//
Timeframe(default)
IF LongOnMarket AND close >= BreakEvenTarget THEN
SET STOP PRICE EntryPrice
ENDIF
//graphonprice BreakEvenTarget
Muchas gracias!! lo probare!!