Mostrando entradas con la etiqueta software. Mostrar todas las entradas
Mostrando entradas con la etiqueta software. Mostrar todas las entradas

2012-06-05

Cálculo del tamaño de una operación con TraderToolBox

Todo buen trader ha de conocer los pasos previos antes de realizar una operación bursatil, y aunque no es dificil, si es un poco tedioso estar siempre realizando los mismos cálculos de forma manual, sobre todo si planteas varias antes de encontrar una con un ratio aceptable. En esta entrada explicaré como se realizan dichos cálculos de forma muy simple con TraderToolBox. Los pasos son los siguientes:

  • Una vez hemos encontrado una posible operación, obtenemos los valores comunes imprescindibles para poder realizarla:

    • Datos que no dependen de la operación:

      • Capacidad de Compra (Buying Power), cantidad que nuestro broker aún nos permite usar. No tiene que coincir con el Valor de la cuenta (Equity), si una parte está en uso en otra operación.

      • riego máximo, perdida máxima permitida para una operación (que he calculamos al inicio del mes aquí).

      • Costes de operación, que serán las comisiones que nuestro broker nos cobrará tanto por entrar como por salir, puede ser un valor fijo o depender del importe de la operación. Usaré $10 que viene a ser lo que me cuesta en Zecco.

      • deslizamiento (1acc), máximo que estimamos podría llegar a correr el precio en nuestra contra por cada acción.

      • ratio mínimo, valor mínimo en la relación Ganancia/Perdida que exigimos para entrar en una operación (es un valor que tenemos decidido de antemano y que sólo modificaremos puntualmente sí tenemos razones fundadas en la estadística). Es bastante usual pedir 2, 2.50 o 2.75, aunque lo ideal sería más de 3.

    • Datos concreto de la operación:

      • Objetivo (Target), precio al que estimamos puede llegar el valor (15.82).

      • entrada, valor a partir del cual queremos entrar en la operación (9.31).

      • stop-loss, valor a partir del cual salimos para evitar mayores perdidas (8.63)

  • Ejecutamos TraderToolBox y seleccionamos la segunda opción del menú "Tamaño de Operación".

  • Dentro de la pantalla "Tamaño de Operación" introducimos los valores de cada campo editable (puede cambiarse de campo con el TrackBall, el cursor del teclado físico o usando la tecla Intro del teclado virtual). Para que se calcule podemos usar tanto el botón "Calcular" como la tecla Intro.

  • Los valores que nos ha calculado son:

    • Limit (15.82), valor hasta el que podemos entrar sin que el ratio esté por debajo de nuestro mínimo.
    • ratio (9.57), relacion Ganancia/Perdida de la operación si la entrada se produce justo en el punto indicado.
    • acciones (1032), es el número de acciones máximo de la operación sin superar el máximo riesgo por operación, que redondeariamos a la baja (1000).

    Por lo tanto nuestra operación sería:

    • target @ 15.82
    • stop-limit @ 9.31 stop - 10.55 limit
    • stop @ 8.63
    • Número de acciones 1032 => 1000

  • El valor limit de la orden stop-limit se ha calculado de forma que el ratio (Ganancia/Perdida) sea el valor mínimo que hemos establecido para entrar en una operación.

    Una vez lanzada la operación si el precio llega a 9.31 se lanzará al mercado la orden de compra con un límite de 10.55, por lo que podría comprarse en 9.31, 9.30, 10.01 o 10.55 pero no más.

    Dado que el tamaño de la operación se reduce al aumentar la distancia entre el stop de entrada y el limit, podemos reducir este último a un valor razonable cambiando el ratio a 6 obtendríamos un valor limit de 9.66 y 1918 acciones.

    quedando nuestra operación como:

    • target @ 15.82
    • stop-limit @ 9.31 stop - 9.66 limit
    • stop @ 8.63
    • Número de acciones 1918 => 1900

Aunque para los no iniciados en el mundo del Trading pueda resultar complicado, para alguien que tiene que hacer estos cálculos de forma manual, simplifica mucho la tarea.

Cálculo mensual del riesgo con TraderToolBox

