[BETA] Advanced HEM Filters - Programa + tutorial
¿Alguna posibilidad de que sea open source?
- Inicie sesión o registrese para enviar comentarios
Nueva version 1.3 de AHF:
https://rapidshare.com/files/3602540780/AdvancedHEMFilters.zip
http://www.megaupload.com/?d=8U81Q7E4
Mejoras:
- Corregidos datos por posicion que aparecian cambiados
- Añadido checkbox "Adjust to Max Winned/Losed" que evita los cruces o colusiones entre varios usuarios y unicamente centra las busquedas directamente en lo máximo y minimo ganado. Por defecto esta seleccionado
Con este checkbox seleccionado, podeis hacer la prueba global de manos. Los datos coincidiran practicamente:
Ejemplo
VPIP 0-100
783 manos, 39,91 $ ganados
VPIP 0 - 40
588 manos, 4.69 $ ganados
VPIP 41-100 (no 40 porque incluiria a los de la anterior parte)
195 manos, 35,22 $ ganados
La suma concuerda con el total
Comprobadlo vosotros mismos, pero los totales deben coincidir casi igual.
Esto evita que en varias busquedas te salga el mismo bote cuando hay varios jugadores en la mano que han foldeado O las ciegas han foldeado.
- Inicie sesión o registrese para enviar comentarios
Eres un crack tio!!!!!
- Inicie sesión o registrese para enviar comentarios
Lo has probado ?
- Inicie sesión o registrese para enviar comentarios
A medida que vayais probando la version 1.3 id comentandome si todo funciona correctamente, si os devuelve los datos, si os marca bien, etc.
La semana que viene creare la ventana de filtros de 3bet por posicion y demas datos del HUD. Luego habia pensado poder guardar configuraciones y tambien crear reports automáticos (por ejemplo, que examine las ultimas 20000 manos con datos vs tight, vs loose, vs 3bet por posicion que hayamos ido all-in, etc).
- Inicie sesión o registrese para enviar comentarios
no lo siento es que no estoy en casa!!!
- Inicie sesión o registrese para enviar comentarios
Ah ok ok. Si alguien se baja la version 1.3 que me diga si le funciona correctamente.
- Inicie sesión o registrese para enviar comentarios
Recordaros que la version que hay ahora en el primer post es anticuada. La nueva es la 1.3:
Nueva version 1.3 de AHF:
https://rapidshare.com/files/3602540780/AdvancedHEMFilters.zip
http://www.megaupload.com/?d=8U81Q7E4
A ver si mañana puedo conseguir que me cambien los enlaces del post :)
- Inicie sesión o registrese para enviar comentarios
Bueno de momento lo he bajado y parece que funciona bien, tengo que trastear más con él, pero está bien!!!
ahora a ver si puedes hacer que sea un alias en vez de 1 jugador por red!!!
- Inicie sesión o registrese para enviar comentarios
Ok, me lo apunto para tratarlo despues porque es complicado jugar con ALIAS en la BBDD.
Mientras tanto os enseño que estoy haciendo con la 1.4, que trae más filtros y un configurador para guardarlos y exportarlos
Por ejemplo he creado un filtro VPIP>40 y Player Position BTN:
Miro una mano para ver si esta todo correcto y efectivamente:
Asi podeis guardar vuestros filtros.
- Inicie sesión o registrese para enviar comentarios
Veamos he hecho una muestra. Me he creado 4 filtros vsTights, vsLoose, vs fish40 vs fish60
GLOBAL (PREFLOP y POSTFLOP)
Manos confrontadas: 18199 de 32000 Total -39 cajas (coincide con holdem manager)
vs TIGHT: -21 cajas
vs LOOSE: -21 cajas
vs FISHES entre 40 y 60: -6 cajas
vs FISHES mas de 60: +9 cajas
Total: -39 cajas
GLOBAL PREFLOP TOTAL: -1 caja
vs TIGHT PREFLOP: +6 cajas
vs LOOSE PREFLOP: -1 caja
vs FISH40 PREFLOP: -4 cajas
vs FISH60 PREFLOP: -2 cajas
La suma coinficde con el total de -1 caja
GLOBAL POSTFLOP (ALLIN PREFLOP=FALSE SHOWFLOP=TRUE): -13 cajas
vs TIGHT POSTFLOP: -16 cajas
vs LOOSE POSTFLOP: -7 cajas
vs FISH 40 POSTFLOP: 1 cajas
vs FISH 60 POSTFLOP: 9 cajas
La suma coincide con el total de -13 cajas
GLOBAL POSTFLOP SHOWFLOP=TRUE: -38 cajas
vs TIGHT: -27 cajas
vs LOOSE: -19 cajas
vs FISH40: -2 cajas
vs FISH60: 10 cajas
La suma coincide con el total de -38 cajas
- Inicie sesión o registrese para enviar comentarios
¿Djose cuantos años llevas trabajando como programador?
De todas maneras me gustaría preguntarte unas cosas sobre programación, mándame un privado!
- Inicie sesión o registrese para enviar comentarios
Desde 2000 haciendo faenas de informatico, pero mas sobre todo en web. Preguntame lo que quieras cuando quieras ;)
- Inicie sesión o registrese para enviar comentarios
no puedo enviarte un mensaje privado...
Nose el motivo..
Si quieres pasame skype o msn para comentarte unas cositas :)
- Inicie sesión o registrese para enviar comentarios
Te he enviado un mensaje privado, deberia aparecerte en la parte de arriba paask.
- Inicie sesión o registrese para enviar comentarios
No me ha llegado nada.
- Inicie sesión o registrese para enviar comentarios
Agregame a skype Djose: nglantern
- Inicie sesión o registrese para enviar comentarios
Te agrego mañana si no te importa y por la mañana puedes preguntarme lo que quieras que lo tengo activado.
Bien, el configurador funciona perfectamente y estoy añadiendo de momento las variables mas comunes de preflop. Me falta añadir datos postflop y corregir algun que otro fallito del sistema.
Lo que si que advierto es que a veces tarda un poco en ejecutar la sentencia, debido a la cantidad de datos que tiene que mirar en cada mano, por lo que es facil que tarde unos 10 o 15 segundos si "llenamos" de condiciones el filtro.
- Inicie sesión o registrese para enviar comentarios
Me quedan dos detallitos del programa y subo la version 1.4. Paciencia
- Inicie sesión o registrese para enviar comentarios
Djose, ¿como me pongo en contacto contigo?
- Inicie sesión o registrese para enviar comentarios
Te añado al skype
- Inicie sesión o registrese para enviar comentarios
No me sale ninguna invitación para aceptar, de todas maneras solo quiero plantearte una cosita, haber si es posible hacerlo con programación
- Inicie sesión o registrese para enviar comentarios
jajaja, como paciencia, si te estas currando un programazo en cuestion de dias!
lo unico, no se si la funcionalidad que tiene esto la tiene el HM2, porque igual te estas pegando el curro y cuando salga el HM2 ya tiene esas cosas
en el caso de que no
- Inicie sesión o registrese para enviar comentarios
A mi tambien me gustaria saber si este tipo de informes personalizados los lleva ya el HEM 2. Pero no encuentro nada. ¿Alguien tiene el HEM 2 y puede decirnos si funciona o no?
paask, te he añadido ya
- Inicie sesión o registrese para enviar comentarios
+1
- Inicie sesión o registrese para enviar comentarios
HM2 no deja de utilizar una bdd en postgree, no creo que haya ningún problema. Te puedo pasar alguna licencia beta si la necesitas y vas probando ;)
- Inicie sesión o registrese para enviar comentarios
No entiendo a que te refieres, Campa. ¿que no utiliza la bbdd?.
- Inicie sesión o registrese para enviar comentarios
creo que indica todo lo contrario que sigue usando una bbdd de postgree
- Inicie sesión o registrese para enviar comentarios
Exacto, sigue utilizando una bdd de postgree y me da que muy similar. simplemente las modificaciones en las tablas vendrán de los nuevos valores que utiliza, que ya están en las últimas versiones de la bdd del HM1.
Imagino que funcionará igual todo en ambos.
- Inicie sesión o registrese para enviar comentarios
Ya no me queda casi nada. Voy a crear un instalador para que sea mas sencilla la instalación sin necesidad de ir al directorio y ejecutar el .exe.
- Inicie sesión o registrese para enviar comentarios
yo no lo decia porque sea incompatible sino porque si trae las funciones que esta programando djose pues la gente va a usar el hm y listo, que igual se toma las molestias de hacer el programa para que luego solo sea util para los que tengan el HM1
- Inicie sesión o registrese para enviar comentarios
Si, a eso me referia, si alguien sabe si el HM 2 permite hacer informes por patrones de rival y cosas parecidas.
- Inicie sesión o registrese para enviar comentarios
A mi de timeout al ejecutar...
- Inicie sesión o registrese para enviar comentarios
oye, me acabo de acordar de una cosa, una vez se me ocurrio programar un corrector del ev teniendo en cuenta la estrategia, sobretodo pensando en cuando metemos medio stack para meter siempre el otro medio en el flop
tu teniendo este programa ya hecho creo que seria muy facil, en el codigo donde va mostrando los datos, en el ev diff pones un if, si no ha habido AI preflop y si hero ha apostado preflop menos del 40% de su stack preflop muestras el ev diff de la BBDD, sino calculas el evdiff con el equity que teniamos preflop
a largo plazo da lo mismo, pero cuando miras una sesión si jugais ep20 o ep35 seguro que estais acostumbrados a que los botes mas grandes que perdisteis cada dia muchos son ROLs a medio stack + push en flop, o 3b a medio stack contra un fish...
¿como lo ves?
- Inicie sesión o registrese para enviar comentarios
tu teniendo este programa ya hecho creo que seria muy facil, en el codigo donde va mostrando los datos, en el ev diff pones un if, si no ha habido AI preflop y si hero ha apostado preflop menos del 40% de su stack preflop muestras el ev diff de la BBDD, sino calculas el evdiff con el equity que teniamos preflop
a largo plazo da lo mismo, pero cuando miras una sesión si jugais ep20 o ep35 seguro que estais acostumbrados a que los botes mas grandes que perdisteis cada dia muchos son ROLs a medio stack + push en flop, o 3b a medio stack contra un fish...
¿como lo ves?
que interesante......
como es este ajuste???
- Inicie sesión o registrese para enviar comentarios
¿Sobre cuantas manos lo estas haciendo?
oye, me acabo de acordar de una cosa, una vez se me ocurrio programar un corrector del ev teniendo en cuenta la estrategia, sobretodo pensando en cuando metemos medio stack para meter siempre el otro medio en el floptu teniendo este programa ya hecho creo que seria muy facil, en el codigo donde va mostrando los datos, en el ev diff pones un if, si no ha habido AI preflop y si hero ha apostado preflop menos del 40% de su stack preflop muestras el ev diff de la BBDD, sino calculas el evdiff con el equity que teniamos preflop
a largo plazo da lo mismo, pero cuando miras una sesión si jugais ep20 o ep35 seguro que estais acostumbrados a que los botes mas grandes que perdisteis cada dia muchos son ROLs a medio stack + push en flop, o 3b a medio stack contra un fish...
¿como lo ves?
¿Que es lo que tengo que hacer exactamente para hacer el calculo?
Acabo de terminar algo que queria hacer, un sistema que te ejecuta automaticamente TODOS los Filtros que selecciones y te devuelve un report como este (he copiado y pegado):
Filter: vsJugadoresTight
Hands:271 Total:6,929995 $ Total EV:4,509994 $
Filter: vsJugadoresLoose
Hands:302 Total:-0,9599957 $ Total EV:-8,900021 $
Filter: vsJugadoresFish
Hands:210 Total:33,94007 $ Total EV:25,71006 $
Filter: vsManiacos
Hands:40 Total:10,96 $ Total EV:2,639997 $
- Inicie sesión o registrese para enviar comentarios
Sobre 32000 manos (18199 manos de confrontaciones):
Filter: default
Hands:18199 Total:-396,0427 $ Total EV:-374,4748 $
Filter: vsJugadoresTight
Hands:7099 Total:-127,6998 $ Total EV:-147,8119 $
Filter: vsJugadoresLoose
Hands:7713 Total:-296,5805 $ Total EV:-222,1561 $
Filter: vsJugadoresFish
Hands:3387 Total:28,24034 $ Total EV:-4,499834 $
Filter: vsManiacos
Hands:382 Total:66,62995 $ Total EV:48,07011 $
- Inicie sesión o registrese para enviar comentarios
Filter: GuerraDeCiegasSBvBBcontraCiegasAgresivasDe25RAISEBBSTEALSB
Hands:248 Total:-34,88998 $ Total EV:-33,67998 $
- Inicie sesión o registrese para enviar comentarios
Una pantallita de como queda la version 0.4
Y el filter output para que se ejecuten los filtros preestablecidos:
- Inicie sesión o registrese para enviar comentarios
A mi de timeout al ejecutar...
¿Sobre cuantas manos lo estas haciendo?
Pues sobre muuuchas ya que me descargo cada día unas 500.000 manos gracias a una suscripción que pagué en una ágina de data mining........aunque mias no habrá más de 50.000
También mi equipo es un poco castaña :s
- Inicie sesión o registrese para enviar comentarios
A mi de timeout al ejecutar...¿Sobre cuantas manos lo estas haciendo?
Pues sobre muuuchas ya que me descargo cada día unas 500.000 manos gracias a una suscripción que pagué en una ágina de data mining........aunque mias no habrá más de 50.000
También mi equipo es un poco castaña :s
Me lo imaginaba. He subido el tiempo de conexión a 180 segundos de todas formas. Con 50k manos el programa tardara unos segundos debido a todos los datos que tiene que examinar:
Aqui teneis la version 0.1.4:
https://rapidshare.com/files/3595530558/AHFsetup014.zip
Viene con autoinstalador, asi es mas facil.
Decidme si se os baja bien y funciona.
- Inicie sesión o registrese para enviar comentarios
Para crear un nuevo filtro pulsad en NEW
Una vez dentro os aparecera una pantalla parecida a la del HUD de Holdem Manager. Debeis dar un nombre al nuevo filtro, seleccionar min blinds y min hands (si quereis) y luego ir añadiendo Stats al filtro.
Para hacer una prueba poned "General > VPIP" y rango 0 - 30.
Guardais el filtro, seleccionais un rango (Arriba a la derecha), lo seleccionais y le dais a "Execute".
- Inicie sesión o registrese para enviar comentarios
Olvidad la anterior version, la buena es esta:
- Inicie sesión o registrese para enviar comentarios
Una filtro para que hagais pruebas. Teneis que renombrarlo a .xml ya que educapoker no deja subir archivos .xml. Sin embargo, para la proxima version pondre extension .filter tambien.
- Inicie sesión o registrese para enviar comentarios
pongo un ejemplo, NL50, tengo 13.49$, un fish con mas stack limpea con TT y yo en BB con AJo subo a 6.5 y el fish paga, en este momento tengo un 43% de equity
lo que yo se es que voy a pusear todos los flops, pero el HM no, en el flop meto los 6.99 restantes y el fish paga, es T33 y tengo un equity del 0.7%
el bote total habiendo descontado el rake que me llevaria al ganar la mano es 26.11$, y que el ev$diff que marca el HM es 0.18$ mientras que si tenemos que cuenta que es como si estuviese llendo AI preflop porque pusheo todos los flops, deberia ser 26.11*0.43=11.23$
a la larga se iguala, pero en esa sesión el $(ev adjusted) queda deformado, pongo este ejemplo porque es de los casos mas graves
lo que propongo, es hacer una pequeña modificación para que el ev "comprenda un poco mejor nuestra estrategia" es que en la tabla modifiques el equity que se muestra y el ev$diff cuando no hubo AI preflop y hemos metido preflop mas del 40% del stack
el evdiff cuando ganaste es un numero negativo que sale de multiplicar lo que has ganado por la equity de tu rival, cuando pierdes es positivo y sale de multiplicar lo que habrias ganado por tu equity
voy a tener en cuenta que nuestro equity en la variable esta puesto como un real de 0 a 1, si esta de 0 a 100 pues es dividir entre 100 y pista
if(AIpreflop==false && BBsPutPreflop > stack*0.4){
if(heroWon=true){
evdiff= evdiff/(100-equity) * (100-equityPreflop); //bote que ganamos sin rake por el equity del rival preflop
equity= preflopEquity;
}else{
evdiff= evdiff/equity * equityPreflop; //bote que ganariamos * nuestra equity preflop
equity=preflopEquity;
}
}
esto habria que hacerlo antes de que se cargue en la tabla los datos que sacas de la base de datos, o quizas mejor irlo modificando mientras los cargas(si es con un bucle)
no se si para muchas manos esto ralentizaria el programa, igual es cosa de poner un checkbox que se llame corregir el ev para movimientos a 1/2stack + push o algo asi, tambien se puede poner un if delante rollo (equity!=NULL), porque en solo lo hay en las manos que llegan al SD
- Inicie sesión o registrese para enviar comentarios
Otro enlace más por si no os funciona rapidshare:
- Inicie sesión o registrese para enviar comentarios
lo que yo se es que voy a pusear todos los flops, pero el HM no, en el flop meto los 6.99 restantes y el fish paga, es T33 y tengo un equity del 0.7%
el bote total habiendo descontado el rake que me llevaria al ganar la mano es 26.11$, y que el ev$diff que marca el HM es 0.18$ mientras que si tenemos que cuenta que es como si estuviese llendo AI preflop porque pusheo todos los flops, deberia ser 26.11*0.43=11.23$
a la larga se iguala, pero en esa sesión el $(ev adjusted) queda deformado, pongo este ejemplo porque es de los casos mas graves
lo que propongo, es hacer una pequeña modificación para que el ev "comprenda un poco mejor nuestra estrategia" es que en la tabla modifiques el equity que se muestra y el ev$diff cuando no hubo AI preflop y hemos metido preflop mas del 40% del stack
el evdiff cuando ganaste es un numero negativo que sale de multiplicar lo que has ganado por la equity de tu rival, cuando pierdes es positivo y sale de multiplicar lo que habrias ganado por tu equity
voy a tener en cuenta que nuestro equity en la variable esta puesto como un real de 0 a 1, si esta de 0 a 100 pues es dividir entre 100 y pista
if(AIpreflop==false && BBsPutPreflop > stack*0.4){
if(heroWon=true){
evdiff= evdiff/(100-equity) * (100-equityPreflop); //bote que ganamos sin rake por el equity del rival preflop
equity= preflopEquity;
}else{
evdiff= evdiff/equity * equityPreflop; //bote que ganariamos * nuestra equity preflop
equity=preflopEquity;
}
}
esto habria que hacerlo antes de que se cargue en la tabla los datos que sacas de la base de datos, o quizas mejor irlo modificando mientras los cargas(si es con un bucle)
no se si para muchas manos esto ralentizaria el programa, igual es cosa de poner un checkbox que se llame corregir el ev para movimientos a 1/2stack + push o algo asi, tambien se puede poner un if delante rollo (equity!=NULL), porque en solo lo hay en las manos que llegan al SD
Vale, ya me queda claro. Mañana le pegare un vistazo para ver si pudieramos hacer estas modificaciones en el EV. Todas estas mejoras comentadmelas y yo las pongo sin problemas.
Mientras, ¿puedes probar a ver si te funciona correctamente la nueva version para ir asi poco a poco dando pasitos?.
- Inicie sesión o registrese para enviar comentarios
Que crack que eres.... mañana me descargo la nueva version!!!!
- Inicie sesión o registrese para enviar comentarios
bueno, he estado usandolo y no me he topado ningun bug de momento
- Inicie sesión o registrese para enviar comentarios
si primero lo digo... creo que hace falta ejecutarlo con privilegios de admin al instalarse en archivos de programa
System.UnauthorizedAccessException: Acceso denegado a la ruta de acceso 'C:\Program Files\Advanced Holdem Filters\config.xml'.
en System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
en System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
en System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
en System.Xml.XmlTextWriter..ctor(String filename, Encoding encoding)
en WindowsApplication1.Form1.Form1_FormClosing(Object sender, FormClosingEventArgs e) en C:\Documents and Settings\Jose\Mis documentos\Visual Studio 2008\Projects\AdvancedHEMFilters\AdvancedHEMFilters\Form1.vb:línea 1575
en System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e)
en System.Windows.Forms.Form.WmClose(Message& m)
en System.Windows.Forms.Form.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
y provando a ponerlo en una carpeta en otra particion, al volver a abrir le di encima de la columna manos para seleccionar usuario y:
System.ArgumentOutOfRangeException: El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
Nombre del parámetro: index
en System.Collections.ArrayList.get_Item(Int32 index)
en System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
en System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
en WindowsApplication1.Form3.DataGridView1_CellContentClick(Object sender, DataGridViewCellEventArgs e) en C:\Documents and Settings\Jose\Mis documentos\Visual Studio 2008\Projects\AdvancedHEMFilters\AdvancedHEMFilters\Form3.vb:línea 36
en System.Windows.Forms.DataGridView.OnCellContentClick(DataGridViewCellEventArgs e)
en System.Windows.Forms.DataGridView.OnCommonCellContentClick(Int32 columnIndex, Int32 rowIndex, Boolean doubleClick)
en System.Windows.Forms.DataGridViewCell.OnMouseUpInternal(DataGridViewCellMouseEventArgs e)
en System.Windows.Forms.DataGridView.OnCellMouseUp(DataGridViewCellMouseEventArgs e)
en System.Windows.Forms.DataGridView.OnMouseUp(MouseEventArgs e)
en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.DataGridView.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
lo he vuelto a abrir desde la carpeta que copie en la otra particion y me recuerda la base de datos y me deja escoger jugador, y por curiosidad la he borrado y vuelto a copiar y he seleccionado base de datos y usuario sin problema
creo que lo mejor seria que el archivo de configuración se guarde en una carpeta dentro de la carpeta de usuario(C:\Users\usuario\AppData\Local\AHK por ejemplo), que creo que ahi si tendrias permiso de escritura, o puedes distribuirlo en plan portable que donde lo ponga el usuario va a tener permisos fijo, o que haya que ejecutarlo como administrador, pero bueno, creo que es el peor remedio, puedes hacer un catch de UnauthorizedAccessException y si salta pues guardas la configuración en appdata
PD: visual basic?? :S
- Inicie sesión o registrese para enviar comentarios
Paginación