Sistema Experto Bittrex.... AVANZANDO hacia el BOT 0.0.1 [Machine Learning]

in #spanish7 years ago (edited)

Nuevas ideas de Trading para implementar a un BOT, TODO en PYTHON... Espero les Guste:

Para los que me siguen y han visto el código que he ido Subiendo para el Sistema Experto en Bittrex tendrán algunas ideas de lo que podremos hacer con un sistema así, este sistema esta pensado para Bittrex pero según algunas pruebas que he hecho de una manera sencilla podre adaptarlo a Poloniex o cualquier Sistema de Trading que tenga una API RESTFULL.

fuente : http://www.numberphile.com/videos/homer_fermat.html

Para los que no sepan de que se trata:

Un sistema Experto es un Programa capaz de tomar decisiones automáticas según algunos patrones, hablamos de Inteligencia Artificial pero no avanzada son mas Bien reglas como la de un Firewall para bloquear ciertos paquetes de ciertos IPs o Filtrar de una manera algunos y otros no... Esa es básicamente la estrategia que Voy a seguir...

Que es lo que estoy haciendo?


Básicamente Extrayendo Datos de varias APIs por ahora solo de http://coinmarketcap.com y https://bittrex.com, para generar algunas Listas que nos servirán como matrices para generar las estadísticas que conocemos, ya teniendo estas listas podemos analizar cual es nuestro Balance y analizar cuando Debemos Vender y obtener Dividendos...


Esto es muy fácil hacerlo nosotros mismos, pero lleva mucho tiempo y pasar toda una tarde así sea por dinero solo viendo el computador no es una buena idea ademas genera mucho ESTRÉS...


Pero dirán que por ejemplo Bittrex tiene este tipo de Compras y ventas, pero primero no es para todas las ALTCOINS y segundo no es tan maleable, y aquí es donde va a entrar la Inteligencia Artificial, al pasarle algunos parámetros o Reglas para que el Robot lleve una cuenta de como esperamos se comporte alguna moneda, por ejemplo si queremos que venda si el cambio es menor que 10% o mayor, ya voy a mostrar un ejemplo...

Ademas el Sistema es 100% en Python y no va a utilizar Bases de Datos, solo estructuras nativas de Python que nos servirán como Base de Datos en un sencillo TXT, así como las Reglas o Banderas para las Monedas que queramos las podemos colocar según lo que nos guste :D

También podemos poner en juego los diferentes mercados como por ejemplo los que aparecen en http://coinmarketcap.com/currencies/steem/#markets:


Ejemplo de una moneda,  ETH:


Primero debemos generar Datos estadísticos por ejemplo cada 5 Minutos:

Valor($)        Hora(hh:mm)

  300               13:00

  325              13:05

  285               13:10

  290               13:15

  300               13:20

  315              13:25

  310               13:30

Esto quedaría Así: Diccionario_ETH = {'valores':[ 300  ,  325     ,  285  , 290,   300 ,315 ,  310 ], 'horas': [13:00 ,  13:05   ,  13:10  ,    13:15   ,   13:20  ,   13:25 ,     13:30]   }

Cada Vez vamos a agregar 1 valor a el Precio y un valor a la Hora por dar un ejemplo en otra tabla tenemos una tabla de este Tipo:

+--------+------------------+----------------+---------------+

| Moneda |  Selling in BTC  | Selling in USD |   Queantity   |

+--------+------------------+----------------+---------------+

|  DASH  | 0.0225120472532  | 55.7387033966  |   0.34189404  |

|  DOGE  | 0.0277252854268  | 68.6464204526  | 25911.4817073 |

|  ETH   |  0.045653060402  | 113.034694902  |   0.43803846  |


Ahora Creo que es importante trabajar con Dolares y no con BTC pero dejare el Debate Abierto, por lo que simplemente podemos Analizar esto de Diferentes maneras, por ejemplo:

  • Colocar ordenes de Compra si el Valor Baja 50%
  • Colocar Ordenes de Compra si Ha tenido un Bajón pronunciado alguna moneda o dejamos el Sistema Cazando Monedas según algunos parámetros!
  • Por ejemplo si invertí 1 Dolar y llegara a bajar a casi 0.99 Vender...
Esta seria la manera normal de hacer Trading....

Ahora como lo he pensado:

  • Generar Tablas de Mercado y Comprar o Vender según se mueva uno de los mercados con menor Valor....
  • Agregar 1 piso por Día para Cada moneda, por ejemplo si tengo 100$ en una moneda y sube 50% en un Día por ejemplo llegaría a costar 150 Dolares pero quizás por tener un crecimiento muy pronunciado va a bajar rápidamente quizás 30%, por lo que podríamos vender el 75% en ese momento con lo que estaríamos Ganando y cuando haya bajado digamos 20% comprar nuevamente luego de 10 o 20 minutos para dar chance a que se estabilice... 
  • Colocar ordenes de Compra si llegara a bajar a un Valor esperado, y vender si bajara aun mas de un valor esperado y también vender si volviera a subir mas de lo esperado, para eso podríamos usar algunos datos que quizás lleguemos a dar nosotros en STEEMIT

Lo que mas me ha gustado es la Idea sobre el Piso de Vender solo un Porcentaje y seguir vendiendo si sigue Bajando pero comprar si llegara a estabilizarse nuevamente con lo que siempre ganaríamos mas de lo esperado que es la idea de todo esto....

LAS REGLAS del SISTEMA:

Serán del TIPO: 

  • ETH  +10% in 35 min sell 70%
  • ETH  +20% in 45 min sell 80%
  • ETH  +30% in 55 min sell 90%
  • ETH  -05% in 5 min sell 30%
  • ETH  -10% in 10 min sell 60%
  • ETH floor 100$ if 24Hrs +10% new floor 110$, if 24Hrs -10% in VALUE sell ALL

Todo esto seran TXT, 1 TXT para el Balance, 1 TXT para las Reglas y 1 TXT para la evolución de las Monedas... Se ve interesante que opinan, escucho consejos :D


Dios les Bendiga.




Sort:  

La idea del piso es genial ya que puedes vender una parte y seguir trabajando con esa moneda mientras veas que hay ganancia. Parametrizar cuando quieras vender todo si el sistema detecta que puedes dejar de ganar.

Exactamente amigo veo que lo has comprendido Bien :D
Saludos, gracias Por comentar

Muy buena iniciativa! Gracias por compartirla!

Muchas Gracias a ustedes por el apoyo y bueno ya casi terminamos la primera Fase espero que sea de Provecho para los Compañeros que por aqui pasen :D
Saludos

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 58664.80
ETH 2569.75
USDT 1.00
SBD 2.42