Todo Swing Trader ha de calcular al inicio de cada mes tanto el riesgo máximo por operación como el riesgo máximo para dicho mes. Está bastante extendido el uso del 2% y el 6%, aunque para el primero también puede usarse el 0.5% y el 1% dependiendo de la confianza que se tenga en dicha operación o incluso simplemente por aminorar el riesgo cuando se tiene un capital importante permitiendo diversificar en más operaciones simultaneas.

Esta tarea es muy simple de hacer con la calculadora, pero lo es más usando TraderToolBox. Los pasos son los siguientes:

  • Calculamos el llamado Equity (Capital) de nuestra cuenta, pongamos $10000 para simplificar.

  • Ejecutamos TraderToolBox y seleccionamos la primera opción del menú "Gestión del Riesgo".

  • Dentro de la pantalla "Gestión del Riesgo" introducimos el valor que hemos calculado antes, el Capital de nuestra cuenta. Y para actualizar el cálculo simplemente pulsamos la tecla Intro

  • Ahora disponemos de los valores para el 0.5% ($50), 1% ($100) y 2% ($200) para usar como límite en las operaciones y el 6%($600) como límite mensual.

Por tanto ya podemos usar estos valores al calcular el tamaño de nuestras operaciones.

2012-06-04

TraderToolBox (lite) 0.0.1

Hace aproximadamente un año comencé mi aprendizaje para intentar convertirme en Trader, y a pesar de tener muchas ideas y haber programado algún que otro screener para ProRealTime, no he hecho nada como programador, hasta esta última semana, en la que por fin he creado un pequeño programa para android que resolver tareas tediosas, por ahora sólo tiene dos: el calculo mensual del riesgo máximo permitido y para cada operación calcular el tamaño, el ratio y el límite de entrada para cumplir un ratio determinado.

Puedes descargarlo aquí.

About a year ago I started learnig to become a Trader, and despite of having tons of ideas and have programed some screeners for ProRealTime, I have done nothing as a programer, until last week, when I've finally created a little program for android to resolve tedious tasks, by now it has only two tasks: calculate monthly maximum allowed risk and for every trade calculate the size, ratio and entry limit to accomplish with a given ratio.

Yo can download here.

La pantalla inicial sirve de menú, sólo están implementadas las dos primeras y la última. The initial screen serves as a menú, but only the first two and the last are implemented.
Cálculo del riesgo máximo mensual 6% y por operación 2%. Además añade los valores para el 1% y el 0.5% para usar si se quiere reducir el riesgo por operación. Computes the maximum monthly risk 6% and trade risk 2%. It also adds the value for 1% and 0.5% to use a lower risk by trade.
Calcula el ratio Beneficio/Perdida, el límite de entrada para cumplir un ratio dado y el tamaño máximo de la operación. Computes the Profit/Loss ratio, the entry limit to accomplish with a given ratio and the maximum trade size.
La pantalla "Acerca de" muestra las URL relacionadas con el programa y permite enviar feedback mediante e-mail. The "About" screen shows the URLs related to de program and let you send feedback by e-mail.

Espero que lo encuentres util y no dudes en enviar feedback. Feliz Trading :-)

I hope you find it useful and don't hesitate to send beefback by e-mail. Happy Trading :-)

2010-07-22

FindRepe 0.9.0 - ES

Ahora en la versión 0.9.0, FindRepe puede buscar dentro de zips y jars usando las opciones --zip y --zip-only. La opción --verbose ha sido implementada finalmente, en las versiones previas esta opción era meramente decorativa.

La opción --zip tiene un bug, causado por un bug en la última release estable de "Apache Commons Compress", que puede provocar un bucle infinito en algunos zips incorrectos. Este bug ya ha sido corregido pero aún estoy a la espera de que sea liberado.



-Descomprimirlo usando el comando
unzip findrepe-0.9.0.zip

-Instalar el lanzador con uno de los siguientes comandos
java -jar findrepe-0.9.0/FindRepe.jar --install
java -jar findrepe-0.9.0/FindRepe.jar --install-home
sudo java -jar findrepe-0.9.0/FindRepe.jar --install-home=/opt/jdk1.6

-Trastealo y disfrutalo con

Usuarios de windows:
findrepe c:\ e:\

Usuarios de GNU/Linux, OpenSolaris y cualquier otro sabor unix:
findrepe /backup/mp3 /backup/src


(English version)

FindRepe 0.9.0 - EN

Now in version 0.9.0, FindRepe can search within zips and jars using options --zip and --zip-only. Option --verbose finally has been implemented, in previous versions this option was a dummy option.

