Para los preocupados por los nuevos VPPs

    • DeluxeSamy
      DeluxeSamy
      Bronce
      Registro: 09-02-2011 Artículos: 1.852
      Hola!

      Muchos estáis intentando calcular los nuevos VPPs. Os dejo los pasos para saber en 3 minutos y según vuestros stats, qué VPPs habríais logrado para que podáis compararlo con los reales.

      (Si no se ve bien la imagen, descargar desde aquí: http://www.megaupload.com/?d=RUGC4740). Debajo os describo los pasos.


      Uploaded with ImageShack.us

      Pasos (sólo para HM1):
      Abrir el pgadmin III
      Click en PostgreSQL. La contraseña suele ser postgresql.
      Seleccionar nuestra base de datos.
      Darle al botón que tiene una lupa y 'SQL' escrito o bien un papel con 'SQL' escrito (la descripción del botón se llama 'Execute Arbitrary SQL queries'.

      Copiar el script en la ventana que sale y darle al F5.

      Esperar un par de horas a que termine la consulta de toda la BD. Veremos dos resultados, uno los VPPs obtenidos y otro los que hubieramos obtenido con el nuevo sistema.

      El script a copiar es el siguiente:
      create or replace function amountPreflopInvested(tn playerhandscashmisc, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.postamountpreflop + tn.betamountpreflop + tn.callamountpreflop;
      select max(pre.postamountpreflop + pre.betamountpreflop + pre.callamountpreflop) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc pre using (playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;

      create or replace function amountFlopInvested(tn playerhandsflop, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(flop.betamount+flop.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsflop flop using(playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;

      create or replace function amountTurnInvested(tn playerhandsturn, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(turn.betamount+turn.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsturn turn using(playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;

      create or replace function amountRiverInvested(tn playerhandsriver, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(river.betamount+river.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsriver river using(playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;


      select count(*) as "Hands", sum(round(b.rakeamount))/100.0 as "Rake dealt",
      sum ( round(a.rakeamount * 1.* (
      case when (b.maxstreetseen=0 or b.streetwentallin=1) then (amountPreflopInvested(c, a.pokerhand_id))
      when (b.maxstreetseen=1 or b.streetwentallin=2) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + amountFlopInvested(f, a.pokerhand_id))
      when (b.maxstreetseen=2 or b.streetwentallin=3) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + amountTurnInvested(t, a.pokerhand_id))
      else (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + t.betamount + t.callamount + amountRiverInvested(r, a.pokerhand_id)) end
      ) / (a.potsize))
      ) / 100.0 as "WC Rake"
      from pokerhands a join playerhandscashkeycolumns b using (pokerhand_id) join playerhandscashmisc c using (playerhand_id)
      left join playerhandsflop f using(playerhand_id) left join playerhandsturn t using(playerhand_id) left join playerhandsriver r using(playerhand_id)
      where ishero and potsize>0 and a.handtimestamp>'2011-01-01 00:00:00' and a.site_id=2;



      Yo pierdo poquito porque juego SH y bastantel loose, pero creo que los jugadores de FR, otras modalidades y tirando a nits, perdéis mucho rakeback :(

      Samy
  • 128 respuestas
    • deivisz
      deivisz
      Bronce
      Registro: 03-14-2011 Artículos: 1.179
      Hola Samy, antes de nada, no soy capaz de visualizarla en grande, por lo que no veo nada!

      Por otra parte, yo juego FR y suelo ser un 16/14, estoy notando desde el cambio muchísimos menos VPPs, por lo que si sigo así no voy a mantener el status Platinum en PS..

      Crees conveniente pasarse a SH o ser mucho mas loose en FR?

      Saludos
    • ceresc
      ceresc
      Bronce
      Registro: 03-25-2011 Artículos: 96
      original de DeluxeSamy
      Hola!

      Muchos estáis intentando calcular los nuevos VPPs. Os dejo los pasos para saber en 3 minutos y según vuestros stats, qué VPPs habríais logrado para que podáis compararlo con los reales.

      (Si no se ve bien la imagen, descargar desde aquí: http://www.megaupload.com/?d=RUGC4740)


      Uploaded with ImageShack.us


      El script a copiar es el siguiente:

      create or replace function amountPreflopInvested(tn playerhandscashmisc, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.postamountpreflop + tn.betamountpreflop + tn.callamountpreflop;
      select max(pre.postamountpreflop + pre.betamountpreflop + pre.callamountpreflop) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc pre using (playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;

      create or replace function amountFlopInvested(tn playerhandsflop, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(flop.betamount+flop.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsflop flop using(playerhand_id) where pokerhand_id=pkh_id and n...xstreetseen=0 or b.streetwentallin=1) then (amountPreflopInvested(c, a.pokerhand_id))
      when (b.maxstreetseen=1 or b.streetwentallin=2) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + amountFlopInvested(f, a.pokerhand_id))
      when (b.maxstreetseen=2 or b.streetwentallin=3) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + amountTurnInvested(t, a.pokerhand_id))
      else (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + t.betamount + t.callamount + amountRiverInvested(r, a.pokerhand_id)) end
      ) / (a.potsize))
      ) / 100.0 as "WC Rake"
      from pokerhands a join playerhandscashkeycolumns b using (pokerhand_id) join playerhandscashmisc c using (playerhand_id)
      left join playerhandsflop f using(playerhand_id) left join playerhandsturn t using(playerhand_id) left join playerhandsriver r using(playerhand_id)
      where ishero and potsize>0 and a.handtimestamp>'2011-01-01 00:00:00' and a.site_id=2;



      Yo pierdo poquito porque juego SH y bastantel loose, pero creo que los jugadores de FR, otras modalidades y tirando a nits, perdéis mucho rakeback :(

      Samy
      Gracias Samy, pero a mí me da error :( :( :(

      "ERROR: unterminated dollar-quoted string at or near "$$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount; .............................."
    • DeluxeSamy
      DeluxeSamy
      Bronce
      Registro: 09-02-2011 Artículos: 1.852
      @Deiviz: he explicado los pasos, son muy sencillos, míralo o descarga la imagen y podrás calcularlo ;)

      @Ceresc: has copiado bien la query? Por otra parte, sólo funciona en HM1.

      Samy
    • IraBa
      IraBa
      Bronce
      Registro: 05-24-2011 Artículos: 5.070
      Ayer hice este video medio sobao, pero creo que es bastante sencillo de seguir, espero que os sirva, no veo muy bien la imagen, espero no haberme colado y que sea el mismo metodo, si me he colao pls decidme que lo borro...



      * he bajado la imagen si, me parece que es el mismo metodo
    • pirincho22
      pirincho22
      Bronce
      Registro: 09-26-2010 Artículos: 7.203
      Samy a mi tmb me tira error..te dejo una cap y lo que dice el error

      CAP:




      ERROR:

      ERROR: unterminated dollar-quoted string at or near "$$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(flop.betamount+flop.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsflop flop using(playerhand_id) where pokerhand_id=pkh_id and n...xstreetseen=0 or b.streetwentallin=1) then (amountPreflopInvested(c, a.pokerhand_id))
      when (b.maxstreetseen=1 or b.streetwentallin=2) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + amountFlopInvested(f, a.pokerhand_id))
      when (b.maxstreetseen=2 or b.streetwentallin=3) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + amountTurnInvested(t, a.pokerhand_id))
      else (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + t.betamount + t.callamount + amountRiverInvested(r, a.pokerhand_id)) end
      ) / (a.potsize))
      ) / 100.0 as "WC Rake"
      from pokerhands a join playerhandscashkeycolumns b using (pokerhand_id) join playerhandscashmisc c using (playerhand_id)
      left join playerhandsflop f using(playerhand_id) left join playerhandsturn t using(playerhand_id) left join playerhandsriver r using(playerhand_id)
      where ishero and potsize>0 and a.handtimestamp>'2011-01-01 00:00:00' and a.site_id=2;"
      LINE 12: ...ed(tn playerhandsflop, pkh_id integer) returns integer AS $$
      ^

      ********** Error **********

      ERROR: unterminated dollar-quoted string at or near "$$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(flop.betamount+flop.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsflop flop using(playerhand_id) where pokerhand_id=pkh_id and n...xstreetseen=0 or b.streetwentallin=1) then (amountPreflopInvested(c, a.pokerhand_id))
      when (b.maxstreetseen=1 or b.streetwentallin=2) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + amountFlopInvested(f, a.pokerhand_id))
      when (b.maxstreetseen=2 or b.streetwentallin=3) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + amountTurnInvested(t, a.pokerhand_id))
      else (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + t.betamount + t.callamount + amountRiverInvested(r, a.pokerhand_id)) end
      ) / (a.potsize))
      ) / 100.0 as "WC Rake"
      from pokerhands a join playerhandscashkeycolumns b using (pokerhand_id) join playerhandscashmisc c using (playerhand_id)
      left join playerhandsflop f using(playerhand_id) left join playerhandsturn t using(playerhand_id) left join playerhandsriver r using(playerhand_id)
      where ishero and potsize>0 and a.handtimestamp>'2011-01-01 00:00:00' and a.site_id=2;"
      SQL state: 42601
      Character: 654



      EDIT: samy me parece que le falta un pedaso al scrip..el segundo BEGIN no tiene END. Subilo en un .txt a MU y lo bajamos de ahi sino
    • IraBa
      IraBa
      Bronce
      Registro: 05-24-2011 Artículos: 5.070
      A mi la query esta tb me da error
    • DeluxeSamy
      DeluxeSamy
      Bronce
      Registro: 09-02-2011 Artículos: 1.852
      Buenas,

      Acabo de tirar el siguiente script (que va bien, no se si es el mismo de arriba o no, pero el que tenía a mano lo he metido a copy-paste; edito el OP, creo que no se me copió entero):



      create or replace function amountPreflopInvested(tn playerhandscashmisc, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.postamountpreflop + tn.betamountpreflop + tn.callamountpreflop;
      select max(pre.postamountpreflop + pre.betamountpreflop + pre.callamountpreflop) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc pre using (playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;

      create or replace function amountFlopInvested(tn playerhandsflop, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(flop.betamount+flop.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsflop flop using(playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;

      create or replace function amountTurnInvested(tn playerhandsturn, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(turn.betamount+turn.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsturn turn using(playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;

      create or replace function amountRiverInvested(tn playerhandsriver, pkh_id integer) returns integer AS $$
      DECLARE
      amount integer := 0;
      other integer := 0;
      BEGIN
      amount := tn.betamount + tn.callamount;
      select max(river.betamount+river.callamount) into other from pokerhands join playerhandscashkeycolumns using (pokerhand_id) join playerhandscashmisc using (playerhand_id) join playerhandsriver river using(playerhand_id) where pokerhand_id=pkh_id and not ishero;
      return least(amount, other);
      END;
      $$ language plpgsql;


      select count(*) as "Hands", sum(round(b.rakeamount))/100.0 as "Rake dealt",
      sum ( round(a.rakeamount * 1.* (
      case when (b.maxstreetseen=0 or b.streetwentallin=1) then (amountPreflopInvested(c, a.pokerhand_id))
      when (b.maxstreetseen=1 or b.streetwentallin=2) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + amountFlopInvested(f, a.pokerhand_id))
      when (b.maxstreetseen=2 or b.streetwentallin=3) then (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + amountTurnInvested(t, a.pokerhand_id))
      else (c.postamountpreflop + c.betamountpreflop + c.callamountpreflop + f.betamount + f.callamount + t.betamount + t.callamount + amountRiverInvested(r, a.pokerhand_id)) end
      ) / (a.potsize))
      ) / 100.0 as "WC Rake"
      from pokerhands a join playerhandscashkeycolumns b using (pokerhand_id) join playerhandscashmisc c using (playerhand_id)
      left join playerhandsflop f using(playerhand_id) left join playerhandsturn t using(playerhand_id) left join playerhandsriver r using(playerhand_id)
      where ishero and potsize>0 and a.handtimestamp>'2011-01-01 00:00:00' and a.site_id=2;








      En mi caso: rake dealt 111.375
      WC Rake 104275


      Samy
    • IraBa
      IraBa
      Bronce
      Registro: 05-24-2011 Artículos: 5.070
      Este si va, por curiosidad samy, te dan los mismo resultados que el otro que pusiste antes???

      en mi caso para llorar 40% menos XDDD


      saludos

      * Si quereis comprobar como esta el tema solo en 2012, al final del script hay una fecha que en el pgAdmin sale en rosa, cambiais el 2011 por 2012 y ya esta...
    • Pantxo2
      Pantxo2
      Bronce
      Registro: 07-08-2010 Artículos: 12.329
      ami en el PC de la pelu me sale esto

      el primer valor 2376 y el segundo 2251

      que significa? xD
    • w1nnahhhhhh
      w1nnahhhhhh
      Bronce
      Registro: 07-27-2009 Artículos: 1.251
      original de Pantxo2
      ami en el PC de la pelu me sale esto

      el primer valor 2376 y el segundo 2251

      que significa? xD
      Ami me dio esto y estoy como vos.. que no se lo q significa :D


    • monroymx
      monroymx
      Bronce
      Registro: 03-05-2010 Artículos: 1.202
      yo juego plo y ami me dio 32% menos... =/
    • DeluxeSamy
      DeluxeSamy
      Bronce
      Registro: 09-02-2011 Artículos: 1.852
      Lo pone abajo chicos.

      Rake dealt son los antiguos y WC los nuevos.

      Samy
    • Miguel43
      Miguel43
      Black
      Registro: 01-30-2010 Artículos: 2.792


      Con el nuevo rake estoy perdiendo un 25% de VPPs

      GRACIAS POKERSTARS

      :facepalm: :facepalm: :facepalm:
    • Gusano21
      Gusano21
      Bronce
      Registro: 06-23-2009 Artículos: 3.294
      ERROR: CREATE DATABASE cannot be executed from a function or multi-command string

      ********** Error **********

      ERROR: CREATE DATABASE cannot be executed from a function or multi-command string
      Estado SQL:25001


      EDIT: :(
    • jotaele256
      jotaele256
      Bronce
      Registro: 11-07-2010 Artículos: 317
      Es posible que pokerstars vuelva al sistema anterior, o modifique de alguna forma el nuevo sistema??

      Me parece increible perder el 30% de rakeback, asi por la cara. Lo que tiene el monopolio....
    • juanra016
      juanra016
      Platino
      Registro: 09-07-2008 Artículos: 3.309
      juajuajua no creo q puedan perder tanto, demas q samy debe estar omitiendo algo pq es mucho.

      de todas maneras veo q la perdida es mucho mas brusca q cuando ftp hizo el cambio...

      y yo q tengo pensado ir por el supernova....

      será que tocara jugar 20/18 para que sea rentable?
    • olender
      olender
      Bronce
      Registro: 09-22-2009 Artículos: 10
      muy buena la query esta. Pero se me hace raro que me de que solo pierdo un 5.7% de RB, eso que juego FR


    • franchusnm
      franchusnm
      Black
      Registro: 06-21-2008 Artículos: 2.526
      pierdo un 17% :(
    • pirincho22
      pirincho22
      Bronce
      Registro: 09-26-2010 Artículos: 7.203
      pierdo un 27% ¬¬..y juego 15/13 en FR..no es que juego 10/9, me cago en stars..¬¬