AYUDA PARA CORREGIR PROGRAMACIÓN

Responder
Corralitos
Mensajes: 1
Registrado: 22 Oct 2024 03:47

AYUDA PARA CORREGIR PROGRAMACIÓN

Mensaje por Corralitos »

Buenas noches,

he creado el siguiente código para prorealtime pero cuando lo introduzco me da error. ¿Alguien puede ayudarme?

Código:

// Configuración de las EMAs
emaShort = ExponentialAverage[12](close)
emaLong = ExponentialAverage[26](close)

// Configuración del RSI
rsi = RSI[14](close)

// Configuración del MACD
macdLine = MACDLine[12,26,9](close)
signalLine = SignalLine[12,26,9](close)

// Configuración de las Bandas de Bollinger
bollingerUpper = BollingerUpper[20,2](close)
bollingerLower = BollingerLower[20,2](close)

// Señales de compra y venta
buySignal = (emaShort > emaLong) AND (rsi < 30) AND (macdLine > signalLine) AND (close < bollingerLower)
sellSignal = (emaShort < emaLong) AND (rsi > 70) AND (macdLine < signalLine) AND (close > bollingerUpper)

// Indicador de compra y venta
indicator("Buy Signal", buySignal, color.green)
indicator("Sell Signal", sellSignal, color.red)
jaom
Mensajes: 17
Registrado: 09 Mar 2017 14:08

Re: AYUDA PARA CORREGIR PROGRAMACIÓN

Mensaje por jaom »

Código: Seleccionar todo

// Configuración de las EMAs
emaShort = ExponentialAverage[12](close)
emaLong = ExponentialAverage[26](close)

// Configuración del RSI
rsimio = RSI[14](close)

// Configuración del MACD
mimacdLine = MACDLine[12,26,9](close)
signalLine = MACDsignal[12,26,9](close)

// Configuración de las Bandas de Bollinger
bolingerUp = BollingerUp[20](close)
bolingerLow = Bollingerdown[20](close)

// Señales de compra y venta
buySignal = (emaShort > emaLong) AND (rsimio < 30) AND (mimacdLine > signalLine) AND (close < bolingerLow)
sellSignal = (emaShort < emaLong) AND (rsimio > 70) AND (mimacdLine < signalLine) AND (close > bolingerUp)

if buysignal then
verde=1
else
verde=0
endif
if sellsignal then
rojo=1
else
rojo=0
endif
return verde as "compra",rojo as "venta"
El código es demasiado restrictivo y no da ninguna señal. Se combina bollinger y rsi(q dan señales pronto) con emas y macd que dan señal más tarde,de tal manera que no hay intersección. Por ello hay que bajar los periodos de las emas(adelantar su cruce) y ser menos restrictivo con rsi(cruce en 50,atrasamos) o bollinger,atrasando la señal de estos dos últimos. Aún así no veo señales buenas,aparecen más señales pero algunas son falsas.Juega con esto a ver si sacas algo en claro,como ejemplo:

Código: Seleccionar todo

// Configuración de las EMAs
emaShort = ExponentialAverage[3](close)
emaLong = ExponentialAverage[8](close)

// Configuración del RSI
rsimio = RSI[14](close)

// Configuración del MACD
mimacdLine = MACDLine[5,10,9](close)
signalLine = MACDsignal[5,10,9](close)

// Configuración de las Bandas de Bollinger
bolingerUp = BollingerUp[20](close)
bolingerLow = Bollingerdown[20](close)
bolmedup=0.6*bolingerup+0.4*bolingerlow
bolmedlow=0.4*bolingerup+0.6*bolingerlow

// Señales de compra y venta
buySignal = (emaShort > emaLong) AND (rsimio < 50) AND (mimacdLine > signalLine) AND (close < bolmedlow)
sellSignal = (emaShort < emaLong) AND (rsimio > 50) AND (mimacdLine < signalLine) AND (close > bolmedup)

if buysignal then
verde=1
else
verde=0
endif
if sellsignal then
rojo=1
else
rojo=0
endif
return verde as "compra",rojo as "venta"
Avatar de Usuario
Gibranes
Mensajes: 275
Registrado: 22 Jun 2010 07:57

Re: AYUDA PARA CORREGIR PROGRAMACIÓN

Mensaje por Gibranes »

Entiendo que estás empezando y has  escogido los indicadores más comunes, todos al principio hemos pasado por eso.
Como dice un forero,  eso no funciona y te dará más señales falsas que verdaderas.

Duplicas las medias móviles: el MACD y la EMA son medias móviles.
Tanto el MACD como las medias móviles buscan inicio de tendencias.
Con una media móvil de 50, casi te quitas de encima de ambos indicadores.

El RSI hace lo que puede cuando puede en sobre compra en una fuerte tendencia; te  volverá loco entrando y saliendo del valor 70 y en bajista en sobreventa igual. Vigila la divergencia.

No sé qué timeframe usas ni qué instrumentos, pero dependiendo de eso debes ver dónde se posicionó el dinero antes y dónde se posiciona ahora, es decir, oferta y demanda. 
Resumiendo:
Conoce el activo:
1º Volatilidad
2º Demanda y oferta (dependiendo del timeframe e instrumento);
3º Tendencia.
4º Simplifica.
Líbrate de la serpiente en movimiento lateral.
Pocos parámetros.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Indicadores”