Option --zip has a bug, due a bug in the last "Apache Commons Compress" stable release, it can cause an infinite loop in some buggy zips. This bug has been fixed but hasn't been released yet.



-Decompress it using the command
unzip findrepe-0.9.0.zip

-Install the launcher with one of the following commands
java -jar findrepe-0.9.0/FindRepe.jar --install
java -jar findrepe-0.9.0/FindRepe.jar --install-home
sudo java -jar findrepe-0.9.0/FindRepe.jar --install-home=/opt/jdk1.6

-Play and enjoy it with

Windows users:
findrepe c:\ e:\

GNU/Linux, OpenSolaris and any other unix flavor users:
findrepe /backup/mp3 /backup/src


(Versión en Español)

2009-09-23

FindRepe 0.6.2

Version 0.6.2 of FindRepe adds support for install options in Mac OS X, and --install-posix option to support installation in unknown posix operating systems.

-Download findrepe-0.6.2.zip

-Decompress it using the command

unzip findrepe-0.6.2.zip


-Install the launcher with one of the following commands

java -jar findrepe-0.6.2/FindRepe.jar --install

java -jar findrepe-0.6.2/FindRepe.jar --install-home

sudo java -jar findrepe-0.6.2/FindRepe.jar --install-home=/opt/jdk1.6


-Play and enjoy it with

Windows users:

findrepe c:\ e:\


GNU/Linux, OpenSolaris and any other unix flavor users:

findrepe /backup/mp3 /backup/src


P.S.: thanks to andunix for feedback :-)

2009-07-04

FindRepe 0.6.0

Version 0.6.0 of FindRepe comes with new options, bug fixes and minor performance changes


  • added options:

    • --unique list only unique files (--count=1)

    • --count=N list files repeated N times

    • --min-count=N files repated at least N times

    • --max-count=N files repated no more than N times


  • added some paths to autoexclusion list
  • issues 6, 7, 8 where fixed
  • some verbose messages for option -v


-Download findrepe-0.6.0.zip

-Decompress it using the command

unzip findrepe-0.6.0.zip


-Install the launcher with one of the following commands

java -jar findrepe-0.6.0/FindRepe.jar --install

java -jar findrepe-0.6.0/FindRepe.jar --install-home

sudo java -jar findrepe-0.6.0/FindRepe.jar --install-home=/opt/jdk1.6


-Play and enjoy it with

Windows users:

findrepe c:\ e:\


GNU/Linux, OpenSolaris and any other unix flavor users:

findrepe /backup/mp3 /backup/src


2009-06-13

FindRepe 0.5.1

Today a new version of FindRepe has been released, this new version 0.5.1, is focused on performance, when there are files of the same size but different content, especially big files. No gain would be notice when there are no differences in the content of files under 8KB and depending on the media even under 1MB. So the bigger file and the slower media, the bigger difference in performance.

There is also a improved control of objects that wouldn't be useful, so they are discarded earlier in order to reduce the minimum memory needed to run.

-Download findrepe-0.5.1.zip

-Decompress it using the command

unzip findrepe-0.5.1.zip


-Install the launcher with one of the following commands

java -jar findrepe-0.5.1/FindRepe.jar --install

java -jar findrepe-0.5.1/FindRepe.jar --install-home

sudo java -jar findrepe-0.5.1/FindRepe.jar --install-home=/opt/jdk1.6


-Play and enjoy it with

Windows users:

findrepe c:\ e:\


GNU/Linux, OpenSolaris and any other unix flavor users:

findrepe /backup/mp3 /backup/src


2009-05-11

FindRepe 0.5.0

New Version 0.5.0 of FindRepe. Added options --exclude-rc, --exclude-svn, --exclude-cvs, --exclude-hg, --exclude-dir --exclude-file, and --examples.


--exclude-rc ignore revision control directories
--exclude-svn ignore subversion (.svn)
--exclude-cvs ignore cvs (CVS)
--exclude-hg ignore mercurial (.hg and .hgignore)
--exclude-dir=name don't follow directories named name
--exclude-file=name ignore files named name
--examples print some useful examples

findrepe --exclude-rc /

findrepe --exclude-dir=META-INF \
--exclude-file=manifest.mf \
--exclude-file=private.xml \
src


