Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin___________________________________________________________
Acceder a la programacin de sistemas de trading..............................................................................2
La ventana de creacin de sistemas de trading...................................................................................3
Atajos de teclado............................................................................................................................ 5
Glosario______________________________________________________________
1 / 73
Introduccin
Introduccin
Acceder a la programacin de sistemas de trading
La ventana de creacin de sistemas de trading es accesible a partir del botn 'Indicador/Sistemas de
trading' que se encuentra en la parte superior derecha de cada grfico de su plataforma ProRealTime.
Tras pulsar ese botn, se abrir por defecto la ventana de gestin en la pestaa 'Indicadores'. Active la
pestaa 'Sistemas de Trading' pulsando sobre la misma con el ratn. Con ello, podr:
Acceder a la lista de sistemas de trading existentes (predefinidos o personalizados)
Crear un nuevo sistema de trading y ejecutarlo en cualquier valor
Modificar, suprimir o duplicar un sistema de trading existente
Importar o exportar sistemas de trading
2 / 73
Introduccin
3 / 73
Introduccin
Ejemplo:
En nuestro caso utilizaremos la biblioteca pulsando 'Insertar funcin'.
Dirjase a la categora 'Comandos ProBacktest' y seleccione 'BUY'. A continuacin, pulse el botn
'Aadir': el comando se aadir en la zona de programacin.
Intentemos crear un ProBacktest. Supongamos, por ejemplo, que deseamos comprar 10 valores a
precio de mercado.
Para ello, realizaremos la operacin descrita anteriormente, con el objetivo de recuperar las
instrucciones 'SHARES', 'AT' y 'MARKET' (recuerde separar cada palabra por un espacio).
Se obtiene entonces la instruccin 'BUY 10 SHARES AT MARKET' que ordena la compra de 10
ttulos a precio de mercado. La seccin siguiente presenta todas las instrucciones disponibles para la
programacin de sistemas de trading.
Para ver ms ejemplos, consulte el Anexo B del presente manual.
4 / 73
Introduccin
Atajos de teclado
La ventana de creacin de sistemas de trading tiene varias funciones a las que se puede acceder
mediante atajos de teclado en la versin 10 de ProRealTime:
Seleccionarlo todo (Ctrl + A): Selecciona la integralidad del texto en la ventana de
programacin
Copiar (Ctrl + C): Copia el texto seleccionado
Pegar (Ctrl +X): Pega el texto copiado
Deshacer (Ctrl + Z): Deshace la ltima accin realizada en la ventana de programacin
Rehacer (Ctrl + Y): Rehace la ltima accin realizada en la ventana de programacin
Buscar / Remplazar (Ctrl + F): Busca un texto preciso en la ventana de programacin /
remplaza un texto contenido en la ventana de programacin (esta funcin es sensible a la
diferencia entre minsculas y maysculas)
Comentar / Descomentar (Ctrl + R): Comenta el cdigo seleccionado / Descomenta el cdigo
seleccionado (el cdigo comentado ser introducido por '//' o 'REM' y se colorear en gris. Esto
comentario no ser tomado en cuenta en la ejecucin del cdigo).
En Mac es posible utilizar estos mismos atajos de teclado utilizando la tecla 'Manzana' en lugar de
'Ctrl'. Casi todas estas funciones son accesibles pulsando en el botn derecho de su ratn en la
zona de programacin de la ventana de creacin del sistema de trading.
5 / 73
Actualmente no existe la posibilidad de abrir una posicin de compra y otra de venta simultneamente
en un mismo valor. En la prctica, resulta posible cerrar una posicin larga con una instruccin
SELLSHORT o, recprocamente, cerrar una posicin corta con un comando BUY.
Consejo: compruebe la cantidad mxima de la posicin definida en su gestin de riesgos, ya que la
orden de inversin ser rechazada si la cantidad final de la posicin supera este valor, mantenindose
la posicin original.
Todos estos comandos pueden acompaarse de los elementos que describimos a continuacin:
6 / 73
Cantidad
Existen dos maneras de definir la cantidad que deseemos invertir:
SHARES, que representa una unidad del instrumento: '1 share' representa 1 accin, 1 warrant, 1
contrato para futuros o 1 lote en Forex. Observe que 'SHARES' puede utilizarse indistintamente
para referirse a acciones, contrato, contratos, lote o lotes. En el caso del Forex, la cantidad
adquirida se multiplicar por el tamao de un lote. Si la cantidad no est indicada, los valores que
se toman por defecto son:
1 unidad por una entrada en posicin (Ej: BUY AT MARKET, lanza una orden de '1' a
precio de mercado)
La cantidad total de la posicin para una salida (Ej: SELL AT MARKET venta completa de
la posicin)
CASH, transaccin en unidades monetarias (como o $), nicamente para acciones. La cantidad
de la orden se calcular al cierre de la vela y se redondear por defecto a la unidad inferior. Las
comisiones de operativa no se toman en cuenta en el clculo de la cantidad establecida para
comprar o vender en efectivo.
Ejemplo: BUY 1000 CASH AT MARKET
Es posible utilizar la instruccin ROUNDEDUP para redondear la cantidad a la unidad superior.
Ejemplo: BUY 1000 CASH ROUNDEDUP AT MARKET
Modo
Dispone de tres tipos de ejecucin de rdenes:
AT MARKET: la orden se enviar a precio de mercado a la apertura de la vela siguiente
Ejemplo: BUY 1 SHARE AT MARKET
AT <precio> LIMIT: se enviar una orden lmite al precio indicado
AT <precio> STOP: se enviar una orden stop al precio indicado
Ejemplo: BUY 1 SHARE AT 10.5 LIMIT
Las rdenes lmites y stops son vlidas durante una nica vela, a partir de la apertura de la vela
siguiente. Quedan anuladas si no se ejecutan.
Son rdenes con umbral de ejecucin. Se oponen a los stops de proteccin y lmites de beneficios
('SET STOP', 'SET TARGET': ver seccin siguiente) asociados a una posicin abierta y vlidos hasta
el cierre de dicha posicin.
Algunas rdenes se comportarn como rdenes a mercado, en funcin de las siguientes
condiciones:
Una orden LMITE de compra BUY fijada por encima del precio del mercado se gestionar como
una orden a precio de mercado.
Una orden STOP de compra BUY fijada por debajo del precio del mercado se gestionar como
una orden a precio de mercado.
Una orden LMITE de venta a descubierto SELLSHORT fijada por debajo del precio del mercado
se gestionar como una orden a precio de mercado.
Una orden STOP de venta a descubierto SELLSHORT fijada por encima del precio del mercado,
se gestionar como una orden a precio de mercado.
7 / 73
Ejemplo:
Cuando el RSI se halle en zona de sobreventa (RSI < 30) y el precio est por debajo de la banda de
Bollinger inferior, se generar una orden de compra a precio de mercado.
Cuando el RSI se halle en zona de sobrecompra (RSI > 70) y el precio est por debajo de la banda de
Bollinger inferior, se generar una orden de venta.
MyRSI = RSI[14](Close)
MyBollingerDown = BollingerDown[25](Close)
MyBollingerUp = BollingerUp[25](Close)
IF MyRSI < 30 AND Close < MyBollingerDown THEN
BUY 1 SHARE AT MARKET
ENDIF
IF MyRSI > 70 AND Close > MyBollingerUp THEN
SELL AT MARKET
ENDIF
El siguiente ejemplo le muestra cmo crear una orden lmite con un nmero especfico de velas de
validez mediante el uso de variables. El cdigo sita una orden lmite de compra al precio de cierre de
la vela en la que ha concurrido el cruce de medias mviles. Este lmite es vlido durante 10 velas, tras
la vela en la que se produjo el cruce. Si no es ejecutado en algn momento durante la formacin de
esas 10 velas, se anula.
Ejemplo:
// Definicin de la duracin de validez de la orden
ONCE NbBarLimit=10
MM20=Average[20](close)
MM50=Average[50](close)
// Si la MM20 cruza al alza la MM50, establecemos 2 variables, "MyLimitBuy" y "MyIndex", que contienen el precio
de cierre en ese momento y el ndice de la vela en la que se produce el cruce.
IF MM20 CROSSES OVER MM50 THEN
MyLimitBuy = close
MyIndex = Barindex
ENDIF
IF BarIndex >= MyIndex + NbBarLimit THEN
MyLimitBuy = 0
ENDIF
8 / 73
// Lanzar una orden al precio de MyLimitBuy vlido mientras la variable sea superior a 0 y la posicin no sea
compradora.
// Recordar: MyLimitBuy ser superior a 0 durante el transcurso de las 10 velas tras la vela en la que se produjo el
cruce.
IF MyLimitBuy > 0 AND NOT LongOnMarket THEN
BUY 1 SHARES AT MyLimitBuy LIMIT
ENDIF
En el caso de que la orden no fuera ejecutada, ser posible remplazar la orden lmite de compra
expirada por una orden de compra a precio de mercado. Esto podra llevarse a cabo aadiendo el
siguiente cdigo al cdigo anterior:
IF MyIndex + NbBarLimit AND MyLimitBuy > 0 AND NOT LongOnMarket THEN
BUY 1 SHARES AT MARKET
ENDIF
Stops de proteccin
Los stops de proteccin (stops loss) permiten limitar las prdidas de una posicin. Pueden
definirse de forma relativa o absoluta:
SET STOP LOSS x: establece un stop loss para cerrar la posicin a x unidades del precio de
entrada.
SET STOP pLOSS x : establece un stop loss para cerrar la posicin a x puntos del precio de
entrada.
SET STOP %LOSS x: establece un stop loss para cerrar la posicin si la prdida alcanza x%.
SET STOP $LOSS x: establece un stop loss para cerrar la posicin si la prdida alcanza x, $ (en
la divisa del instrumento), sin incluir las comisiones de operativa.
9 / 73
10 / 73
Ejemplo:
Abrimos una posicin en el DAX a 6000 puntos y establecemos un stop dinmico a 50 puntos:
SET STOP pTRAILING 50
El stop se sita inicialmente en 5950 puntos. Si el precio sube hasta 6010 y a continuacin baja
hasta 5980, el stop subir 10 puntos, hasta 5960 y se mantendr estable hasta que el nivel de
precio sobrepase los 6010 puntos. Finalmente, se ejecutar si la cotizacin alcanza los 5960
puntos.
Uso de los comandos 'Set Target' y 'Set Stop' con bucles condicionales IF
Es posible modificar el tipo de objetivo o de stop de su cdigo mediante bucles condicionales.
Ejemplo:
REM Establecer un stop loss a 10% si las ganancias de la transaccin anterior alcanzan al menos el 10%. En
caso contrario, establecer un stop loss a 5%
IF PositionPerf(1) > 0.1 THEN
SET STOP %LOSS 10
Else
SET STOP %LOSS 5
ENDIF
Es posible combinar stops fijos, dinmicos o stops loss y dinmicos en una misma instruccin, tal y
como describimos a continuacin:
SET STOP
<Modo> <valor>
<TrailingType> <valor>
fijo
dinmico
<valor>
[TRAILING/pTRAILING/$TRAILING/
11 / 73
Ejemplos de uso:
SET STOP LOSS x TRAILING y: establece un stop loss a x unidades del precio de entrada de la
posicin, que se convierte en un stop dinmico a y unidades si el nivel del stop dinmico se
acerca ms al precio actual que al nivel del stop loss (esto ocurre cuando el precio actual alcanza
el precio de entrada de la posicin + y x).
SET STOP LOSS x pTRAILING y : establece un stop loss a x unidades del precio de entrada de
la posicin, que se convierte en un stop dinmico a y puntos si el nivel del stop dinmico se
acerca ms al precio actual que al nivel del stop loss (esto ocurre cuando el precio actual alcanza
el precio de entrada de la posicin + y puntos x unidades).
SET STOP LOSS x $TRAILING y: establece un stop loss a x unidades del precio de entrada de la
posicin, que se convierte en un stop dinmico a y $ o (divisa del instrumento) si el nivel del stop
dinmico se acerca ms al precio actual que al nivel del stop loss.
SET STOP LOSS x %TRAILING y: establece un stop loss a x unidades del precio de entrada de
la posicin, que se convierte en un stop dinmico a y% si el nivel del stop dinmico se acerca ms
al precio actual que al nivel del stop loss.
SET STOP pLOSS x TRAILING y: establece un stop loss a x puntos del precio de entrada de la
posicin, que se convierte en un stop dinmico a y unidades si el nivel del stop dinmico se
acerca ms al precio actual que al nivel del stop loss (esto ocurre cuando el precio actual alcanza
el precio de entrada de la posicin + y unidades x puntos).
SET STOP pLOSS x pTRAILING y: establece un stop loss a x puntos del precio de entrada de la
posicin, que se convierte en un stop dinmico a y puntos si el nivel del stop dinmico se acerca
ms al precio actual que al nivel del stop loss (esto ocurre cuando el precio actual alcanza el
precio de entrada de la posicin + y puntos x puntos).
SET STOP pLOSS x $TRAILING y: establece un stop loss a x puntos del precio de entrada de la
posicin, que se convierte en un stop dinmico a y $ o (divisa del instrumento) si el nivel del stop
dinmico se acerca ms al precio actual que al nivel del stop loss.
SET STOP pLOSS x %TRAILING y: establece un stop loss a x puntos del precio de entrada de la
posicin, que se convierte en un stop dinmico a y% si el nivel del stop dinmico se acerca ms al
precio actual que al nivel del stop loss.
SET STOP $LOSS x TRAILING y: establece un stop loss a x $ o (divisa del instrumento), que se
convierte en un stop dinmico a y unidades si el nivel del stop dinmico se acerca ms al precio
actual que al nivel del stop loss.
SET STOP $LOSS x pTRAILING y: establece un stop loss a x $ o (divisa del instrumento), que
se convierte en un stop dinmico a y puntos si el nivel del stop dinmico se acerca ms al precio
actual que al nivel del stop loss.
SET STOP $LOSS x $TRAILING y: establece un stop loss a x $ o (divisa del instrumento), que
se convierte en un stop dinmico a y $ o (divisa del instrumento) si el nivel del stop dinmico se
acerca ms al precio actual que al nivel del stop loss.
SET STOP $LOSS x %TRAILING y: establece un stop loss a x $ o (divisa del instrumento), que
se convierte en un stop dinmico a y% si el nivel del stop dinmico se acerca ms al precio actual
que al nivel del stop loss.
12 / 73
SET STOP %LOSS x TRAILING y: establece un stop loss a x%, que se convierte en un stop
dinmico a y unidades si el nivel del stop dinmico se acerca ms al precio actual que al nivel del
stop loss.
SET STOP %LOSS x pTRAILING y : establece un stop loss a x%, que se convierte en un stop
dinmico a y puntos si el nivel del stop dinmico se acerca ms al precio actual que al nivel del
stop loss.
SET STOP %LOSS x $TRAILING y: establece un stop loss a x%, que se convierte en un stop
dinmico a y $ o (divisa del instrumento) si el nivel del stop dinmico se acerca ms al precio
actual que al nivel del stop loss.
SET STOP %LOSS x %TRAILING y: establece un stop loss a x%, que se convierte en un stop
dinmico a x% si el nivel del stop dinmico se acerca ms al precio actual que al nivel del stop
loss.
13 / 73
Ejemplo:
SET STOP LOSS x TRAILING y:
Se establece un stop a x unidades con respecto al nivel de entrada de la posicin, que se
convierte en un stop dinmico de y unidades si el nivel del stop dinmico se acerca ms al precio
actual que al nivel del stop loss.
Por ejemplo, si abrimos una posicin en el futuro del DAX a 6500 puntos, el siguiente cdigo
establecer un stop dinmico a 20 puntos del nivel de entrada de la posicin, que se convertir en
un stop dinmico de 50 puntos de diferencia si el precio supera los 6530 puntos.
SET STOP LOSS 20 TRAILING 50
Las siguientes figuras ilustran el ejemplo 2. El stop inicial se sita a 20 unidades por debajo del
precio de entrada de la posicin (6480).
Slo si el nivel del precio alcanzara 6530 (= 6500 + (50-20) ), el stop se convertir en un stop
dinmico a 50 puntos de diferencia.
Si el nivel de precio aumenta (aqu hasta 6535), el stop dinmico aumenta igualmente (en este
caso alcanza los 6485 puntos).
14 / 73
Ejemplo:
If date > 20130101 THEN // Detener la estrategia despus del 1 de Enero de 2013
QUIT
ENDIF
Seguimiento de posiciones
Variables de verificacin del estado de las posiciones
Puede utilizar 3 variables para comprobar el estado de las posiciones de sus sistemas de trading:
ONMARKET, que es igual a 1 si hay posiciones abiertas, 0 en el caso contrario.
LONGONMARKET, que es igual a 1 si hay posiciones largas abiertas, 0 en el caso contrario.
SHORTONMARKET, que es igual a 1 si hay posiciones cortas abiertas, 0 en el caso contrario.
Estas variables pueden utilizarse con corchetes. Por ejemplo, ONMARKET[1] tendra un valor de 1
si hubiera posiciones abiertas al cierre de la vela anterior, 0 en el caso contrario.
Estas variables suelen incluirse en las secuencias condicionales IF previas a la apertura de una
posicin:
Ejemplo:
REM Definimos el MACD
Indicator1 = MACD[12,26,9](Close)
REM Observamos los cambios de signo del Histograma del MACD
c1 = (Indicator1 Crosses Over 0)
REM Comprar: si no tenemos posiciones de compra abiertas y si MACD >0, compramos 3 lotes
IF NOT LONGONMARKET AND c1 THEN
BUY 1 SHARE AT MARKET
ENDIF
15 / 73
TradeIndex
El comando TRADEINDEX(n) permite acceder a la vela de la ensima transaccin anterior:
TradePrice
El comando TRADEPRICE(n) permite encontrar el precio de ejecucin de la transaccin anterior.
Su sntesis es la siguiente:
16 / 73
PositionPerf
Este comando nos facilita:
El rendimiento en % de la ensima ltima posicin cerrada, si n > 0 (comisiones de operativa
no incluidas)
El rendimiento en % de la posicin en curso si n=0 (comisiones de operativa no incluidas)
Su sntesis es la siguiente :
PositionPrice
El comando PositionPrice permite conocer el precio medio de compra de la posicin actual.
POSITIONPRICE
El precio medio (o precio de coste) de una posicin se define como la suma de los precios de
entrada ponderados por la cantidad de cada orden. nicamente los refuerzos influyen en el precio
de coste de la posicin.
Esta instruccin puede utilizarse con corchetes: POSITIONPRICE[1] devuelve el valor de
PositionPrice al cierre de la vela precedente.
Ejemplo:
Compramos una accin a 5, y a continuacin reforzamos la posicin comprando una accin a
10, y despus otra a 15.
El precio de coste de la posicin es de (5+10+15) / 3 = 10
Si decidimos entonces reducir nuestra posicin vendiendo una accin a 20, el precio de coste de
la posicin se mantendr sin cambios.
StrategyProfit
Esta instruccin devuelve las ganancias o prdidas (absolutas, en la divisa del instrumento y sin
incluir las comisiones de operativa) realizadas desde el inicio del sistema. Puede asociarse a la
instruccin QUIT para limitar las prdidas de un sistema de trading.
STRATEGYPROFIT
Esta instruccin puede utilizarse con corchetes: StrategyProfit[1] proporciona el beneficio al cierre
de la vela anterior.
Ejemplo:
IF STRATEGYPROFIT < -500 THEN
QUIT
ENDIF
Nota: recuerde que los sistemas de trading funcionan al cierre de las velas, es decir, son
evaluados al cierre de cada una. En este ejemplo las prdidas pueden ser superiores a 500 si se
produjera un gap en el transcurso de una vela. Le recomendamos utilizar un STOP LOSS para
protegerse de las prdidas de la posicin y este bloque de cdigo para detener el sistema de
trading.
17 / 73
Nota sobre los niveles de stop o de objetivos mientras CumulateOrders est activo: si utiliza
las instrucciones para establecer un stop loss, un stop dinmico o una orden de objetivos con la
acumulacin de rdenes activada, el nivel se calcula en base al precio medio de entrada de sus
posiciones y se vuelve a calcular cada vez que se modifique la cantidad de la posicin.
18 / 73
Ejemplo:
Si compra 1 accin a 10$ y establece un stop loss a 10% y un objetivo a 150%, los niveles iniciales
seran: stop a 9$ y objetivo a 25$. Si compra una segunda accin a 20$, el precio medio de
entrada sera de 15$ y como resultado los nuevos niveles seran: stop a 13.50$ y objetivo a 37.50$
(para la posicin entera).
Nota sobre los cdigos creados mediante el asistente de programacin: CumulateOrders
est configurado como falso (false) por defecto en los sistemas de trading creados mediante el
asistente de programacin (la instruccin 'DefParam CumulateOrders = False' estar presente al
principio de estos cdigos).
PreLoadBars
La instruccin 'DefParam Preloadbars' le permite configurar la mxima cantidad de velas que
puedan cargarse con antelacin al inicio del sistema de trading, para el clculo de los indicadores
utilizados en dicho sistema antes de que comience a ejecutarse (indicadores personales o
predefinidos). Este parmetro es igual a 200 por defecto. No puede ser inferior a 0 o superior a
5000. Si quiere desactivar esta descarga de datos, introduzca PreLoadBars = 0.
Seleccionamos el mximo valor porque la cantidad de velas que pueden cargarse con antelacin
depende de la cantidad de datos disponibles para un instrumento o vista temporal determinados.
Ejemplo:
DEFPARAM PreLoadBars = 300
a = (close + open) / 2
If price CROSSES OVER Average[250](a) THEN
BUY 1 SHARE AT MARKET
Si parametramos PreLoadBars en 300, significar que una media mvil de 250 periodos empezar
a dibujarse desde la barra siguiente al inicio del sistema de trading. No sera el caso si slo se
hubieran cargado de antemano 200 velas.
Tenga en cuenta que 300 ser el valor mximo: si existen menos de 300 disponibles con
antelacin al inicio del sistema, slo se cargarn las velas disponibles.
En el caso de el que se cargaran 300 velas, el BarIndex de la primera vela tras el comienzo del
sistema de trading ser igual a 300. Por otro lado, si se cargaran 0 velas, el BarIndex de la primera
vela tras el inicio del sistema ser 0.
FlatBefore and FlatAfter
DEFPARAM FlatBefore = HHMMSS
DEFPARAM FlatAfter = HHMMSS
HHMMSS es una frmula en la que HH indica la hora, MM indica los minutos y SS indica los
segundos.
Estas instrucciones le permiten anular las rdenes pendientes, cerrar todas las posiciones y evitar
el lanzamiento de nuevas rdenes con anterioridad a un momento preciso del da en el caso de
FlatBefore o despus de un momento preciso del da en el caso de FlatAfter.
El parmetro FlatBefore debe expresar siempre un momento posterior a la apertura del mercado
(personalizada o no) y FlatAfter debe indicar siempre un momento anterior al cierre del mercado
(peronalizado o no); de otro modo estas instrucciones no tendrn ningn efecto. Si el momento
parametrado no es un mltiplo de de la vista temporal en la que se ejecuta el sistema, (esto ocurre
en la mitad de una vela) la instruccin DEFPARAM FlatAfter surtir efecto al final de dicha vela y la
instruccin DEFPARAM FlatBefore ser vlida hasta el cierre de la vela anterior.
19 / 73
La rdenes se restringirn durante este periodo, lo que significa que no se lanzar ninguna orden y
que tales rdenes tampoco sern lanzadas en la apertura del periodo siguiente, cuando el sistema
de trading est autorizado a lanzarla. Esto implica que las variables de tipo "OnMarket" se
mantendrn siempre inactivas ('false') durante esos momentos.
Example :
DEFPARAM FlatBefore = 093000 // Anular cualquier orden pendiente, cerrar todas las posiciones y evitar
que el sistema de trading pueda lanzar nuevas rdenes antes de las 9:30 del huso horario del mercado.
DEFPARAM FlatAfter = 160000 // Anular cualquier orden pendiente, cerrar todas las posiciones y evitar que el
sistema de trading pueda lanzar nuevas rdenes despus de las 16:00:00 del huso horario del mercado.
Si esta opcin est activada, las unidades en efectivo disponibles no se actualizarn con las
ganancias, las prdidas y las comisiones de operativa.
Por defecto, NoCashUpdate = False.
Ejemplo:
Capital inicial 10000, con NoCashUpdate = True. La inversin mxima quedar limitada a 10000
sin tomar en cuenta las ganancias realizadas a lo largo de la ejecucin del ProBacktest.
Nota:
Los parmetros definidos con ayuda de la instruccin DEFPARAM deben definirse al inicio del
cdigo (tras los comentarios).
Llamadas a indicadores
Indicadores ProRealTime
Todas las funciones disponibles para la programacin de indicadores son accesibles tambin para
la programacin de sistemas de trading (cf. ver glosario del presente manual para acceder a la
lista completa).
Le remitimos al manual ProBuilder para conocer estas funciones al detalle.
La cantidad de datos histricos necesarios para el clculo de un indicador depende de la
naturaleza de dicho indicador. Por ejemplo, para la funcin media exponencial sobre N periodos
(ExponentialAverage[N]), consideramos generalmente que son necesarias 10*N para obtener un
resultado preciso. Podr realizarse una aproximacin en funcin de la cantidad de histrico
disponible para el valor.
Si la fecha de inicio del ProBacktest es prxima a la primera fecha del grfico, el servidor provee una
cantidad adicional de histrico para que los indicadores puedan proporcionar resultados desde la
primera vela.
Indicadores personalizados
Al igual que en la programacin de indicadores, es posible llamar a funciones personalizadas con
la ayuda de la instruccin CALL en un sistema de trading.
Ejemplo:
a,b = CALL ''HistoMACD[5,6]'' // a y b son los parmetros de salida de la funcin. 5 y 6 son los parmetros de
entrada
20 / 73
Consejos de programacin
El tiempo de clculo de un sistema de trading depende de la complejidad de los indicadores utilizados
y de la manera utilizada para llamarlos. El siguiente prrafo le ofrece algunos sencillos consejos para
optimizar el funcionamiento de sus cdigos.
Reducir el nmero de llamadas a indicadores ProRealTime
Si desea utilizar el mismo indicador varias veces en clculos distintos, no haga uso de la funcin
CALL y procure en su lugar almacenarlo en una variable intermedia.
Cdigo no ptimo
Cdigo ptimo
Esto es vlido igualmente si quiere utilizar el mismo indicador varias veces, pero con diferente
compensacin.
Cdigo no ptimo
a = ExponentialAverage[40](close)
Cdigo ptimo
a = ExponentialAverage[40](close)
b = ExponentialAverage[40](close[1])
c = ExponentialAverage[40](close)
IF a > b THEN
ENDIF
ENDIF
21 / 73
Cdigo ptimo
ENDIF
ENDIF
ENDIF
Cdigo ptimo
myindic = LinearRegression[5](dayclosemix)
IF NOT longonmarket AND close > myindic THEN
BUY 1 SHARE AT MARKET
ENDIF
IF NOT shortonmarket AND close < myindic THEN
SELLSHORT 1 SHARE AT MARKET
ENDIF
RETURN LinearRegression[5](dayclosemix)
CDIGO de "MyDCLOSEMix" :
mix = ( DClose(0) + 3.5* DClose(1) + 4.5* DClose(2) +
3*DClose(3) + 0.5* DClose(4) - 0.5*DClose(5) 1.5*DClose(6) ) / 10.5
RETURN mix
22 / 73
Cdigo ptimo
IF CLOSE >= 0.0014 AND CLOSE <= 0.0047 AND
INTRADAYBARINDEX >= 5 AND INTRADAYBARINDEX
<= 20 THEN
IF NOT SHORTONMARKET THEN
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
23 / 73
24 / 73
Futuros:
25 / 73
Valor 1 punto
FCE CAC 40
10
DAX
25
DJ Eurostoxx 50
10
BUND
10
Euro FX
12,5$
50$
20$
Mini Dow
5$
La gestin de riesgos le permite establecer (en nmero de contratos) los siguientes parmetros:
Lmite mximo del total invertido (o tamao mximo de la posicin): cualquier orden que
represente una cantidad superior a este valor ser rechazada.
Montante mximo por transaccin: se ignorar cualquier orden de una cantidad superior a este
valor.
Montante mnimo por transaccin: se ignorar cualquier orden de una cantidad inferior a este
valor.
Nota: una inversin de la posicin se considerara como un cierre y una apertura de posicin, por
lo que tomaramos en cuenta la cantidad de la apertura en el clculo del montante mnimo. Las
comisiones de operativa slo se aplicaran una vez.
Forex:
Los parmetros de configuracin de la operativa permiten definir el tamao del lote, el spread y el
apalancamiento que se aplica a cada orden.
26 / 73
La instruccin BUY 1 LOT AT MARKET en el EURUSD tiene como objetivo la compra de un lote de
100000$, con un spread de 2 pips (es decir 0,0002). Al ser 20 el apalancamiento (margen de 5%),
es necesario disponer de 5000$.
La gestin de riesgos funciona de la misma manera que para los futuros, salvo que las cantidades
se definen en lotes.
Acciones:
27 / 73
Optimizacin de variables
Esta seccin le permite definir la optimizacin de variables. A travs de esta funcin, podr probar
mltiples combinaciones de variables para encontrar las que le ofrezcan los mejores resultados.
Para ms informacin al respecto y un ejemplo concreto, le sugerimos visualizar el video 'Defina la
gestin de capital (money management), los stops y la optimizacin de variables para mejorar sus
estrategias'.
El resultado de la optimizacin se presenta en un 'Informe de optimizacin'. En l se indican las
estadsticas de cada valor para determinar as la combinacin de variables a utilizar en la optimizacin
de su sistema de trading.
He aqu un ejemplo de sistema con optimizacin de los periodos de medias mviles n y m:
AVGm=ExponentialAverage[m](Close)
AVGn=ExponentialAverage[n](Close)
IF AVGm Crosses Over AVGn THEN
BUY 100 SHARES AT MARKET
ENDIF
IF AVGm Crosses Under AVGn THEN
SELL 100 SHARES AT MARKET
ENDIF
28 / 73
Nombre usado en programa representa el nombre que toma la variable en nuestro cdigo (n y
m en este caso). Es importante distinguir entre maysculas y minsculas.
Etiqueta en ventana propiedades representa el nombre que se le atribuye a la variable para
identificarla con mayor facilidad (por ejemplo 'Nmero de Perodos' para n).
Valor mnimo y Valor mximo representan los extremos entre los que la variable puede oscilar
durante las pruebas de optimizacin.
Paso representa el intervalo de valores que la optimizacin respetar durante el anlisis de los
resultados.
La siguiente imagen muestra un ejemplo de informe de optimizacin:
29 / 73
El informe del ejemplo ofrece 5 estadsticas para cada una de las combinaciones de variables
estudiadas (en este caso: n y m). Veamos las estadsticas con ms detalle:
30 / 73
Estos campos sirven para definir el intervalo de tiempo sobre el que se desee aplicar el ProBacktest
(con la condicin de que existan suficientes datos histricos para el valor en cuestin). Puede
aumentar la cantidad de histrico de su grfico utilizando el men desplegable situado en la parte
superior izquierda de cada uno. Tenga en cuenta que si establece 'primera fecha disponible' como
fecha de inicio, ser necesario cargar en su grfico la cantidad de histrico deseada antes de lanzar el
ProBacktest.
Si se trata de un ProBacktest en 'tiempo real', las rdenes se fijan en su grfico cuando se producen
las seales. Tambin es posible asociar estas rdenes a ventanas emergentes o a sonidos desde el
men 'Opciones/configuracin de alertas y sonidos'.
Si se define una fecha final, las posiciones todava abiertas en esta fecha se cerrarn
automticamente.
31 / 73
Algunos mercados que negocian durante las 24 horas permiten utilizar los datos intradiarios para la
construccin de las velas diarias. Tal y como ocurre en la personalizacion de los horarios, esta opcin
no se toma en cuenta para la ejecucin de sus ProBacktets, que siempre utilizarn las velas diarias
oficiales basadas en el uso horario local del mercado. Algunos mercados (como el Forex) incluyen
datos del fin de semana. Existe una casilla especial para dichos mercados en 'Opciones / Huso
horario de grficos intrada' que le permite ocultar los datos negociados durante el fin de semana en
los grficos, aunque dichos datos siempre se tomaran en cuenta en la ejecucin de sus ProBacktets.
Los datos del domingo se incluyen en la vela diaria del lunes al aplicar un ProBacktest (el sbado no
hay negociacin).
32 / 73
33 / 73
Aparecer la siguiente ventana, con las instrucciones de preparacin de los sistemas de trading para el
trading automatico.
34 / 73
En primer lugar, seleccione el grfico y la vista temporal en la que desee ejecutar su sistema de trading
automatico y pulse en el boton
trading'. Pulse en el botn 'Backtest y trading automtico' para acceder a la lista de sus sistemas de
trading:
Seleccione el sistema de trading que desee ejecutar automticamente y pulse en el botn 'Preparar
para trading automtico'. El sistema de trading aparecer en ProOrder.
35 / 73
Una ventana emergente le pedir confirmar la ejecucin del sistema, por lo que le recomendamos leer
con atencin el contenido de la misma.
Observe que el 'Tamao mximo de la posicin' introducido en ProOrder prevalece sobre las
instrucciones de sus cdigos. El tamao mximo de la posicin para futuros y forex se define en
nmero de lotes o contratos. Por ejemplo, si su cdigo contiene una instruccin para la compra de 3
lotes pero Ud. establece el lmite mximo de la posicin en 1, se ignorar la instruccin para la compra
de 3 lotes. Del mismo modo, si su cdigo contiene una instruccin de compra de 1 lote y de venta a
descubierto de 3 lotes, la orden de venta a descubierto no se ejecutar y Ud. mantendr slo la
posicin compradora. Por lo tanto, deber verificar siempre el tamao mximo de su posicin antes de
la ejecucin de cualquier cdigo.
Para el caso de las acciones, el tamao mximo de la posicin se define en efectivo (sin incluir las
comisiones de operativa).
Tras su confirmacin, el sistema se mostrar en la seccin 'En curso', tal y como aparece a
continuacin.
36 / 73
Mientras el sistema de trading est operativo, sus posiciones, ganancias latentes y ganancias totales
aparecern en la ventana ProOrder. Ser entonces posible pulsar en el enlace 'Versin' para acceder
a una copia del cdigo de este sistema.
Podr igualmente pulsar en el botn destacado a continuacin para visualizar el grfico de liquidez del
sistema y el informe detallado de sus resultados.
37 / 73
38 / 73
Nota: la ganancia mostrada en la seccin 'Estadsticas de posiciones cerradas' puede ser diferente del
valor del grfico de liquidez, ya que ste toma en cuenta las posiciones que estn an abiertas y el
sistema sigue en curso.
39 / 73
Incluimos un enlace hacia las condiciones de ejecucin de sus sistemas de trading en la parte
inferior de esta ventana ('Pulse aqu). Le aconsejamos leer estas condiciones con atencin.
40 / 73
Puede asignar una cantidad de tiempo para cada prolongacin desde la ventana 'Preferencias de
trading'. Es posible aumentar este parmetro mientras su sistema de trading est operativo. La
modificacin se aplicar en la siguiente prolongacin que se efecte.
Lmite mximo de rdenes por da: ProOrder podr interrumpir cualquier sistema de trading
tanto si la totalidad de rdenes pendientes como si el nmero de rdenes ejecutadas por dicho
sistema desde la apertura del mercado (0h00 GMT para el Forex) es superior o igual a la cantidad
establecida en la pestaa 'Trading automtico' de la ventana 'Preferencias de trading'. Una orden
pendiente es una orden que ha sido enviada al broker y que no se ha ejecutado, o que ha sido
rechazada o anulada.
Por ejemplo, cada instruccin 'Set stop', 'Set Trailing stop' o 'Set target', en tanto que la orden
correspondiente no haya sido anulada, rechazada o ejecutada.
Adems, 3 rdenes lmites o 3 rdenes stop diferentes que no hayan sido anuladas, rechazadas o
ejecutadas contarn como 3 rdenes pendientes. Esta condicin se cumple tanto si las rdenes se
sitan en el mismo nivel de precio como en niveles de precio distintos.
41 / 73
Por ejemplo, Ud. establece un lmite de 8 rdenes para la detencin de sus sistemas. Desde la
apertura del mercado, un sistema de trading determinado ya ha ejecutado 5 ordenes y tiene,
adems, una posicin abierta y dos rdenes pendientes (una 'set target' y una 'set stop'). Si el
sistema necesitara enviar una nueva orden al mercado, esta octava orden no se lanzara ya que
5+2+1 representa el nivel de interrupcin establecido. El sistema de trading se detendr y se
anularn en primer lugar las rdenes pendientes y a continuacin se cerrar su posicin.
Rechazo de rdenes. ProOrder podr detener cualquier sistema de trading si se rechaza un
nmero determinado de sus rdenes. Puede establecer la interrupcin de un sistema de trading al
cabo de una sola orden rechazada o fijar un nmero de intentos. No es posible modificar los
parmetros de rechazo de rdenes mientras un sistema de trading se encuentre operativo.
Puede abrir la ventana ProOrder pulsando en ese botn y acceder a los sistemas de trading
actualmente en curso.
42 / 73
Ejemplo:
Supongamos que estamos ejecutando 2 sistemas de trading en el mismo instrumento: uno compra 6
lotes de un tamao de 100000 unidades cada uno y el otro est comprando 2 lotes de un tamao de
100000 unidades cada uno. La posicin neta = +800000
En este ejemplo, la posicin del sistema de trading mostrado en el grfico es de +600000. La posicin
neta mostrada por la lnea de posicin es de +800000.
43 / 73
Cuando ejecuta mltiples sistemas de trading en el mismo instrumento, cada valor informativo del
sistema que est ejecutndose se correponde con su posicin actual, rdenes, transacciones y
ganancias de forma independiente. Como consecuencia de esto, las instrucciones 'LongOnmarket',
'ShortOnMarket' pueden indicarle si el sistema de trading en curso es comprador o vendedor.
La posicin neta en un instrumento debe ser diferente de la posicin de un determinado sistema. Del
mismo modo, otras variables de estado como 'CountOfLongShares', 'CountOfShortShares,
'CountOfPosition', 'PositionPrice', 'StrategyProfit', 'TradIndex', 'TradePrice' y 'PositionPerf' hacen
referencia slo a su sistema actual.
Restriccin de indicadores
La utilizacin de los siguientes indicadores est limitada actualmente en trading automtico porque su
sistema de clculo no permite un uso en tiempo real:
ZigZag: las seales basadas en este indicador se recalculan despus de un hecho y como
consecuencia de esto, las seales dadas en tiempo real pueden diferir de las seales
proporcionadas en sus backtests.
44 / 73
1) Grfico de liquidez
Tambin llamado 'Equity Curve', representa la evolucin del capital invertido en la ejecucin del sistema
o ProBacktest :
La lnea azul horizontal representa el capital inicial de su sistema. Si est ejecutando sistemas
de trading automtico, esta lnea se sita siempre en 0. Si ejecutara un ProBacktest con un capital
inicial de 10000 y una prdida de 2705, el grfico de liquidez tendra un valor de 7295, tal y como
puede apreciar en el siguiente ejemplo. Si se tratara de un sistema de trading automtico con
idntica prdida, el punto de salida del grfico ser 0 y el valor final ser de -2705.
El relleno del grfico de liquidez ser de color verde si el resultado global es positivo (el valor
actual del capital es superior al inicial) y de color rojo si el resultado global es negativo.
La lnea de la grfico de liquidez ser de color verde en caso de una variacin positiva respecto
al nivel precedente, y de color rojo para indicar una variacin a la baja.
45 / 73
2) Posiciones
Esta informacin se muestra mediante un histograma con la evolucin de las posiciones abiertas por un
sistema de trading.
Una barra verde indica la apertura de una posicin a largo (compra).
Una barra roja indica la apertura de una posicin a corto (venta a descubierto o short selling).
Si no hay ninguna barra visible, no hay ninguna posicin abierta en el mercado.
La aparicin de varias barras sucesivas de un mismo color indica que se mantienen la(s) posicin(es).
A lo largo del eje vertical visible en la zona derecha del grfico se indica la cantidad de posiciones
abiertas y acumuladas. En la ilustracin siguiente constataremos que nos encontramos en una posicin
de venta de un lote de 100000 unidades en el EUR/USD.
46 / 73
3) Informe detallado
El informe detallado le permite visualizar las estadsticas de su sistema, as como el detalle de cada
posicin y orden:
47 / 73
48 / 73
Ejemplo:
Barindex
PnL
DrawDown
RunUp
0,00
0,00
0,00
15,00
0,00
-15,00
10,00
5,00
-10,00
0,00
15,00
0,00
15,00
0,00
-15,00
-10,00
25,00
0,00
-20,00
35,00
0,00
-5,00
20,00
-15,00
-6,00
21,00
-14,00
10
20,00
0,00
-40,00
11
5,00
15,00
-25,00
Max :
-35,00
40,00
49 / 73
Acciones:
%exposicin max = Max posiciones (Cantidad * precio medio * apalancamiento / capital) * 100
Igualmente, el % exposicin media al riesgo es la media del porcentaje de exposicin al riesgo.
Las Comisiones de operativa contabilizan el conjunto de comisiones de operativa de cada orden
desde el inicio del sistema de trading. Las comisiones de operativa se definen en la gestin de capital
en el caso de los ProBacktest.
El % de tiempo en el mercado es la relacin entre el nmero de periodos durante los que hay posiciones
abiertas dividido por el nmero de periodos del sistema de trading.
Las dos pestaas siguientes le facilitan informacin sobre todas las rdenes lanzadas y las posiciones
abiertas y cerradas en el transcurso del sistema de trading automtico o del ProBacktest.
La pestaa Lista de rdenes le indica la hora, el sentido, la cantidad y el precio de las rdenes
enviadas. Estas rdenes aparecen en el huso horario del mercado (es decir, expresadas en hora
local).
Por ltimo, la pestaa Lista de posiciones cerradas le proporciona informacin sobre las
posiciones abiertas y liquidadas por el sistema (a largo o a corto, duracin indicada en cantidad de
velas, resultados absolutos y relativos de cada posicin, fecha de entrada y de salida). Si hubiera
alguna posicin todava abierta en el momento de la creacin del informe, no se incluir en la lista. Si
ejecuta un ProBacktets y desea cerrar todas las posiciones al final del mismo, le recomendamos fijar
una fecha final en lugar de una fecha en tiempo real.
50 / 73
51 / 73
52 / 73
53 / 73
54 / 73
55 / 73
56 / 73
Stops de inactividad
Este cdigo permite integrar un stop de inactividad en su sistema de trading. Recuerde definir las
condiciones de su stop, en este caso denominados 'InactivityStopLong' e 'InactivityStopShort'. En
el ejemplo descrito, el stop se activa tras 10 velas.
ONCE Count = 10
REM Seleccin del nmero de velas tras el cual la posicin se cerrar automticamente
IF ONMARKET AND (BARINDEX - TRADEINDEX + 1) > Count THEN
IF LONGONMARKET THEN
SELL AT MARKET
ENDIF
IF SHORTONMARKET THEN
EXITSHORT AT MARKET
ENDIF
ENDIF
57 / 73
Con estas herramientas podemos abordar las martingalas. Les mostramos a continuacin algunas
de las ms conocidas. Estas tcnicas pueden aadirse a cualquier sistema de trading.
58 / 73
La martingala clsica
La martingala clsica consiste en duplicar la posicin cuando se afronta una prdida, con la idea
de recuperarla en la siguiente transaccin. El mayor inconveniente de este sistema de trading es
que si se producen varias prdidas consecutivas, la posibilidad de duplicar la posicin se hace
cada vez menos factible. As, partiendo de un capital de p.ej. 1000, cinco prdidas sucesivas
requeriran 1000 x 32 = 32000 para continuar con el sistema de trading.
Los sistemas de trading derivados de esta martingala pueden ser ms adecuadas para la
operativa con acciones que con futuros o Forex, ya que la inversin inicial y el apalancamiento
suele ser ms importante en estos ltimos mercados. Para aplicarla, se integrar este cdigo en
las condiciones de entrada y de salida:
59 / 73
La gran martingala
La gran martingala es similar a la clsica, con la diferencia de que adems de duplicar la posicin
en cada prdida, se aade una unidad suplementaria.
Esta martingala es ms arriesgada que la clsica en caso de prdidas sucesivas, pero permite
aumentar significativamente las ganancias en caso contrario. Para aplicarla, se integrar este
cdigo en las condiciones de entrada y de salida:
60 / 73
La Piquemouche
La Piquemouche es otra variante de la martingala clsica. En caso de prdida, se aumenta una
unidad el tamao de la posicin mientras se hayan producido menos de 3 prdidas consecutivas.
Cuando se acumulan ms de 3 prdidas seguidas, se duplica el tamao de la posicin. La primera
ganancia reinicia el tamao de la posicin, fijndolo nuevamente en 1.
Este sistema de trading es menos arriesgado que los dos anteriores, ya que retrasa el aumento del
tamao de la posicin hasta pasadas las 3 prdidas sucesivas. Para aplicarlo, se integrar este
cdigo en las condiciones de entrada y de salida:
OrderSize = OrderSize + 1
ELSIF BadTrades MOD 3 = 0 THEN
//Si la ltima operacin resulta en prdidas y se acumulan ms de 3 prdidas
// consecutivas, se duplica el tamao de la prxima posicin
OrderSize = OrderSize * 2
ENDIF
ELSIF PositionPerf(1) >= 0 THEN
// Si la ltima operacin resulta ganadora, retomar posicin a tamao 1
OrderSize = 1
BadTrades = 0
ENDIF
ENDIF
//*********************//
REM El tamao de la posicin queda definido por la variable OrderSize en el cdigo entero
61 / 73
La pirmide de Alembert
Concebida por Alembert (matemtico francs del siglo XVIII), esta martingala aumenta 1 unidad la
posicin en caso de prdida; en caso de ganancia, la disminuye de 1. Esta tcnica slo es
pertinente cuando se considere que las ganancias sucesivas disminuyen la probabilidad de que la
siguiente operacin resulte ganadora (y recprocamente, que una prdida aumente la posibilidad
de que la siguiente operacin resulte en ganancia). Para aplicarla, se integrar este cdigo en las
condiciones de entrada y de salida:
62 / 73
La contra de Alembert
Este es un sistema de trading recproco de la pirmide homnima, ya que se disminuye el tamao
de la posicin en caso de prdida y se aumenta en caso de ganancia.
La tcnica implica la consideracin de que los resultados histricos son representativos de los
resultados futuros.
Para aplicarla, se integrar este cdigo en las condiciones de entrada y de salida:
63 / 73
Glosario
Glosario
A
CDIGO
SINTAXIS
FUNCIN
Abs
Abs(a)
AccumDistr
AccumDistr(price)
ADX
ADX[N]
ADXR
ADXR[N]
AND
a AND b
Operador lgico ET
AroonDown
AroonDown[P]
AroonUp
AroonUp[P]
Designa el Aroon Up
Atan
Atan(a)
AS
RETURN x AS
"ResultName"
AT
AT (price)
Average
Average[N](price)
AverageTrueRange
AverageTrueRange[N](price)
CDIGO
SINTAXIS
FUNCIN
BarIndex
BarIndex
BollingerBandWidth
BollingerBandWidth[N](price)
BollingerDown
BollingerDown[N](price)
BollingerUp
BollingerUp[N](price)
BREAK
(FOR...DO...BREAK...NEXT)
ou
(WHILE...DO...BREAK...WEND)
BUY
64 / 73
Glosario
C
CDIGO
SINTAXIS
FUNCIN
CALL
myResult=CALL myFunction
CAPITAL
BUY x% CAPITAL
CASH
BUY x CASH
CCI
CCI[N](price) ou CCI[N]
ChaikinOsc
ChaikinOsc[Ch1, Ch2](price)
Chandle
Chandle[N](price)
ChandeKrollStopUp
ChandeKrollStopUp[Pp, Qq,
X]
ChandeKrollStopDown
ChandeKrollStopDown[Pp,
Qq, X]
Close
Close[N]
COLOURED
RETURN x
COLOURED(R,G,B)
COS
COS(a)
Funcin Coseno
COUNTOFLONGSHARES
COUNTOFLONGSHARES
COUNTOFPOSITION
COUNTOFPOSITION
COUNTOFSHORTSHARES COUNTOFSHORTSHARES
CONTRACT
BUY 1 CONTRACT
Crosses Over
a Crosses Over b
Crosses Under
a Crosses Under b
CUMSUM
CUMSUM(price)
CumulateOrders
DefParam
CumulateOrders=false
CurrentDayOfWeek
CurrentDayOfWeek
Designa el da actual
CurrentHour
CurrentHour
CurrentMinute
CurrentMinute
CurrentMonth
CurrentMonth
CurrentSecond
CurrentSecond
CurrentTime
CurrentTime
CurrentYear
CurrentYear
Designa el ao actual
CustomClose
CustomClose[N]
Cycle
Cycle(price)
65 / 73
Glosario
D
CDIGO
SINTAXIS
FUNCIN
Date
Date[N]
Day
Day[N]
Days
Days[N]
DayOfWeek
DayOfWeek[N]
Dclose
Dclose(N)
DEFPARAM
DEFPARAM
DEMA
DEMA[N](price)
Dhigh
Dhigh(N)
DI
DI[N](price)
DIminus
Diminus[N](price)
Designa el DI-
Diplus
Diplus[N](price)
Designa el DI+
Dlow
Dlow(N)
DO
Dopen
Dopen(N)
DOWNTO
Voir FOR
DPO
DPO[N](price)
CDIGO
SINTAXIS
FUNCIN
EaseOfMovement
EaseOfMovement[I]
ELSE
Voir IF/THEN/ELSE/ENDIF
ELSEIF
Voir IF/THEN/ELSE/ENDIF
EMV
EMV[N]
ENDIF
Voir IF/THEN/ELSE/ENDIF
EndPointAverage
EndPointAverage[N](price)
EXITSHORT
EXITSHORT x SHARES
Exp
Exp(a)
ExponentialAverage
ExponentialAverage[N](price)
66 / 73
Glosario
F-G
CDIGO
SINTAXIS
FUNCIN
FOR/TO/NEXT
DefParam FlatAfter =
HHMMSS
FlatBefore
Defparam FlatBefore =
HHMMSS
ForceIndex
ForceIndex(price)
CDIGO
SINTAXIS
FUNCIN
High
High[N]
Highest
Highest[N](price)
HistoricVolatility
HistoricVolatility[N](price)
Hour
Hour[N]
CDIGO
SINTAXIS
FUNCIN
IF/THEN/ENDIF
IF a THEN b ENDIF
IF/THEN/ELSE/ENDIF
IntradayBarIndex
IntradayBarIndex[N]
I-J-K
67 / 73
Glosario
L
CDIGO
SINTAXIS
FUNCIN
LIMIT
BUY AT x LIMIT
LinearRegression
LinearRegression[N](price)
LinearRegressionSlope
LinearRegressionSlope[N]
(price)
Log
Log(a)
LONGONMARKET
LONGONMARKET
Low
Low[N]
Lowest
Lowest[N](price)
Loss
%LOSS
$LOSS
Lot
BUY 1 LOT
CDIGO
SINTAXIS
FUNCIN
MACD
MACD[S,L,Si](price)
MACDline
MACDLine[S,L,Si](price)
MARKET
BUY AT MARKET
MassIndex
MassIndex[N]
Max
Max(a,b)
MedianPrice
MedianPrice
Min
Min(a,b)
Minute
Minute
Mod
a Mod b
Momentum
Momentum[I]
MoneyFlow
MoneyFlow[N](price)
MoneyFlowIndex
MoneyFlowIndex[N]
Designa el 'MoneyFlowIndex'
Month
Month[N]
68 / 73
Glosario
N
CDIGO
SINTAXIS
FUNCIN
NEXT
Ver FOR/TO/NEXT
NextBarOpen
AT MARKET NextBarOpen
NoCashUpdate
DEFPARAM
NoCashUpdate=true/false
NOT
NOT a
Operador lgico NO
CDIGO
SINTAXIS
FUNCIN
OBV
OBV(price)
Designa el 'On-Balance-Volume'
ONCE
ONCE VariableName =
VariableValue
ONMARKET
ONMARKET
Open
Open[N]
OR
a OR b
CDIGO
SINTAXIS
FUNCIN
PipValue
PipValue
PipSize
PipSize
PointValue
PointValue
PointSize
PointSize
PositionPerf
PositionPerf(n)
PositionPrice
PositionPrice
PreLoadBars
DefParam PreLoadBars =
200
PriceOscillator
PriceOscillator[S,L](price)
PositiveVolumeIndex
PriceVolumeIndex(price)
PVT
PVT(price)
QUIT
QUIT
P-Q
69 / 73
Glosario
R
CDIGO
SINTAXIS
FUNCIN
R2
R2[N](price)
Range
Range[N]
REM
REM comment
Repulse
Repulse[N](price)
RETURN
RETURN Result
ROC
ROC[N](price)
RSI
RSI[N](price)
Round
Round(a)
ROUNDEDUP
ROUNDEDUP
ROUNDEDDOWN
ROUNDEDDOWN
CDIGO
SINTAXIS
FUNCIN
SAR
SAR[At,St,Lim]
SARatdmf
SARatdmf[At,St,Lim](price)
SELL
SELLSHORT
SET
SET
SET STOP
SET LIMIT
SET TARGET
SHARES
SHORTONMARKET
SHORTONMARKET
Sin
Sin(a)
Sgn
Sgn(a)
SMI
SMI[N,SS,DS](price)
SmoothedStochastic
SmoothedStochastic[N,K]
(price)
70 / 73
Glosario
Square
Square(a)
Sqrt
Sqrt(a)
STD
STD[N](price)
STE
STE[N](price)
Stochastic
Stochastic[N,K](price)
STOP
AT (prix) STOP
Summation
Summation[N](price)
SuperTrend
SuperTrend[STF,N]
CDIGO
SINTAXIS
FUNCIN
Tan
Tan(a)
Target
TEMA
TEMA[N](price)
THEN
Voir IF/THEN/ELSE/ENDIF
Ticksize
Ticksize
Time
Time[N]
TimeSeriesAverage
TimeSeriesAverage[N](price)
TO
Voir FOR/TO/NEXT
Today
Today
TomorrowOpen
AT (prix) TomorrowOpen
TotalPrice
TotalPrice[N]
TR
TR(price)
TradeIndex
ENTRYINDEX(n)
TradePrice
TradePrice(n)
Trailing
%TRAILING
$TRAILING
TriangularAverage
TriangularAverage[N](price)
TRIX
TRIX[N](price)
TypicalPrice
TypicalPrice[N]
71 / 73
Glosario
U
CDIGO
SINTAXIS
FUNCIN
Undefined
a = Undefined
CDIGO
SINTAXIS
FUNCIN
Variation
Variation(price)
Volatility
Volatility[S, L]
Volume
Volume[N]
Designa el volumen
VolumeOscillator
VolumeOscillator[S,L]
VolumeROC
VolumeROC[N]
CDIGO
SINTAXIS
FUNCIN
WeightedAverage
WeightedAverage[N](price)
WeightedClose
WeightedClose[N]
WEND
Voir WHILE/DO/WEND
WHILE/DO/WEND
WHILE (condition) DO
(action) WEND
Bucle 'Mientras'
WilderAverage
WilderAverage[N](price)
Williams
Williams[N](close)
WilliamsAccumDistr
WilliamsAccumDistr(price)
Indicador 'Acumulacin/Distribucin de
Williams'
CDIGO
SINTAXIS
FUNCIN
XOR
a XOR b
72 / 73
Glosario
Y
CDIGO
SINTAXIS
FUNCIN
Year
Year[N]
Da el ao en formato YYYY
Yesterday
Yesterday[N]
CDIGO
SINTAXIS
FUNCIN
ZigZag
ZigZag[Zr](price)
ZigZagPoint
ZigZagPoint[Zp](price)
Operadores
CDIGO
FUNCIN
Operador de suma
Operador de sustraccin
Operador de multiplicacin
Operador de divisin
Operador de igualdad
<>
Operador de diferencia
<
>
<=
Operador de inferioridad
>=
Operador de superioridad
//
73 / 73
www.prorealtime.com