Jump to content

suelsilva

Membro Inativo
  • Posts

    102
  • Joined

  • Last visited

Posts posted by suelsilva

  1. 4 horas atrás, Sphgf disse:

    Olá, desculpe a intromissão na discussão.

    Mas a questão já é de domínio, trata-se da questão do valor esperado.

    P/a Lotofácil o valor é R$ 0,29 para cada real apostado, veja o quadro.

     

    image.png.2ee76e53ea164a09c1c7c40f432e2dbf.png

     

    A Lotomania vai depender dos valores efetivamente pagos:

     

    image.png.9eef36367ea648e7e94fe1cccb11c8db.png

     

     

    saudações,

    Sphgf

     

    @Sphgf

     

    Seja bem vindo e obrigado pela participação e contribuição.

     

    Nesta sua tabela a Lotomania teria um vantagem (quase nula) em relação a loto fácil, estou certo? 

     

    Mas claro, como você mencionou a Lotomania não tem prêmios fixos como na LF, então fica mais difícil calcular.

     

    Mas, de modo geral qual você escolheria? 

    • Like 1
  2. 4 horas atrás, walt disse:

    Trabalhei na Caixa alguns anos.

     

    Tem apostadores que trocam de nicks a todo instante e insistem em fazer as mesmas velhas perguntas.

     

    Sempre tudo do mesmo.

     

    Deveriam criar suas proprias loterias.

     

    Meu amigo Walt, 

     

    Não sei se isso foi alguma indireta (ou direta) mas... Eu nunca fiz parte deste fórum antes, muito menos tá fazendo as mesmas perguntas. 

     

    Claramente você foi arrogante e não contribuiu em nada. Se você se sentiu incomodado deveria nem ter aberto este tópico, muito menos respondido. 

  3. 30 minutos atrás, AFAS disse:

    Boa noite a todos , a lotomania na minha opinião, pelo DINHEIRO tanto pra apostar como na hora de ganhar. É em muito em breve começarei a postar meus bilhetes  e pra não perder o ritmo VAMOS PRA CIMA DOS MILHÕES.

     

    Afas, 

     

    Avaliando de longe a Lotomania, tenho a sensação que é melhor de se apostar e ter premiações mesmo. Talvez seja mais fácil criar estratégias em relação a Lotofacil. Você tem algumas dicas a dar? 

  4. Entendo que não exista uma melhor que a outra, cada modalidade tem suas características...

     

    Porém gostaria de saber de quem já estudou/estuda as duas, em sua opinião, qual a melhor de se obter resultados/estudos. 

     

    Não precisa citar as probabilidades de acerto de cada faixa de premiação. Isso eu já sei, só queria saber a opinião de quem estuda/estudou sobre as duas. 

     

    Como são bem diferentes, talvez uma seja melhor em se estudar e chegar a melhores premiações, independente das probabilidades.

     

    No momento estou estudando a Lotofacil, mas a Lotomania tem despertado meu interesse.

     

    E então, o que acham? 

  5. 3 horas atrás, DixieJoe disse:

    Já falei aqui que acertamos na antiga SENA (com 6 dezenas), acompanhando e esperando que voltasse determinado valor ATRASADO. Só não jogamos..... rsrsrs

     

    Essa Sena era aquela "Super Sena" ? Não sou desse tempo, mas já vi num vídeo o Taufic Darhal menciona-la.

     

    E como você fez a previsão ? Filtros ou dezenas diretamente ?

  6. 2 minutos atrás, Esporte disse:

    Estou procurando lucro positivo em pelo menos 75% de todos jogos para se tornarem consistentes. Que bom que vc mencionou pois achei que alguem aqui poderia achar ruim as postagens.

     

    Veja o que estou desenvolvendo é bem assim.

     

     

    75% nos jogos apostados, ou 75% das vezes? 

     

    Você tem tido algum êxito nisso? Tá dando certo? 

  7. Pessoal, 

     

    Apenas para reflexão... 

     

    Não será melhor estudar com objetivo de atingir 14pts ou até premiações menores?

     

    Sei que todo mundo aqui busca acertar os 15pts, mas acho que todos gostariam de acertar 14pts, 13pts tendo lucro e ainda estar correndo risco de acertar os 15.

     

    Em todo concurso haverá somente 1 combinação de 15PTS. Em todo concurso também sempre haverá 150 combinações que vão premiar 14pts. Ou seja, a chance é 150 vezes contra 1.

     

    Porém não sei na prática, estudando e aplicando filtros, como isso se sairia. 

     

    Alguém já tentou fazer isso? Estudar para acertar premiações menores? Se sim, como tem sido? Gostaria da opinião de todos que lerem isso. 

    • Like 1
    • Thanks 1
  8. Usar 80% das somas que mais ocorreu, elimina mais de 700mil combinações e garante 15pts em 8 concursos, a cada 10 concursos.

     

    Esse filtro não reduz tanto, mas acho que vale a pena deixar setado assim. Afinal a cada 10 concursos, em apenas 2 você perde os 15pts.

     

    Mas esse não é um filtro que deve ser usado sozinho, é apenas para complemento.

    _ _ _ _ _

     

    Estava pensando em aplicar o máximo de filtros possíveis dessa forma, assim a cada filtro, seria eliminadas mais combinações , restando o mínimo possível mais garantindo os 15pts em x concursos a cada y concursos. Porém como o @DixieJoe e @dois já mencionaram aqui, usar essa estratégia em muitos filtros vai acabar tirando os 15. Ainda não testei isso, mas também já imaginei que isso poderia acontecer.

     

    Mas podemos afirmar que independente de quantos filtros seja, se o valor correto daquele filtro estivar dentro do definido. Os 15 sempre vai tá nas combinações geradas. Isso sugere 2 coisas:

     

    1º) Usar poucos filtros, com poucos valores para cada filtro (abertura apertada)

     

    Para fazer isso, só prevendo o valor correto de cada filtro, em poucos valores definidos.

     

    Essa é a grande dificuldade aqui, conseguir acertar o valor de cada filtro em poucos valores definidos.

     

    Mas se alguém conseguisse isso, uma coisa é certa: grande quantidade de combinações seriam eliminadas. Mantendo os 15 em poucos cartões.

     

    Prós: 15pts em poucas combinações.

    Contras: Maior risco dos 15pts ficar de fora.

     

    2º) Usar muitos filtros, com muitos valores para cada filtro (abertura maior)

     

    Usar filtros com uma abertura maior, elimina poucas combinações,  certo? Mas se pudesse aplicar uma quantidade gigante de filtros ? Mesmo com uma abertura maior neles, vai ter uma redução boa, dependendo da quantidade e tipo de filtros aplicados.

     

    "A união faz a força"... "De grão em grão a galinha enche o papo"

     

    Cada filtro seria responsável por eliminar um pouco, mas juntando o poder de todos, poderia ser algo interessante. Essa 2ª opção pode se igualar a primeira, desde que sejam bons filtros e numa quantidade grande.

     

    Prós: Ter uma garantia maior dos 15pts

    Contras: Muitas combinações

     

    Agora eu pergunto: Qual o melhor caminho a ser seguido?

     

     

     

    • Like 1
  9. Pessoal,

     

    As vezes eu não consigo entender muitas coisas do vocês postam. Leio os tópicos aqui do fórum e sofro pra entender rsrs

     

    Eu não tô a muito tempo nesses estudos, então muitas definições não sei interpretar bem aqui. Então peço desculpas pela minha ignorância nesse sentido. Vocês já são acostumados aqui, eu cheguei agora. Mas aos poucos irei pegando o jeito. Se puderem indicar tópicos onde eu possa aprender a interpretar melhor as coisas aqui, definições,etc... eu agradeceria, pois facilitaria nos estudos.

    • Like 2
  10. 1 hora atrás, DixieJoe disse:

    @suelsilva 

     

    Aqui está minha procedure que aplica filtros.

    Espero que ajude em alguma coisa nos seus estudos:

     

    function TFrmTesteSets.SFiltrarConjunto( SConjunto: TLotto; ParaSorteio: Integer ): Boolean;
    var
        FiltroNum, Acertos, AcertosAtivos, Inicio, Fim, Item, Soma  : Integer;
      I, ContaGrN : Integer;
      arContaN    : array[ 0 .. 20 ] of Integer;
      ConjuntoS, TesteS, ValorS, SConjCONV, ConjParaSoma : TLotto;
      Cabeca, Linha, ValorAnalise, MinAceito, MaxAceito, TesteInicio, Testefim, TesteCabeca, TesteVezes : Integer;
      Bom : Boolean;
      Valor : String;
    begin
      Result            := True;         // Inicializa como CONJUNTO ACEITO ( TRUE )

      if cbUsarFiltrosBasicos.Checked then
           begin
            // Filtros FIXOS

              for FiltroNum := 1 to 147 do   //  Primeiros 147 filtros BAsicos ---- FILTROS FIXOS
                    begin
                    if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjunto, arSValorIntBasicos[ FiltroNum ], vMaiorDezena );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
                 end;

         // Filtros VARIÁVEIS - Daqui para Frente ....

             // Dezenas - Item 8 ---- QQR Posição
         for FiltroNum := 872 to 994 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjunto, arSValorIntBasicos[ FiltroNum ], vMaiorDezena );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;

             // Sistema 5 - Item 3 ---- QQR Posição
         for FiltroNum := 158 to 249 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  Item := 3; SConjCONV := SConverterItem( SConjunto, Item );
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjCONV, arSValorIntBasicos[ FiltroNum ], arMenorMaiorItem[ Item, 1 ] );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;


             // Grupo 4 - Item 4 ---- QQR Posição
         for FiltroNum := 260 to 351 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  Item := 4; SConjCONV := SConverterItem( SConjunto, Item );
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjCONV, arSValorIntBasicos[ FiltroNum ], arMenorMaiorItem[ Item, 1 ] );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;

             // Grupos Taufic - Item 5 ---- QQR Posição
         for FiltroNum := 362 to 453 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  Item := 5; SConjCONV := SConverterItem( SConjunto, Item );
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjCONV, arSValorIntBasicos[ FiltroNum ], arMenorMaiorItem[ Item, 1 ] );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;

             // Sistema 3 - Item 6 ---- QQR Posição
         for FiltroNum := 464 to 555 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  Item := 6; SConjCONV := SConverterItem( SConjunto, Item );
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjCONV, arSValorIntBasicos[ FiltroNum ], arMenorMaiorItem[ Item, 1 ] );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;

             // Sistema 2 - Item 7 ---- QQR Posição
         for FiltroNum := 566 to 657 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  Item := 7; SConjCONV := SConverterItem( SConjunto, Item );
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjCONV, arSValorIntBasicos[ FiltroNum ], arMenorMaiorItem[ Item, 1 ] );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;

             // UnDez - Item 1 ---- QQR Posição
         for FiltroNum := 668 to 759 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  Item := 1; SConjCONV := SConverterItem( SConjunto, Item );
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjCONV, arSValorIntBasicos[ FiltroNum ], arMenorMaiorItem[ Item, 1 ] );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;

             // UnUni - Item 2 ---- QQR Posição
         for FiltroNum := 770 to 861 do
            begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  Item := 2; SConjCONV := SConverterItem( SConjunto, Item );
                            arAnaliseBasicos[ FiltroNum ] := SContarAcertos( SConjCONV, arSValorIntBasicos[ FiltroNum ], arMenorMaiorItem[ Item, 1 ] );

                          if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                    end;
              end;


              // Filtros VARIAVEIS  ----- Mas, por POSIÇÃO ------ Para agilizar o processamento

          Item          := 8;       // ---- Dezenas - Item 8 -- Por POSIÇÃO
          I             := 0;
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 862 to 871 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;

          Item          := 3;       // ---- Sistema5 - Item 3 -- Por POSIÇÃO
          I             := 0;          // Posição I
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 148 to 157 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;

          Item          := 4;       // ---- Grupos 4 - Item 4 -- Por POSIÇÃO
          I             := 0;
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 250 to 259 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;

          Item          := 5 ;       // ---- Grupos Taufic - Item 5 -- Por POSIÇÃO
          I             := 0;
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 352 to 361 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;

          Item          := 6 ;       // ---- Sistema3 - Item 6 -- Por POSIÇÃO
          I             := 0;
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 454 to 463 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;

          Item          := 7 ;       // ---- Sistema2 - Item 7-- Por POSIÇÃO
          I             := 0;
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 556 to 565 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;

          Item          := 1 ;       // ---- UnDez - Item 1 -- Por POSIÇÃO
          I             := 0;
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 658 to 667 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;

          Item          := 2 ;       // ---- UnUni - Item 2 -- Por POSIÇÃO
          I             := 0;
          ConjuntoResS  := SConverterItemEmString( SConjunto, Item );

          For FiltroNum := 760 to 769 do
                begin
                inc( I );
                if arFiltroAtivoBasicos[ FiltroNum ] then
                      begin
                  arAnaliseBasicos[ FiltroNum ] := SContarAcertosPorPosicao( ConjuntoResS, ParaSorteio, I, Item );
                  if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                              begin
                                Result                    := False;
                              Exit;
                            end;
                  end;
              end;


             // Para Dezenas ---- Item 8   --- Fltros 995 a 1033 ....     Sugeridas Por Posicao
             //  (3 Sorteios Anteriores e 5 Melhor Frequencia Ultimos 100 Sor por POSIÇÃO)


           Item := 8;  I := 1;      // ---- Para Dezenas ---- Item 8
           for FiltroNum := 995 to 1014 do
                begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                    begin
                      ConjuntoResS  := SConverterItemEmString( SConjunto, Item );    // --------- Array????????
                        Valor         := Piece( I, ConjuntoResS, '-' );
                    arAnaliseBasicos[ FiltroNum ] := StrToInt ( Valor );
                        inc( I );
                        if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                                  begin
                          Result  := False;
                                  Exit;
                                end;
                  end;
              end;

           Item := 8;  I := 1;      // ---- Para Dezenas ---- Item 8
           for FiltroNum := 1015 to 1034 do
                begin
                  if arFiltroAtivoBasicos[ FiltroNum ] then
                    begin
                      ConjuntoResS  := SConverterItemEmString( SConjunto, Item );    // --------- Array????????

                        Valor         := Piece( I, ConjuntoResS, '-' );
                    arAnaliseBasicos[ FiltroNum ] := StrToInt ( Valor );
                        inc( I );
                        if not ( arAnaliseBasicos[ FiltroNum ] in arSInteresseBasicos[ FiltroNum ] ) then
                                  begin
                          Result  := False;
                                  Exit;
                                end;
                  end;
              end;


             // Somas Diversas -  Item 8  ---- Dezenas

             // Soma Dezenas do Conjunto
           FiltroNum := 1035;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                 ConjParaSoma := SConjunto; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Quadrado Perfeito
           FiltroNum := 1036;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjQuadradoPerfeito; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Triangulares
           FiltroNum := 1037;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjTriangulares; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;


             // Soma Dezenas Multiplas 3
           FiltroNum := 1038;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjMultiplas3; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Divino 1
           FiltroNum := 1039;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin

              ConjParaSoma := SConjunto * arSValorIntBasicos[ 1039 ];   // Especifico por Loteria
                   Soma         := SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Pares
           FiltroNum := 1040;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjPares; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Impares
           FiltroNum := 1041;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjImpares; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Primos
           FiltroNum := 1042;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjPrimos; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Serie Fibonacci
           FiltroNum := 1043;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjFibonacci; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Serie Lucas
           FiltroNum := 1044;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjLucas; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                    ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Serie Taylor
           FiltroNum := 1045;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjTaylor; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                    ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

             // Soma Dezenas Felizes
           FiltroNum := 1046;
           if arFiltroAtivoBasicos[ FiltroNum ] then
             begin
                   ConjParaSoma := SConjunto * SConjFelizes; Soma :=  SSomarConjunto( ConjParaSoma );
                   if ( ( Soma < StrToInt( sgFiltrosBasicos.Cells[ 4, FiltroNum ] ) ) or
                        ( Soma > StrToInt( sgFiltrosBasicos.Cells[ 5, FiltroNum ] ) ) ) then
                          begin
                        Result  := False;
                          Exit;
                        end;
             end;

        end;

      // --------------------------------------------------------------------------------------------------
             // Filtros do Tipo Grupo do Cologa --- com Valores MIN e MAX Diferentes na Linha  --- Turbo

      if cbUsarFiltrosCologa.Checked then
          begin
          for FiltroNum := 1 to Length( arQteCabecas ) do
              begin
              // pegar todas as linhas abaixo da CABEÇA - (FiltroNum) e Contar, incrementando ContaGr (QteLinhas que ATENDEM)
              Cabeca    := arQteCabecas[ FiltroNum-1 ];
              ContaGr   := 0;
              for Vezes := StrToInt( sgFiltrosCologa.Cells[ 9, Cabeca ] ) to StrToInt( sgFiltrosCologa.Cells[ 10, Cabeca ] ) do
                begin
                            Conta := SContarAcertos( SConjunto, arSValorIntCologa[ Vezes ], vMaiorDezena );
                  if not ( ( Conta < arQMinCologa[ Vezes ] ) or ( Conta > arQMaxCologa[ Vezes ] ) ) then inc( ContaGr );
                end;

              if ( ( ContaGr < arQMinCologa[ Cabeca ] ) or ( ContaGr > arQMaxCologa[ Cabeca ] ) ) then
                      begin
                        Result := False;
                      Exit;
                  end;

                 end;

        end;

       // --------------------------------------------------------------------------------------------------

            // Filtros do Tipo Grupo ArquivoN (NOVO) --- com Valores MIN e MAX IGUAIS em cada linha --- Menos Cabecas

      if cbUsarFiltrosArquivoN.Checked then
          begin

          for Cabeca             := 1 to sgFiltrosCologaN.RowCount - 1 do
            begin
                 // pegar todas as linhas para a cabeça Fazer CONTAGEM, uma única VEZ
                 // Testar TODOS os valores Setados como Ativos - acertos... com Contagem de Acertos
              for i              := 0 to 20 do arContaN[ i ] := 0;     // limpa contador

              Inicio             := arInicioFimCabecaN[ Cabeca, 0 ];   // Pega Valor Inicio no Arquivo de Linhas da Cabeca
              Fim                := arInicioFimCabecaN[ Cabeca, 1 ];   // Pega Valor Fim no Arquivo de Linhas da Cabeca
              for Vezes          := 1 to ( Fim - Inicio ) + 1 do
                begin
                    TesteInicio    := Inicio;
                  TesteFim       := Fim;
                  TesteVezes     := Vezes;
                  TesteCabeca    := Cabeca;
                  TesteS         := arSValorIntCologaN[ Cabeca, Vezes ];

                            Conta          := SContarAcertos( SConjunto, TesteS, vMaiorDezena ); // Conta Acertos
                  inc( arContaN[ Conta ] );
                end;


              for Acertos        := 0 to 20 do         // alterar para WHILE......
                  begin
                    if arFiltroAtivoCologaN[ Cabeca, Acertos ] = True  then
                      begin
                          if ( ( arContaN[ Acertos ] < arQMinMaxCologaN[ Cabeca, Acertos, 0 ] ) or      // min
                                     ( arContaN[ Acertos ] > arQMinMaxCologaN[ Cabeca, Acertos, 1 ] ) ) then  // max
                                       begin
                                        Result := False;          // Se for diferente dos valores Aceitos, CONJUNTO não é bom
                                      Exit;                     // Sai
                                  end;
                    end;
                end;


            end;
        end;

        // --------------------------------------------------------------------------------------------------

            // Filtros do Tipo PERFIL (NOVO) ---  Ex. Perfil Demais Filtros de Interesse; ...... ) ---

       if cbUsarFiltrosPerfil.Checked then
        begin

        end;


        // --------------------------------------------------------------------------------------------------

            // Filtros do Tipo PRÓPRIOS (Usados na Tela de Geração de Baixo para CIMA - por GRUOPS)

      if cbUsarFiltrosProprios.Checked then
          begin

        end;

    end;

    // -----------------------------------------------------------

     

     

    Não entendo de Delphi, mas muito obrigado por disponibilizar, algum momento pode servir, pois eu poderia extrair um pouco lógica do seu código. Obrigado!!

  11. 3 horas atrás, DixieJoe disse:

    @suelsilva 

     

    Vamos lá!

     

    1- Para filtros FIXOS e Variáveis (que são os perto de 1.000) eu coloquei dentro do programa com IFs.

    A diferença é que a base de valores (Fixos e Variáveis) é criada ao iniciar o programa. Então estão disponíveis

    durante a "vida" do programa.

     

    2- Como a maioria dos filtros tem o mesmo tipo de análise, coloquei vários FOR (LOOPs contadores) de filtros que tem o mesmo processamento e dentro desses FOR usei o IF uma única vez.

     

    3- Para Filtros do Tipo grupo (exemplo usado no Cologa) que usa grupos - como todos os resultados anteriores e que eu não quero 15 por exemplo, a rotina de Filtro tem o mesmo comportamento dos filtros anteriores. Só lembro que para cada novo Jogo gerado, ele precisa ser testado contra todos os resultados anteriores e só depois é feita a avaliação se aceita ou dependendo da condição inicial definida.

     

    Espero ter ajudado.

     

    A rotina de filtros é a mais lenta em qualquer programa de loterias.

     

    Quando eu ganhar alguma coisa, vou contratar um excelente programador de Assembler para fazer uma rotina IN-LINE dentro do meu programa.

    Até ganhar a primeira vez, vou "vivendo" com o que tenho. rsrsrsrs

     

     

    Obrigado pela explicação! Agradeço muito!

     

    3 horas atrás, DixieJoe disse:

    @suelsilva 

     

    Não vi até hoje, estabilização de valores nos filtros. Mesmo usando os 10 sorteios anteriores com 3 valores em cada, isso ocorre.

     

     

    Também não vi, mas pode existir. 100% estável acredito que não existe, mas desde que não haja uma variação muito grande de um concurso para outro, pra mim seria estável.

     

    3 horas atrás, DixieJoe disse:

    6.300 possiveis combinações de valores de filtros em cada sorteio

     

    Quais seriam essas 6.300 combinações ? Não entendi bem.

  12. @DixieJoe

     

    Mas me fala um detalhe, você criou vários IF, onde cada um fazia a filtragem e com os valores de referência adicionado diretamente no código fonte? 

     

    Exemplo:

     

    If repetidas_anterior in (8,9,10):

     

    Foi assim? ou você fez uma função pra puxar todos os valores de referência de cada filtro dos sorteios ocorridos? E sem usar vários IF. 

     

    Pq usando valores definidos direto no código é extremamente rápido. Mas quando você automatiza demora bastante dependendo do que vc manda fazer e como programa o soft

  13. Em 01/04/2019 at 21:40, DixieJoe disse:

    @suelsilva 

     

    Tenho um filtro que analisa as ocorrencias e falhas.

    Te digo que não traz nenhuma vantagem.

     

    Mas concordo com você: precisamos aprender a "PREVER" quais os melhores valores para uns 10 a 20 filtros (nem que sejam 2-3 valores para cada um dos 10 a 20 filtros, mas 1 dos valores esteja na escolha usada), isso também vai ajudar muito.

     

    Fazendo isso para 10 filtros Fixos que escolhi e 10 filtros variáveis, onde simulei acertar o valor mas com 3 valores em cada filtro, meu programa gerou 1070 jogos.

    Com 15 pontos e 54 de 14 e vários outros prêmios.

     

    Então, esse é um caminho promissor.

     

    Se quisermos usar mais do que 20 filtros (por exemplo - 40 filtros), podemos até ampliar as previsões para 4-5 valores em cada filtro.

     

     

     

    @DixieJoe

     

    Demorou muito para fazer a filtragem das combinações ?

  14. 2 horas atrás, Friaça disse:

    Você está certo...

    A variação é enorme, mas quando comecei o post foi para ver se tinha como dividir o número em 11 partes de forma que cada parte representasse o valor correto.

    Sei que se fosse jogar com filtro aberto em MIN e MAX entre 10, ainda era inviável, por isso volto a dizer, só acertando o valor correto.

    Esse era o desafio.

    Mas jogar com ele aberto em 10 já não vale a pena.

    Então achei que trazendo isso para o fórum, alguém que conhece de cálculos de probabilidades ou cálculos matemáticos conseguiria extrair algo.

    Fora isso, não tem porque continuar a levar ideia pra frente.

    Abraços...

     

    Entendo. É sempre bom trocar ideias e informações independente do que seja, pois assim vamos aprendendo cada vez mais.

     

    Mas fica ai aberto, pra quem quiser estudar mais sobre esse método seu.

    Neste momento vou seguir analisando o método que te falei, usando vários filtros com range de 3 a 4 valores por filtro.

     

    Vou aplicando filtros e vendo como acaba se saindo (quantos acertos de 15pts entre 10 concursos, e a quantidade de combinações geradas)

     

    Depois pretendo criar o método de filtros combinados (que pelo meu ver, seria a melhor forma, porém dá um pouco mais de trabalho).

     

    Sonho em manter os 15pts em +/- 100 combinações, em pelo menos 1 a cada 10 concursos. É algo que muitos dirão impossível, mas vamos estudar né kkk

  15. @Friaça

     

    Ai é que tá. Há uma variação muito grande para cada uma das colunas 4, 5, 6. É muito difícil acertar... E se for para usar por exemplo 3 , 4 valores ainda se torna algo quase impossível devido a variação.

     

    Alem é claro que definindo mais de um valor para essas colunas vai gerar milhares de combinações, se tornando inviável.

     

    A melhor saída é usar conjunto de filtros, onde a variação de cada filtro é pequena, se tornando mais fácil de acertar. Ai para cada filtro, usando 3 valores (escolhidos de forma inteligente) seria o ideal pelo que estou observando. Fazendo isso em vários filtros as combinações geradas irão diminuir de acordo com a quantidade e tipo de filtros aplicados. 

     

    E seria mais fácil assim, por causa da varição para cada filtro ser muito menor, além de suas chances serem de 3 em 1 (se aplicar 3 valores para cada filtro).

     

    Não adianta querer abraçar o mar todo de uma vez, você não vai conseguir. "É de grão em grão que a galinha enche o papo"

  16. @Friaça

     

    Tive analisando esse seu método, na minha opinião não é muito bom de se usar. Tem que acertar em cheio, e mesmo assim ainda da um bocado bom de cartões.

     

    Acho que usar um conjunto de filtros seria mais fácil. Porque ai cada filtro você podia setar para por exemplo 3, 4 valores, ficando mais fácil de acertar, pq seriam 3, 4  chances de acertar, ao invés de apenas 1. Claro que teria que ser bastante filtros para gerar uma quantidade jogáveis de cartões, mas parece ser uma melhor alternativa

  17. 39 minutos atrás, Sphgf disse:

    O que parece razoável é afirmar o que o post anterior demonstra, o que um programador poderia fazer é cruzar os dados, exemplo sair 9 repetidas do concurso anterior + x primos + soma tal + sei lá qual filtro acerta os 15 pontos com 100 cartelas em n concursos ou x%.

     

    Isso é algo que eu já havia mencionado neste tópico.

     

    Essa varredura de descobrir os valores de outros filtros dentro de outros parece ser a melhor forma de gerar combinações que segue os padrões dos sorteios, em detalhes. Então filtrando todas as combinações de acordo com esses valores, com certeza seria poucos cartões com grandes chances dos 15 dentro. (depende da abertura que vai usar nos valores dos subfiltros)

     

    Ainda pretendo fazer isso (espero conseguir).

     

     

×
×
  • Create New...