-Download findrepe-0.5.0.zip

-Decompress it using the command

unzip findrepe-0.5.0.zip


-Install the launcher with one of the following commands

java -jar findrepe-0.5.0/FindRepe.jar --install

java -jar findrepe-0.5.0/FindRepe.jar --install-home

sudo java -jar findrepe-0.5.0/FindRepe.jar --install-home=/opt/jdk1.6


-Play and enjoy it with

Windows users:

findrepe c:\ e:\


GNU/Linux, OpenSolaris and any other unix flavor users:

findrepe /backup/mp3 /backup/src


2009-05-02

FindRepe 0.4.0 - noautoexclude and exclude options

New version 0.4.0 of FindRepe, the options --noautoexclude and --exclude were added to not automatically exclude certain directories and to exclude some paths. Some minor changes handling errors were made. Some changes have been made too in order to minimize changes in code when adding new options.

--noautoexclude don't autoexclude some paths (/dev, /proc, ...)

--exclude=path don't follow path


exclude option may be used more than once.

findrepe -ns /


findrepe -ns --exclude /opt --exclude=/backup /



  • /dev will be excluded in some posix systems (linux, solaris, ...)

  • /proc will be excluded in linux and solaris

  • /sys will be excluded in linux

  • /devices will be excluded in solaris


Errors while reading files will be better handled (detected only in windows), the file will be considered not equal to any other file.

-Download findrepe-0.4.0.zip

-Decompress it using the command

unzip findrepe-0.4.0.zip


-Install the launcher with one of the following commands

java -jar findrepe-0.4.0/FindRepe.jar --install

java -jar findrepe-0.4.0/FindRepe.jar --install-home

sudo java -jar findrepe-0.4.0/FindRepe.jar --install-home=/opt/jdk1.6


-Play and enjoy it with

Windows users:

findrepe c:\ e:\


GNU/Linux, OpenSolaris and any other unix flavor users:

findrepe /backup/mp3 /backup/src


2009-04-25

Evolving the Java Language (by Neal Gafter)

You must watch this vídeo from infoq

Neil Gafter

"Neal Gafter discusses language changes being developed for the JDK7; their interactions, how they are conditioned upon pre-existing language design choices, and how they influence"

2009-04-18

FindRepe 0.3.0 - verbose and symlinks options

FindRepe version 0.3.0 adds two new options: verbose (for future use) and symlinks to follow symlinks.

-v, --verbose increase verbosity

-s --symlinks follow symlinks


Some kind of cyclic links detection are implemented, "if the link points to one of the parents it's ignored", some more should be implemented in later versions.

Not readable directorys are ignored, because they can't be followed.

Not readable files are ignored because they can't be readed to compare.

-Download findrepe-0.3.0.zip

-Decompress it using the command

unzip findrepe-0.3.0.zip


-Install the launcher with one of the following commands

java -jar findrepe-0.3.0/FindRepe.jar --install

java -jar findrepe-0.3.0/FindRepe.jar --install-home

sudo java -jar findrepe-0.3.0/FindRepe.jar --install-home=/opt/jdk1.6


-Play and enjoy it with

Windows users:

findrepe c:\ e:\


GNU/Linux, OpenSolaris and any other unix flavor users:

findrepe /backup/mp3 /backup/src


2009-04-10

FindRepe 0.2.0 - install options

FindRepe version 0.2.0 comes with a new group of options to install a launcher for GNU/Linux, OpenSolaris and Windows XP, that lets users run without typing java command.

--install install a launcher

--install-java[=path] install a launcher using 'java' command

--install-home[=path] install a launcher using 'java.home' property


In GNU/Linux and OpenSolaris the launcher will be created in /usr/bin/ or in the user directory depending on the user used to run it. If root (or sudo) is used the launcher is created in /usr/bin/ so all users will be allowed to use it. If a normal user is used, the launcher is created in the user directory.

Select your preferred flavor. Mine is --install-home, because findrepe gets the java command from the one used to run, so henceforth that java version will be used to run findrepe.

-Download findrepe-0.2.0.zip

-Decompress it using the command

unzip findrepe-0.2.0.zip


-Install the launcher with one of the following commands

java -jar findrepe-0.2.0/FindRepe.jar --install

java -jar findrepe-0.2.0/FindRepe.jar --install-home

sudo java -jar findrepe-0.2.0/FindRepe.jar --install-home=/opt/jdk1.6


-Play and enjoy it with

Windows users:

findrepe c:\ e:\


GNU/Linux, OpenSolaris and any other unix flavor users:

findrepe /backup/mp3 /backup/src


2009-03-25

StopDuplicates vs FindRepe

Hoy he encontrado StopDuplicates, una alternativa visual a FindRepe (sí, el mio, ese de línea de comandos).

Después de probarlo puedo decir que:

- Visualmente es bonito, mucho más bonito que una línea de comandos. Minipunto para StopDuplicates.

- Puedes indicar extensiones para filtrar la búsqueda. Por ahora Minipunto para StopDuplicates.

- Sólo puedes poner una ruta, lo que dificulta comparar dos directorios con rutas muy distintas. Minipunto para FindRepe.

- No puedes borrar la primera de las ocurrencias. Minipunto para FindRepe.

- El tiempo de StopDuplicates es muy superior a FindRepe. Minipunto y punto para FindRepe.

Como se puede ver esto no es más que un "A ver quien la tiene más grande!!!" estilo programador. En fin bien por los autores de StopDuplicates.

2009-03-18

FindRepe 0.0.2 (betatesters wanted)

Finally, after few weeks of nightly efforts (since fdupes post), I'm releasing version 0.0.2 of FindRepe a duplicated file finder, multiplataform ie, for Windows, GNU/Linux, Solaris, MacOS, and for everything with java and filesystem in general.


The algorithm was developed by me about 4 or 5 years ago (when implemented in C++). It consists in grouping by size and comparing a hash of those having the same size. This implementation uses two different hashes MD5 and SHA1 just in case of collisions.


In the tests I've done it has won fdupes, 15 minutes for fdupes, and a minute and a half FindRep, but the first finally verify that the files are equal.

-Download findrepe_0.0.2.zip

-Decompress
unzip findrepe_0.0.2.zip

-Running
java -jar FindRepe.jar [options] Directories

-Show help
java -jar FindRepe.jar -h

-Show license
java -jar FindRepe.jar -L

-Search in e:\movies and delete duplicates
java -jar FindRepe.jar -d e:\movies

-Search in c:\ and delete duplicates
java -jar FindRepe.jar -d "c:\"


Yes, it's a little hard to run, but I'm working on it, patience and feedback, I need your constructive advice, what do you like, what do you dislike, what would you change, ...

Note for winusers, for the windows program pray to Saint Job. (Yes, I'm lost in traslation).

Another note for winusers, use cuotes for directories if it doesn't work, something like "c:\"

2009-03-17

FindRepe 0.0.2 (se buscan betatesters)

Por fin, después de varias semanas de esfuerzos nocturnos (desde la entrada de fdupes), saco la versión 0.0.2 de FindRepe un buscador de ficheros repetidos, multiplataforma, es decir, para Windows, GNU/Linux, Solaris, MacOS, y todo bicho con java y sistema de archivos en general.

El sistema empleado se me ocurrió hace unos 4 o 5 años (cuando lo implementé en C++). Consiste en agrupar por tamaños y comparar un resumen de los que son iguales. Esta implementación usa dos resúmenes MD5 y SHA1 por si hay colisiones.

En las pruebas que he realizado ha vencido a fdupes de forma holgada, 15 minutos para fdupes, minuto y medio para findrepe, aunque el primero verifica finalmente que los ficheros sean iguales.

-Descargar findrepe_0.0.2.zip

-Descomprimir
unzip findrepe_0.0.2.zip


-Ejecutar
java -jar FindRepe.jar [opciones] Directorios


-Mostrar ayuda
java -jar FindRepe.jar -h

-Mostrar licencia
java -jar FindRepe.jar -L

-Buscar en e:\pelis y borrar duplicados
java -jar FindRepe.jar -d e:\pelis


-Buscar en c:\ y borrar duplicados
java -jar FindRepe.jar -d "c:\"


Sí, es algo complicado ejecutarlo, pero estoy en ello, paciencia y feedback, necesito vuestras críticas constructivas, que os gusta, que no os gusta, que cambiariais, ...

Nota para los windowseros, para el programa con ventanitas tendreis que encomendaros al Santo Job.

Otra nota para los windowseros usad comillas para los directorios si no funciona, algo como "c:\"

2009-02-06

fdupes - busqueda de ficheros duplicados

Hace unos cuatro años hice un programa para uso propio, que buscaba ficheros duplicados en el disco duro el cual llamé "findrepe". Este programa carecía de más opciones que "-d" para borrar (prevía consulta al usuario. El pasado fin de semana falto de espacio en el disco duro, busqué algo parecido en ubuntu y lo encontré.

El programa se llama fdupes y su funcionamiento es parecido al mío, pero con bastantes opciones.

tras ejecutar la siguiente orden:

fdupes -d -r 160 80 Escritorio


algunas líneas de resultado son:

[1] Escritorio/fotos/2004/2005-07-14/14-07-04_2133.jpg
[2] 160/usbHD/backup/movil/2005-07-14/14-07-04_2133.jpg

Set 199 of 480, preserve files [1 - 2, all]: 1

[+] Escritorio/fotos/2004/2005-07-14/14-07-04_2133.jpg
[-] 160/usbHD/backup/movil/2005-07-14/14-07-04_2133.jpg

[1] Escritorio/fotos/2004/2005-07-14/14-07-04_2124.jpg
[2] 160/usbHD/backup/movil/2005-07-14/14-07-04_2124.jpg

Set 200 of 480, preserve files [1 - 2, all]:



tras borrar bastantes peliculas, series, fotos y mp3 repetidos por estos y algunos directorios más, recuperé 46GB, casi nada :-)

Si quieres instalarlo:

sudo apt-get install fdupes


Si usas windows puedes buscar "findrepe" y actualmente en google saldrá una única entrada (la mía) o esperar a la versión java que puede tardar otros 4 años (o no!!!).

2008-06-21

audacious 1.5.0

Estaba yo tan contento con mi xmms en debian etch y despues de pasarme a ubuntu 8.04 intento escuchar música y veo que no hay forma de poner un xmms decente, sólo xmms2 y sus amiguitos. ¿Para que lo cambian si era perfecto?

He estado buscando un reemplazo decente, esperanza, Rhythmbox, jlgui, ... ninguno me gusta, yo quiero mi xmms. Por fin hoy he encontrado audacious es como xmms o winamp tiene prácticamente las mismas opciones y posibilidades, al menos para un uso básico.



Además tiene un pluggin para ejecutar comandos al cambiar de canción, así que a desempolvar lame y jxmms (este segundo no lo conoces, por ahora es un programa privado, que no privativo, y puede que le cambie el nombre por jaudacius o que se yo). Porque hasta las opciones para línea de comandos son similares.
franci@epi:~$ audacious --help
Uso:
audacious [OPCIÓN...] - play multimedia files

Opciones de ayuda:
-?, --help Mostrar opciones de ayuda
--help-all Mostrar todas las opciones de ayuda
--help-gtk Mostrar opciones GTK+
--help-sm-client Show Session Management options

Opciones de la aplicación:
-r, --rew Saltar hacia atrás en la lista de reproducción
-p, --play Empezar la reproducción de la lista de reproducción actual
-u, --pause Pausar la canción actual
-s, --stop Parar la canción actual
-t, --play-pause Pausar si se está reproduciendo, o reproducir
-f, --fwd Saltar hacia adelante en la lista de reproducción
-j, --show-jump-box Display Jump to File dialog
-e, --enqueue No limpiar la lista de reproducción
-E, --enqueue-to-temp Add new files to a temporary playlist
-m, --show-main-window Display the main window
-a, --activate Display all open Audacious windows
-H, --headless Enable headless operation
-N, --no-log Print all errors and warnings to stdout
-v, --version Show version and builtin features
--display=VISOR Visor [display] X a usar

2008-04-12

IA memory ordering

This is a great talk that every one how wants to be an "expert" in java should watch.

2008-04-11

El juego de la vida (Game of Life)

La primera vez que vi "El juego de la Vida" fue en la revista "Scientific American" edición española en la biblioteca municipal, en tiempos en los que aun no tenia ordenador. Estaba buscando información para un trabajo sobre virus para biología de COU.

El mes pasado lo vi de nuevo en algún sitio en internet y me dije, tengo que hacer uno en java (en C y C++ ya lo hice hace años). Pues aquí está, un poco tosco y simplón pero es que estoy empezando en java.