Novità

RicercaLunghetteNET

Edoardo_95

Advanced Member
Saltiamo la classe (1) dove hai rilevato il bug / passiamo al (3x1):
Sul mio arch trovo [ 18-58-74 ] massimo 65 colpi di assenza ( B/C/F ) & [ 40-74-84 ] uguale 65 colpi.
con Lung_net:
Vedi l'allegato 2280823
Per classe (5x2) trovo (B/C/F) [ 24-34-39-80-82 ] massimo 509 colpi.
con Lung_net:
Vedi l'allegato 2280824
Domani scarico l'ultimo aggiornamento e aggiorno pure il mio archivio per provare un controllo sugli attuali per ambo & terno...
Buona Domenica
Liam
Ho controllato ed avevi ragione. Il codice per il rilevamento era corretto ma non gestivo correttamente "più ruote" insieme. Nel prossimo post metterò la versione corretta. Effettua tutti i controlli del caso e se ci sono problemi aggiornami :D
 

Edoardo_95

Advanced Member
Nuovo aggiornamento (23/03/2024)

"LINK SOSPESO"

Cambiamenti :
  1. Risolto problema rilevamento ritardo massimo storico in classe uno per sorte estratto
  2. Inserita funzione "Piramide Ritradi"

Per quanto riguarda il secondo punto devo fare una premessa. Dovete avere pazienza :ROFLMAO:. Mi è stato chiesto di implementare questa funzione mantenendo la stessa identica velocità. Qui non si tratta di saper programmare, ma di fare miracoli. :ROFLMAO:.

Piramide ritardi genera una piramide in cui incrementando di una ruota quelle presenti verifica la combinazione di ruote e la combinazione numerica più in ritardo.

Esempio:

Se volessi sviluppare tutte le 5ine per la sorte di ambo e generare la piramide dei ritardi ho di fronte questa situazione

Sappiamo quasi tutti che tutte le 5ine generabili nel gioco del lotto sono ben 43.949.268

quindi valuto per ogni ruota ben 43.949.268 prendendo la cinquina più in ritardo sulla x ruota

Combinazione Ruota ritardo
1.2.3.4.5 x x

dopo di che valuto due ruote... le ruote sono 11 e prendendo due ruote si hanno 55 combinazioni di ruote.

qui diventa quindi 43.949.268 x 55 = 2.417.209.740 (parliamo già di miliardi)

quindi alla fine avrò

Combinazione Ruota ritardo
1.2.3.4.5 x x
1.2.3.4.5 xx x

e cosi via....

immaginate quando arriviamo alla combinazione di 5 ruote ... siamo a 462 combinazioni di ruote moltiplicato 43.949.268

Questo ne scaturisce un tempo di 4 minuti e mezzo di elaborazione (in media). E' buono come risultato? Assolutamente si, ma naturalmente, non avremo mai la velocità di pochi millesimi di secondo.
Versione rimodificata in modo flash (per fortuna solo 11 persone l'hanno scaricato e non i soliti 350) ahahaha.

Ecco il link

RicercaLunghetteNET
 

lotto_tom75

Advanced Premium Member
Sto provando ad elaborare la tua richiesta, ma mancano dei pezzi al puzzle. Senza entrare in spiegazioni personali che potrebbero portare in confusione, hai per caso un script in cui pur non potendo inserire la data di fine analisi, ottieni l'output che mi hai richiesto? Devo capire un paio di cose.

Ciao Edo, scusa intanto per il ritardo nel risponderti dovuto a questo... 🥴
Poi ecco un esempio di cosa intendo x colpo massimo, colpi di ricerca, colpi rimanenti teorici rispetto colpi di ricerca colpi rimanenti teorici rispetto colpo massimo e colpi rimanenti minimi teorici rispetto a colpo massimo...

es. 1 [script completo]

Codice:
Option Explicit
Sub Main
   Dim nSorte,aRuote,Ini,fin,sMsg,nMoltip,nTrov,nNumSel
   Dim nCicloTeo,nRitMax,nRitMin,nClasseLunghetta,nRuoteSel,nLunghetteDaTrov,i2,ccColonna,ClasseFin
   Dim TimeStart
   Dim k,CollComb,cColonna
   Dim aN
   Dim TipoAlgo
   Dim RetRit,RetRitMax,RetIncrRitMax,RetFrq
   Dim nSuperficialita
   Call Scrivi
   Call Scrivi("Elaborazione eseguita con archivio lotto aggiornato al: " & giorno(EstrazioneFin) & "-" & Mese(EstrazioneFin) & "-" & Anno(EstrazioneFin))
   Call Scrivi
   'elementi x verificatore
   Dim estrazione
   Dim colpidiverifica
   Dim winalcolponumero
   Dim esitoverifica
   Dim estrattiusciti
   Dim estrazionediuscita
   Dim colpomassimo
   Dim casipositivi
   Dim casinegativi
   Dim casiattuali
   Dim casitotali
   Dim estrazionidaverificare
   Dim sortediverifica
   Dim Inizioverifica
   Dim colpirimanentirispettocolpomassimo
   Dim colpirimanentirispettocolpidiricerca
   Dim colpirimanentiminimi
   Dim Formazioneconcolpirimanentiminimi
   Dim ruotaconcolpirimanentiminimi
   Dim esitoestratto
   Dim esitoambo
   Dim esitoterno
   Dim esitoquaterna
   Dim esitocinquina
   Dim estrapolaestratti
   estrapolaestratti = "estrapolaestratti.txt"
   If FileEsistente(estrapolaestratti) Then
      Call EliminaFile(estrapolaestratti)
   End If
   esitoestratto = 0
   esitoambo = 0
   esitoterno = 0
   esitoquaterna = 0
   esitocinquina = 0
   colpirimanentiminimi = EstrazioneFin
   fin = EstrazioneFin
   estrazionidaverificare = CInt(InputBox("estrazioni da verificare",,90)) ' EstrazioneFin - 8117)) '18 '60 '2700 ''369)) '100))
   Inizioverifica = fin - estrazionidaverificare
   'colpidiverifica = 36
   colpidiverifica = CInt(InputBox("colpidi di verifica",,estrazionidaverificare - 2))
   sortediverifica = CInt(InputBox("sorte di verifica",,1))
   '---------------------------
   nTrov = 0
   nNumSel = ScegliNumeri(aN)
   ReDim aRuote(0)
   Call ScegliRuote(aRuote)
   nSorte = SelEsito' ScegliEsito  'scegliere 1
   nClasseLunghetta = CInt(InputBox("Scegli classe lunghetta di partenza",,72)) ' UBound(aN) - 3)) ' UBound(aN))) 'UBound(aN))) ' - 5)) ' classe di partenza effettiva spesso mlto diversa dalla classe della formazione base di partenza...
   ClasseFin = CInt(InputBox("Scegli classe lunghetta finale",,nClasseLunghetta - 0))
   For estrazione = Inizioverifica To fin
      Dim r
      For r = 1 To 100
         Call Messaggio(GetInfoEstrazione(estrazione) & " c+ " & casipositivi & " c- " & casinegativi & " ca " & casiattuali & " clpmax " & colpomassimo & " crt min " & colpirimanentirispettocolpomassimo & " ruote " & StringaRuote(aRuote))
      Next
      TipoAlgo = 0
      nSuperficialita = 0
      nLunghetteDaTrov = 1 ' Int(InputBox("Lunghette da trovare","Quantità lunghette",10))
      nMoltip = 8
      nRitMax = 0' Int(InputBox(sMsg,,nCicloTeo * nMoltip))
      nRitMin = 0 ' Int(InputBox(sMsg,,nCicloTeo * 3))
      Ini = fin - nRitMax
      If Ini <= 0 Then Ini = 1
      TimeStart = Timer
      Call GetLunghettePiuRitardate(aN,aRuote,nClasseLunghetta,nSorte,CollComb,EstrazioneIni,estrazione,nRitMin,nRitMax,nLunghetteDaTrov,TipoAlgo,nSuperficialita)
      Call OrdinaItemCollection(CollComb,"Ritardo",,,- 1)
      For i2 = nClasseLunghetta To ClasseFin Step - 1
         For Each cColonna In CollComb
            Call GetLunghettePiuRitardate(cColonna.aNum,aRuote,i2,nSorte,CollComb,EstrazioneIni,estrazione,nRitMin,nRitMax,nLunghetteDaTrov,TipoAlgo,nSuperficialita)
            For Each ccColonna In CollComb
               Call StatisticaFormazioneTurbo(ccColonna.aNum,aRuote,nSorte,RetRit,RetRitMax,RetIncrRitMax,RetFrq,EstrazioneIni,estrazione)
               If i2 = ClasseFin Then
                  Dim numeridaverificare
                  Dim ruotedaverificare
                  Call SplitByChar("." & ccColonna.GetStringaNum & ".",".",numeridaverificare)
                  Call SplitByChar("." & StringaNumeri(aRuote) & ".",".",ruotedaverificare)
                  Call VerificaEsitoTurbo(numeridaverificare,ruotedaverificare,estrazione + 1,sortediverifica,colpidiverifica,,esitoverifica,winalcolponumero,estrattiusciti,estrazionediuscita)
                  If esitoverifica <> "" Then
                     CloseFileHandle(estrapolaestratti)
                     Dim convertiesito
                     If esitoverifica = "Estratto" Then
                        convertiesito = 1
                     End If
                     If esitoverifica = "Ambo" Then
                        convertiesito = 2
                     End If
                     If esitoverifica = "Terno" Then
                        convertiesito = 3
                     End If
                     If esitoverifica = "Quaterna" Then
                        convertiesito = 4
                     End If
                     If esitoverifica = "Cinqina" Then
                        convertiesito = 5
                     End If
                     Select Case(convertiesito)
                     Case 1
                        esitoestratto = esitoestratto + 1
                     Case 2
                        esitoambo = esitoambo + 1
                     Case 3
                        esitoterno = esitoterno + 1
                     Case 4
                        esitoquaterna = esitoquaterna + 1
                     Case 5
                        esitocinquina = esitocinquina + 1
                     End Select
                     casipositivi = casipositivi + 1
                     If winalcolponumero > colpomassimo Then
                        colpomassimo = winalcolponumero
                        Dim colpomassimorelativo
                        colpomassimorelativo = colpomassimo
                     End If
                  Else
                     colpirimanentirispettocolpidiricerca = colpidiverifica -(EstrazioneFin - estrazione)
                     colpirimanentirispettocolpomassimo = colpomassimo -(EstrazioneFin - estrazione)
                     If colpirimanentirispettocolpidiricerca < 0 Then
                        '   Scrivi "no"
                        casinegativi = casinegativi + 1
                     Else
                        Scrivi
                        Scrivi "<font color=blue>formazione " & StringaNumeri(numeridaverificare) & "</font>"
                        Scrivi "<font color=blue>ruote " & StringaNumeri(ruotedaverificare) & "</font>"
                        Scrivi "<font color=blue>colpi rimanenti rispetto colpi di ricerca " & colpirimanentirispettocolpidiricerca & "</font>"
                        Scrivi "<font color=blue>colpi rimanenti rispetto colpo massimo " & colpirimanentirispettocolpomassimo & "</font>"
                        Scrivi "<font color=blue>colpo massimo relativo " & colpomassimorelativo & "</font>"
                        Scrivi
                        casiattuali = casiattuali + 1
                        If colpirimanentirispettocolpidiricerca < colpirimanentiminimi Then
                           colpirimanentiminimi = colpirimanentirispettocolpidiricerca
                           Formazioneconcolpirimanentiminimi = StringaNumeri(numeridaverificare)
                           ruotaconcolpirimanentiminimi = StringaNumeri(ruotedaverificare)
                        End If
                        If colpirimanentirispettocolpomassimo < colpirimanentiminimi Then
                           colpirimanentiminimi = colpirimanentirispettocolpomassimo
                           Formazioneconcolpirimanentiminimi = StringaNumeri(numeridaverificare)
                           ruotaconcolpirimanentiminimi = StringaRuote(ruotedaverificare)
                        End If
                     End If
                  End If
               End If
               '------------------
               'End If
            Next
         Next
      Next
      'Scrivi
      If ScriptInterrotto Then Exit For
   Next ' x estrazione
   Scrivi
   Scrivi "elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "range temporale di analisi " & GetInfoEstrazione(EstrazioneIni) & " - " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "n. ultime estrazioni analizzate e verificate " & estrazionidaverificare '&(EstrazioneFin - EstrazioneIni) + 1
   Scrivi "Estrazione inizio verifica " & GetInfoEstrazione(Inizioverifica)
   Scrivi "Gruppo base analizzato " & StringaNumeri(aN)
   Scrivi "gruppo base analizzato di classe " & UBound(aN)
   Scrivi "sdr " & nSorte
   Scrivi "sdv <b>" & sortediverifica & "</b>"
   Scrivi "ci " & nClasseLunghetta
   Scrivi "cf " & ClasseFin
   Scrivi "c+ " & casipositivi
   Scrivi "c- " & casinegativi
   Scrivi "ca " & casiattuali
   Scrivi "clp rim min <b>" & colpirimanentiminimi & "</b>"
   Scrivi "formazione con clp rim min " & Formazioneconcolpirimanentiminimi
   If ruotaconcolpirimanentiminimi <> "" Then ' And ruotaconcolpirimanentiminimi <> " " And ruotaconcolpirimanentiminimi <> Null Then
      'ruotaconcolpirimanentiminimi = Mid(ruotaconcolpirimanentiminimi,2,Len(ruotaconcolpirimanentiminimi) - 2)
      Scrivi "ruota con clp rim min <b>" & ruotaconcolpirimanentiminimi & "</b>"
   End If
   'ruotaconcolpirimanentiminimi = Right(ruotaconcolpirimanentiminimi,1)
   'Scrivi "ruota con colpirimanenti minimi " & ruotaconcolpirimanentiminimi
   'Scrivi "ruota con clp rim min <b>" & NomeRuota(Int(ruotaconcolpirimanentiminimi))&"</b>"
   casitotali = casipositivi + casinegativi + casiattuali
   Scrivi "ct " & casitotali
   casitotali = casipositivi + casinegativi + casiattuali
   If casipositivi <> "" Then
      Scrivi "%+ " &(casipositivi/casitotali)*100
   End If
   Scrivi "cna " &(fin - Inizioverifica) - casitotali
   Scrivi "clpmax " & colpomassimo
   Scrivi
   Scrivi "e : " & esitoestratto
   Scrivi "a : " & esitoambo
   Scrivi "t : " & esitoterno
   Scrivi "q : " & esitoquaterna
   Scrivi "c : " & esitocinquina
   Scrivi "---------------------------"
   Scrivi "tot : " & esitoestratto + esitoambo + esitoterno + esitoquaterna + esitocinquina
   Scrivi
   Call Scrivi("Tempo di elaborazione : " & TempoTrascorso) ' & FormattaSecondi(Timer - TimeStart))
End Sub
Function ScegliClassseLunghetta
   Dim aVoci(30)
   Dim k,i
   For k = 2 To(2 - 1) + UBound(aVoci)
      i = i + 1
      aVoci(i) = k
   Next
   k = ScegliOpzioneMenu(aVoci,5,"Classe lunghetta")
   ScegliClassseLunghetta = Int(aVoci(k))
End Function
Function SelRuote(aRuote)
   Dim t,k,bTutte
   bTutte = False
   t = ScegliRuote(aRuote)
   For k = 1 To t
      If aRuote(k) = TT_ Then
         bTutte = True
         Exit For
      End If
   Next
   If bTutte Then
      ReDim aRuote(10)
      For k = 1 To 10
         aRuote(k) = k
      Next
      SelRuote = 10
   Else
      SelRuote = t
   End If
End Function
Function SelEsito
   Dim ret
   Dim aVoci
   ' gli array partono sempre da 0
   aVoci = Array("","Estratto","Ambo","Terno","Quaterna","Cinquina")
   ret = ScegliOpzioneMenu(aVoci,1," Analisi per Sorte di : ")
   SelEsito = ret
End Function
Function SelRuota
   Dim ret
   Dim aVoci
   ' gli Array partono sempre da 0
   aVoci = Array("","BARI","CAGLIARI","FIRENZE","GENOVA","MILANO","NAPOLI","PALERMO","ROMA","TORINO","VENEZIA","TUTTE","NAZIONALE")
   ret = ScegliOpzioneMenu(aVoci,3," Analizza Ruota di : ")
   SelRuota = ret
End Function

Il tuo super magic sw dovrebbe con la stessa logica ricavare i colpi rimanenti minimi teorici rispetto i colpi di ricerca impostati e rispetto al colpo massimo dinamicamente rilevato caso per caso però riferiti ai parametri massimi (e/o minimi) di ritardo e frequenza. Se riesci ad implementare questo poi potremmo usare la stessa intelaiatura per altri nuovi parametri di selezione scoperti recentemente grazie all'AI quali secondo e terzo parametro ad esempio ecc..

Ne approfitto per segnalarti anche che..., provando la penultima versione del tuo sw (sempre + spettacolare), ho notato che anche cambiando il range di fine estrazione, i valori di ritardo e frequenza rilevati rimangono sempre riferiti all'ultima estrazione in archivio e non a quella selezionata dall'apposito browser interno come sarebbe teoricamente + logico e utile che fosse. Ad es. se scelgo come fine estrazione il 21/3/2024 i valori di ritardo e freq vengono comunque calcolati al 22/3/2024. 💪👋🙂 Ps: a disposizione, salute permettendo, per tutti gli ulteriori ragguagli che desideri.
 
Ultima modifica:

Edoardo_95

Advanced Member
Ciao Edo, scusa intanto per il ritardo nel risponderti dovuto a questo... 🥴
Poi ecco un esempio di cosa intendo x colpo massimo, colpi di ricerca, colpi rimanenti teorici rispetto colpi di ricerca colpi rimanenti teorici rispetto colpo massimo e colpi rimanenti minimi teorici rispetto a colpo massimo...

es. 1 [script completo]

Codice:
Option Explicit
Sub Main
   Dim nSorte,aRuote,Ini,fin,sMsg,nMoltip,nTrov,nNumSel
   Dim nCicloTeo,nRitMax,nRitMin,nClasseLunghetta,nRuoteSel,nLunghetteDaTrov,i2,ccColonna,ClasseFin
   Dim TimeStart
   Dim k,CollComb,cColonna
   Dim aN
   Dim TipoAlgo
   Dim RetRit,RetRitMax,RetIncrRitMax,RetFrq
   Dim nSuperficialita
   Call Scrivi
   Call Scrivi("Elaborazione eseguita con archivio lotto aggiornato al: " & giorno(EstrazioneFin) & "-" & Mese(EstrazioneFin) & "-" & Anno(EstrazioneFin))
   Call Scrivi
   'elementi x verificatore
   Dim estrazione
   Dim colpidiverifica
   Dim winalcolponumero
   Dim esitoverifica
   Dim estrattiusciti
   Dim estrazionediuscita
   Dim colpomassimo
   Dim casipositivi
   Dim casinegativi
   Dim casiattuali
   Dim casitotali
   Dim estrazionidaverificare
   Dim sortediverifica
   Dim Inizioverifica
   Dim colpirimanentirispettocolpomassimo
   Dim colpirimanentirispettocolpidiricerca
   Dim colpirimanentiminimi
   Dim Formazioneconcolpirimanentiminimi
   Dim ruotaconcolpirimanentiminimi
   Dim esitoestratto
   Dim esitoambo
   Dim esitoterno
   Dim esitoquaterna
   Dim esitocinquina
   Dim estrapolaestratti
   estrapolaestratti = "estrapolaestratti.txt"
   If FileEsistente(estrapolaestratti) Then
      Call EliminaFile(estrapolaestratti)
   End If
   esitoestratto = 0
   esitoambo = 0
   esitoterno = 0
   esitoquaterna = 0
   esitocinquina = 0
   colpirimanentiminimi = EstrazioneFin
   fin = EstrazioneFin
   estrazionidaverificare = CInt(InputBox("estrazioni da verificare",,90)) ' EstrazioneFin - 8117)) '18 '60 '2700 ''369)) '100))
   Inizioverifica = fin - estrazionidaverificare
   'colpidiverifica = 36
   colpidiverifica = CInt(InputBox("colpidi di verifica",,estrazionidaverificare - 2))
   sortediverifica = CInt(InputBox("sorte di verifica",,1))
   '---------------------------
   nTrov = 0
   nNumSel = ScegliNumeri(aN)
   ReDim aRuote(0)
   Call ScegliRuote(aRuote)
   nSorte = SelEsito' ScegliEsito  'scegliere 1
   nClasseLunghetta = CInt(InputBox("Scegli classe lunghetta di partenza",,72)) ' UBound(aN) - 3)) ' UBound(aN))) 'UBound(aN))) ' - 5)) ' classe di partenza effettiva spesso mlto diversa dalla classe della formazione base di partenza...
   ClasseFin = CInt(InputBox("Scegli classe lunghetta finale",,nClasseLunghetta - 0))
   For estrazione = Inizioverifica To fin
      Dim r
      For r = 1 To 100
         Call Messaggio(GetInfoEstrazione(estrazione) & " c+ " & casipositivi & " c- " & casinegativi & " ca " & casiattuali & " clpmax " & colpomassimo & " crt min " & colpirimanentirispettocolpomassimo & " ruote " & StringaRuote(aRuote))
      Next
      TipoAlgo = 0
      nSuperficialita = 0
      nLunghetteDaTrov = 1 ' Int(InputBox("Lunghette da trovare","Quantità lunghette",10))
      nMoltip = 8
      nRitMax = 0' Int(InputBox(sMsg,,nCicloTeo * nMoltip))
      nRitMin = 0 ' Int(InputBox(sMsg,,nCicloTeo * 3))
      Ini = fin - nRitMax
      If Ini <= 0 Then Ini = 1
      TimeStart = Timer
      Call GetLunghettePiuRitardate(aN,aRuote,nClasseLunghetta,nSorte,CollComb,EstrazioneIni,estrazione,nRitMin,nRitMax,nLunghetteDaTrov,TipoAlgo,nSuperficialita)
      Call OrdinaItemCollection(CollComb,"Ritardo",,,- 1)
      For i2 = nClasseLunghetta To ClasseFin Step - 1
         For Each cColonna In CollComb
            Call GetLunghettePiuRitardate(cColonna.aNum,aRuote,i2,nSorte,CollComb,EstrazioneIni,estrazione,nRitMin,nRitMax,nLunghetteDaTrov,TipoAlgo,nSuperficialita)
            For Each ccColonna In CollComb
               Call StatisticaFormazioneTurbo(ccColonna.aNum,aRuote,nSorte,RetRit,RetRitMax,RetIncrRitMax,RetFrq,EstrazioneIni,estrazione)
               If i2 = ClasseFin Then
                  Dim numeridaverificare
                  Dim ruotedaverificare
                  Call SplitByChar("." & ccColonna.GetStringaNum & ".",".",numeridaverificare)
                  Call SplitByChar("." & StringaNumeri(aRuote) & ".",".",ruotedaverificare)
                  Call VerificaEsitoTurbo(numeridaverificare,ruotedaverificare,estrazione + 1,sortediverifica,colpidiverifica,,esitoverifica,winalcolponumero,estrattiusciti,estrazionediuscita)
                  If esitoverifica <> "" Then
                     CloseFileHandle(estrapolaestratti)
                     Dim convertiesito
                     If esitoverifica = "Estratto" Then
                        convertiesito = 1
                     End If
                     If esitoverifica = "Ambo" Then
                        convertiesito = 2
                     End If
                     If esitoverifica = "Terno" Then
                        convertiesito = 3
                     End If
                     If esitoverifica = "Quaterna" Then
                        convertiesito = 4
                     End If
                     If esitoverifica = "Cinqina" Then
                        convertiesito = 5
                     End If
                     Select Case(convertiesito)
                     Case 1
                        esitoestratto = esitoestratto + 1
                     Case 2
                        esitoambo = esitoambo + 1
                     Case 3
                        esitoterno = esitoterno + 1
                     Case 4
                        esitoquaterna = esitoquaterna + 1
                     Case 5
                        esitocinquina = esitocinquina + 1
                     End Select
                     casipositivi = casipositivi + 1
                     If winalcolponumero > colpomassimo Then
                        colpomassimo = winalcolponumero
                        Dim colpomassimorelativo
                        colpomassimorelativo = colpomassimo
                     End If
                  Else
                     colpirimanentirispettocolpidiricerca = colpidiverifica -(EstrazioneFin - estrazione)
                     colpirimanentirispettocolpomassimo = colpomassimo -(EstrazioneFin - estrazione)
                     If colpirimanentirispettocolpidiricerca < 0 Then
                        '   Scrivi "no"
                        casinegativi = casinegativi + 1
                     Else
                        Scrivi
                        Scrivi "<font color=blue>formazione " & StringaNumeri(numeridaverificare) & "</font>"
                        Scrivi "<font color=blue>ruote " & StringaNumeri(ruotedaverificare) & "</font>"
                        Scrivi "<font color=blue>colpi rimanenti rispetto colpi di ricerca " & colpirimanentirispettocolpidiricerca & "</font>"
                        Scrivi "<font color=blue>colpi rimanenti rispetto colpo massimo " & colpirimanentirispettocolpomassimo & "</font>"
                        Scrivi "<font color=blue>colpo massimo relativo " & colpomassimorelativo & "</font>"
                        Scrivi
                        casiattuali = casiattuali + 1
                        If colpirimanentirispettocolpidiricerca < colpirimanentiminimi Then
                           colpirimanentiminimi = colpirimanentirispettocolpidiricerca
                           Formazioneconcolpirimanentiminimi = StringaNumeri(numeridaverificare)
                           ruotaconcolpirimanentiminimi = StringaNumeri(ruotedaverificare)
                        End If
                        If colpirimanentirispettocolpomassimo < colpirimanentiminimi Then
                           colpirimanentiminimi = colpirimanentirispettocolpomassimo
                           Formazioneconcolpirimanentiminimi = StringaNumeri(numeridaverificare)
                           ruotaconcolpirimanentiminimi = StringaRuote(ruotedaverificare)
                        End If
                     End If
                  End If
               End If
               '------------------
               'End If
            Next
         Next
      Next
      'Scrivi
      If ScriptInterrotto Then Exit For
   Next ' x estrazione
   Scrivi
   Scrivi "elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "range temporale di analisi " & GetInfoEstrazione(EstrazioneIni) & " - " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "n. ultime estrazioni analizzate e verificate " & estrazionidaverificare '&(EstrazioneFin - EstrazioneIni) + 1
   Scrivi "Estrazione inizio verifica " & GetInfoEstrazione(Inizioverifica)
   Scrivi "Gruppo base analizzato " & StringaNumeri(aN)
   Scrivi "gruppo base analizzato di classe " & UBound(aN)
   Scrivi "sdr " & nSorte
   Scrivi "sdv <b>" & sortediverifica & "</b>"
   Scrivi "ci " & nClasseLunghetta
   Scrivi "cf " & ClasseFin
   Scrivi "c+ " & casipositivi
   Scrivi "c- " & casinegativi
   Scrivi "ca " & casiattuali
   Scrivi "clp rim min <b>" & colpirimanentiminimi & "</b>"
   Scrivi "formazione con clp rim min " & Formazioneconcolpirimanentiminimi
   If ruotaconcolpirimanentiminimi <> "" Then ' And ruotaconcolpirimanentiminimi <> " " And ruotaconcolpirimanentiminimi <> Null Then
      'ruotaconcolpirimanentiminimi = Mid(ruotaconcolpirimanentiminimi,2,Len(ruotaconcolpirimanentiminimi) - 2)
      Scrivi "ruota con clp rim min <b>" & ruotaconcolpirimanentiminimi & "</b>"
   End If
   'ruotaconcolpirimanentiminimi = Right(ruotaconcolpirimanentiminimi,1)
   'Scrivi "ruota con colpirimanenti minimi " & ruotaconcolpirimanentiminimi
   'Scrivi "ruota con clp rim min <b>" & NomeRuota(Int(ruotaconcolpirimanentiminimi))&"</b>"
   casitotali = casipositivi + casinegativi + casiattuali
   Scrivi "ct " & casitotali
   casitotali = casipositivi + casinegativi + casiattuali
   If casipositivi <> "" Then
      Scrivi "%+ " &(casipositivi/casitotali)*100
   End If
   Scrivi "cna " &(fin - Inizioverifica) - casitotali
   Scrivi "clpmax " & colpomassimo
   Scrivi
   Scrivi "e : " & esitoestratto
   Scrivi "a : " & esitoambo
   Scrivi "t : " & esitoterno
   Scrivi "q : " & esitoquaterna
   Scrivi "c : " & esitocinquina
   Scrivi "---------------------------"
   Scrivi "tot : " & esitoestratto + esitoambo + esitoterno + esitoquaterna + esitocinquina
   Scrivi
   Call Scrivi("Tempo di elaborazione : " & TempoTrascorso) ' & FormattaSecondi(Timer - TimeStart))
End Sub
Function ScegliClassseLunghetta
   Dim aVoci(30)
   Dim k,i
   For k = 2 To(2 - 1) + UBound(aVoci)
      i = i + 1
      aVoci(i) = k
   Next
   k = ScegliOpzioneMenu(aVoci,5,"Classe lunghetta")
   ScegliClassseLunghetta = Int(aVoci(k))
End Function
Function SelRuote(aRuote)
   Dim t,k,bTutte
   bTutte = False
   t = ScegliRuote(aRuote)
   For k = 1 To t
      If aRuote(k) = TT_ Then
         bTutte = True
         Exit For
      End If
   Next
   If bTutte Then
      ReDim aRuote(10)
      For k = 1 To 10
         aRuote(k) = k
      Next
      SelRuote = 10
   Else
      SelRuote = t
   End If
End Function
Function SelEsito
   Dim ret
   Dim aVoci
   ' gli array partono sempre da 0
   aVoci = Array("","Estratto","Ambo","Terno","Quaterna","Cinquina")
   ret = ScegliOpzioneMenu(aVoci,1," Analisi per Sorte di : ")
   SelEsito = ret
End Function
Function SelRuota
   Dim ret
   Dim aVoci
   ' gli Array partono sempre da 0
   aVoci = Array("","BARI","CAGLIARI","FIRENZE","GENOVA","MILANO","NAPOLI","PALERMO","ROMA","TORINO","VENEZIA","TUTTE","NAZIONALE")
   ret = ScegliOpzioneMenu(aVoci,3," Analizza Ruota di : ")
   SelRuota = ret
End Function

Il tuo super magic sw dovrebbe con la stessa logica ricavare i colpi rimanenti minimi teorici rispetto i colpi di ricerca impostati e rispetto al colpo massimo dinamicamente rilevato caso per caso però riferiti ai parametri massimi (e/o minimi) di ritardo e frequenza. Se riesci ad implementare questo poi potremmo usare la stessa intelaiatura per altri nuovi parametri di selezione scoperti recentemente grazie all'AI quali secondo e terzo parametro ad esempio ecc..

Ne approfitto per segnalarti anche che..., provando la penultima versione del tuo sw (sempre + spettacolare), ho notato che anche cambiando il range di fine estrazione, i valori di ritardo e frequenza rilevati rimangono sempre riferiti all'ultima estrazione in archivio e non a quella selezionata dall'apposito browser interno come sarebbe teoricamente + logico e utile che fosse. Ad es. se scelgo come fine estrazione il 21/3/2024 i valori di ritardo e freq vengono comunque calcolati al 22/3/2024. 💪👋🙂 Ps: a disposizione, salute permettendo, per tutti gli ulteriori ragguagli che desideri.
Senza titolo.png


Non posso lanciare lo script perchè all'interno della dll fstspz.dll manca la funzione. Ho l'ultima versione di spazio non saprei come mai è stata tolta. al massimo darò un'occhiata al codice e vedrò di capire qualcosa.
 

Edoardo_95

Advanced Member
Nuovo aggiornamento (24/03/2024)

Cambiamenti:
  1. Ottimizzazione generale del codice
  2. Risolto problema data fine range
  3. Trasformata in "turbo" la funzione piramide ritardi (seguendo l'esempio della precedente pubblicazione, per classe 5 per ambo siamo passati da 4 minuti e mezzo ad un secondo di elaborazione).
RicercaLunghetteNET

I prossimi aggiornamenti avverranno più in la (fatto salvo errori su codice già esistente).

Mi concentrerò sull'idea di Lotto_Tom (fattibilità permettendo) e su alcune idee fornitemi da alcuni utenti .. abbastanza "interessanti"
 

lotto_tom75

Advanced Premium Member
Vedi l'allegato 2280878


Non posso lanciare lo script perchè all'interno della dll fstspz.dll manca la funzione. Ho l'ultima versione di spazio non saprei come mai è stata tolta. al massimo darò un'occhiata al codice e vedrò di capire qualcosa.

Ciao Edo, io lo eseguo con la versione 1.6.54 di spaziometria su win 11 pro e funzia. Non capisco perchè a te dia quell'errore😵

Magari vediamo se anche altri lo provano e se hanno o meno lo stesso problema 🫠
 

silop2005

Advanced Member >PLATINUM<
Nuovo aggiornamento (24/03/2024)

Cambiamenti:
  1. Ottimizzazione generale del codice
  2. Risolto problema data fine range
  3. Trasformata in "turbo" la funzione piramide ritardi (seguendo l'esempio della precedente pubblicazione, per classe 5 per ambo siamo passati da 4 minuti e mezzo ad un secondo di elaborazione).
RicercaLunghetteNET

I prossimi aggiornamenti avverranno più in la (fatto salvo errori su codice già esistente).

Mi concentrerò sull'idea di Lotto_Tom (fattibilità permettendo) e su alcune idee fornitemi da alcuni utenti .. abbastanza "interessanti"
==============================
SPMT vers. 1.6.34_Agg.Web e relativo plugin SVP vers. 1.0.56 e Plugin_FTP vers. 1.0 e SpazioScript vs.1.0.9 e RicercaLunghetta vers.1.0.31 e LottoOpen v.1.0.62 e SpazioLight.net V.1.0.38
======================
Ciao Edoardo ,
======================
Grazie per l'ultimissima versione "RicercaLunghetteNET.zip" del 24/03/2024
ho colorato di ROSSO la lettera "c" perché questa manca nel TUO titolo/file "RiceraLunghetteNET.zip"
======================
Ho rifatto di nuovo la mia ricerca sul PRIMO ESTRATTO sulle TRE ruote CA_FI_RM
e ho notato che se inizio la ricerca di questi parametri
su tutto l'archivio dall'inizio del 1871 ad oggi, il RitardoMinimoMassimo o RitardoMassimoStorico
lo riporta lo stesso ma è sfalsato cioè non è veritiero
Ritardo massimo storico: 352 estrazioni
Formazione: 8
Data di uscita: 21/06/1919
Ruote CA-FI-RM
non può essere in quanto la ruota di CAGLIARI nel 1919 non era ancora nata (nel 1939 nasce),
quindi quel RMM= 352 non è vero
Ci dovrebbe essere nel TUO programma un AVVISO
del tipo:
Ricerca non possibile sulle TRE ruote
Ricerca impossibile per ruota/e inesistente
o altro
Ti allego delle immagini
=====================
stickman.gif
ca1.jpg
======================
Se la ricerca la inizio dalla nascita della ruota di CAGLIARI 1939
tutti i dati che si evidenziano sono ESATTI, sia i ritardi minimi ATTUALI e sia il Ritardo Minimo Storico alle TRE ruote.
=====================
stickman.gif
ca2.jpg
======================
ca3.jpg
======================
ca4.jpg
======================
Buona continuazione
x LottoTom
ho provato il tuo script con SPMT vers. 1.6.34 ho W11 e ha funzionato.
======================
Buon lunedì a tutto il forum.
======================
stickman.gif
A presto
Silop ;) ;) ;)
 

H_Liam

Member
Buongiorno Edoardo, oggi ho scaricato l'ultimo aggiornamento e dalle prove effettuate ho potuto constatare che qualche dato che ho confrontato è perfettamente in linea con il mio archivio, complimenti per il Programmone e sopra tutto per la velocità di iterare le lunghette (y)
Per quanto fatto osservare da Silop credo che ognuno abbia il proprio modo di interpretare legittimamente i dati, io sono del parere che se vado ad includere in un range un comparto dove per un lasso di tempo le estrazioni (non sono state effettuate) giustamente l'algo prenderà in considerazione le ruote dove ci sono estrazioni e non potrà valutare estrazioni mancanti classificate dagli zeri al posto dei numeri (perché non avvenute)
Se mi posso permettere di aggiungere che dovrebbe essere l'utilizzatore finale del programma ad avere un'idea di quali comparti siano da inizio (x) e quali da inizio (Y) e su come scegliere il range di ricerca perché l'algoritmo non ha colpa se mancano le estrazioni del comparto (y) classificate nulle!
Un banale esempio, range 7.000 ruote ( Ro/Nz ) che senso ha questa scelta se sappiamo che la Nazionale non ha attive 7.000 estrazioni?
Spero di non aver tediato il pensiero altrui, ogni uno è libero di interpretare i dati a modo suo...
Per quel poco che mi ero applicato al Lotto con qualche rudimentale ricerca, la vedo esattamente e nello stesso modo sui congrui trovati da:
" RicercaLunghetteNET "
Rinnovo i complimenti!
Liam
 

Edoardo_95

Advanced Member
==============================
SPMT vers. 1.6.34_Agg.Web e relativo plugin SVP vers. 1.0.56 e Plugin_FTP vers. 1.0 e SpazioScript vs.1.0.9 e RicercaLunghetta vers.1.0.31 e LottoOpen v.1.0.62 e SpazioLight.net V.1.0.38
======================
Ciao Edoardo ,
======================
Grazie per l'ultimissima versione "RicercaLunghetteNET.zip" del 24/03/2024
ho colorato di ROSSO la lettera "c" perché questa manca nel TUO titolo/file "RiceraLunghetteNET.zip"
======================
Ho rifatto di nuovo la mia ricerca sul PRIMO ESTRATTO sulle TRE ruote CA_FI_RM
e ho notato che se inizio la ricerca di questi parametri
su tutto l'archivio dall'inizio del 1871 ad oggi, il RitardoMinimoMassimo o RitardoMassimoStorico
lo riporta lo stesso ma è sfalsato cioè non è veritiero
Ritardo massimo storico: 352 estrazioni
Formazione: 8
Data di uscita: 21/06/1919
Ruote CA-FI-RM
non può essere in quanto la ruota di CAGLIARI nel 1919 non era ancora nata (nel 1939 nasce),
quindi quel RMM= 352 non è vero
Ci dovrebbe essere nel TUO programma un AVVISO
del tipo:
Ricerca non possibile sulle TRE ruote
Ricerca impossibile per ruota/e inesistente
o altro
Ti allego delle immagini
=====================
stickman.gif
ca1.jpg
======================
Se la ricerca la inizio dalla nascita della ruota di CAGLIARI 1939
tutti i dati che si evidenziano sono ESATTI, sia i ritardi minimi ATTUALI e sia il Ritardo Minimo Storico alle TRE ruote.
=====================
stickman.gif
ca2.jpg
======================
ca3.jpg
======================
ca4.jpg
======================
Buona continuazione
x LottoTom
ho provato il tuo script con SPMT vers. 1.6.34 ho W11 e ha funzionato.
======================
Buon lunedì a tutto il forum.
======================
stickman.gif
A presto
Silop ;) ;) ;)
Eeeeh caro Silop, sapevo già che sarebbe arrivato questo momento. Quando si parla di ritardi si arriva irrimediabilmente a questo bivio. Purtroppo hai perfettamente ragione ma anche perfettamente torto. La scelta è stata abbastanza complicata. Ma alla fine ho effettuato una decisione alla "Re Salomone". Lui non sceglieva mai un estremo o un altro ma cercava sempre di trovare una via mediana per mantenere il concetto di equità.
Non è un errore di programmazione ma una cosa voluta al 100% che vuoi o non vuoi accontenta tutti. Per chi la pensa come te può semplicemente cambiare il range temporale (ecco il perchè dell'inserimento della date predefinite) e fare le sue personali valutazioni. Per chi la pensa come H_Liam invece può ottenere comunque il valore mantenendo il range al 1871. Non è corretto eliminare a priori la possibilità di valutazione.
In fondo bari e firenze erano presenti... ma in fondo dovrei eliminare la possibilità poichè la ruota di Cagliari non esisteva... bella storia :). Qui non si tratta di programmazione ma di punti di vista (io non sono un amante sfegatato del lotto ma anche io ho la mia visione .. che non dirò ahaha) e per tale motivo devo essere inter parters al 100%. :)
 
Ultima modifica:

Edoardo_95

Advanced Member
Buongiorno Edoardo, oggi ho scaricato l'ultimo aggiornamento e dalle prove effettuate ho potuto constatare che qualche dato che ho confrontato è perfettamente in linea con il mio archivio, complimenti per il Programmone e sopra tutto per la velocità di iterare le lunghette (y)
Per quanto fatto osservare da Silop credo che ognuno abbia il proprio modo di interpretare legittimamente i dati, io sono del parere che se vado ad includere in un range un comparto dove per un lasso di tempo le estrazioni (non sono state effettuate) giustamente l'algo prenderà in considerazione le ruote dove ci sono estrazioni e non potrà valutare estrazioni mancanti classificate dagli zeri al posto dei numeri (perché non avvenute)
Se mi posso permettere di aggiungere che dovrebbe essere l'utilizzatore finale del programma ad avere un'idea di quali comparti siano da inizio (x) e quali da inizio (Y) e su come scegliere il range di ricerca perché l'algoritmo non ha colpa se mancano le estrazioni del comparto (y) classificate nulle!
Un banale esempio, range 7.000 ruote ( Ro/Nz ) che senso ha questa scelta se sappiamo che la Nazionale non ha attive 7.000 estrazioni?
Spero di non aver tediato il pensiero altrui, ogni uno è libero di interpretare i dati a modo suo...
Per quel poco che mi ero applicato al Lotto con qualche rudimentale ricerca, la vedo esattamente e nello stesso modo sui congrui trovati da:
" RicercaLunghetteNET "
Rinnovo i complimenti!
Liam
Nulla da ridire. Hai dato anche un spiegazione alla mia scelta in modo impeccabile (y)
 

silop2005

Advanced Member >PLATINUM<
SPMT vers. 1.6.34_Agg.Web e relativo plugin SVP vers. 1.0.56 e Plugin_FTP vers. 1.0 e SpazioScript vs.1.0.9 e RicercaLunghetta vers.1.0.31 e LottoOpen v.1.0.62 e SpazioLight.net V.1.0.38
======================
Ciao Edoardo e H_Liam ,
======================
rispetto il vostro pensiero e lo condivido in tutto.
So benissimo che è l'utilizzatore del programma a saper scegliere
il range della sua ricerca, delle ruote e delle combinazioni da analizzare.
Di sicuro io e come molti appassionati e CONOSCITORI del lotto una ricerca del genere
di TRE ruote sapendo che una delle tre non esisteva in quel determinato periodo
non la faremmo MAI partire dall'inizio dell'archivio dal 1871
ma sceglieremmo un range dove ci siano contemporaneamente tutte e tre le ruote (dal 1939).
Il mio consiglio dell'AVVISO, era rivolto in generale ai ricercatori distratti e ai neofiti dell'argomento.
Per me va bene cosi.
======================
Buona continuazione
e complimenti per il programma.
Ringrazio per i mi piace: Edoardo
======================
Buon lunedì a tutto il forum.
======================
stickman.gif
A presto
Silop ;) ;) ;)
 

Nikor

Premium Member
Salve! dopo essermi un po' rafreddato ( x il riscaldamento plus ) con aria ancora freschina... vorrei fare i Complimenti a Edoardo_95 , scaricata ultima versione Tutto OK. (y)
Il cuore del programma implementato nell'algoritmo utilizzato è veramente un Portento! Immaginabile la velocità di esecuzione raggiunta ...
Super Edo, con le scommesse Lotto non sono sempre fortunato ma se dovessi scommettere sul ( Dna ) ci azzeccherei di sicuro!!! a buon intenditor poche parole.
Seguo volentieri, ed ora che il palinsesto è solido è ben tracciato aspettiamo altre buone nuove che saranno un'altra ventata di aria fresca e nuova innovazione nel campo della Statistica Computerizzata.
Sinceri Complimenti di vero cuore.
Nikor
 

Edoardo_95

Advanced Member
Ciao Edo, io lo eseguo con la versione 1.6.54 di spaziometria su win 11 pro e funzia. Non capisco perchè a te dia quell'errore😵

Magari vediamo se anche altri lo provano e se hanno o meno lo stesso problema 🫠
Allora ho dato un'occhiata al tuo script ma non ho capito molto. Però vuoi un pò lo script, vuoi un pò ciò che mi hai detto il problema qui è verifica esito. Ci sono almeno 8/9 modi di sviluppare l'idea ma quella che mi sembra più vicina alla tua concezione è la seguente :

Codice:
Option Explicit
Sub Main
    Dim aNumeri,aRuote,nSorte,Inizio,Fine,nColpiMax,RetEsito,RetColpi,RetEstratti,RetIdEstr,nCasiPos,nCasiNeg,nCasiInCorso
    Dim IndiceNumeri
    Call ScegliNumeri(aNumeri)
    Call ScegliRuote(aRuote)
    nSorte = ScegliEsito(1,1,5)
    Call ScegliRange(Inizio,Fine,3950)
    nColpiMax = CInt(InputBox("Per quanti colpi verificare?","Colpi di verifica",2))
    Call VerificaEsitoNew(aNumeri,aRuote,nSorte,Inizio,Fine,nColpiMax,RetEsito,RetColpi,RetEstratti,RetIdEstr,nCasiPos,nCasiNeg,nCasiInCorso)
End Sub
Sub VerificaEsitoNew(aNumeri,aRuote,nSorte,Inizio,Fine,nColpiMax,RetEsito,RetColpi,RetEstratti,RetIdEstr,nCasiPos,nCasiNeg,nCasiInCorso)
    Dim InizioTmp
    InizioTmp = Inizio
    'ciclo dal valore di inizio range alla fine esco dal ciclo quando raggiungo la fine
    Do While Inizio < Fine
        'verifico l'esito passando come paratro solo l'inizio
        'la funzione verifica in nColpiMax l'esito ed esce con true appena viene verificato quindi non ha bisogno del parametro fine range
        If VerificaEsito(aNumeri,aRuote,Inizio,nSorte,nColpiMax,,RetEsito,RetColpi,RetEstratti,RetIdEstr) Then
            'se in in nColpiMax ottendo true incremento il contatore dei casi positivi e scivo a video i risultati
            nCasiPos = nCasiPos + 1
            Scrivi("Range analisi : " & DataEstrazione(Inizio,True) & " - " & DataEstrazione((Inizio) + nColpiMax,True))
            Scrivi(" ")
            Scrivi("Esito positivo per : " & RetEsito)
            Scrivi("Uscito dopo colpi " & RetColpi)
            Scrivi("Data si uscita : " & DataEstrazione(RetIdEstr,True) & "  Numeri estrazione : " & RetEstratti)
            Scrivi(" ")
            Scrivi(" ")
        Else
            ' se verifica esito restituisce false verifico se il valore di range inizio sommato ai colpi massimi supera la fine del range impostato allora è un caso in corso
            If(Inizio + nColpiMax) > Fine Then
                nCasiInCorso = nCasiInCorso + 1
            Else
                'sapendo a priori che non ha trovato nessun esito ma i colpi sommati al valore di inizio non supera la fine del range impostato allora si tratta di un caso negativo
                nCasiNeg = nCasiNeg + 1
            End If
        End If
        Call AvanzamentoElab(InizioTmp,Fine,Inizio)
        'incremento l'inizio del range pari a nColpiMax indistintamente se ha avuto un esito positivo o negativo ponendo il presupposto di non superare il range delle estrazioni
        If(Inizio + nColpiMax) < Fine Then
            Inizio = Inizio + nColpiMax
        Else
            ' se lo superiamo incremento solo di uno
            Inizio = Inizio + 1
        End If
        If ScriptInterrotto Then Exit Do
    Loop
    Scrivi("Casi positivi totali : " & nCasiPos)
    Scrivi("Casi negativi totali : " & nCasiNeg)
    Scrivi("Casi in corso totali : " & nCasiInCorso)
End Sub

Ora non uccidetemi per eventuali errori. L'ho fatto in 10 minuti di orologio (sono le 23:29) e non ho verificato i risultati... Vedi se questo è bene o male ciò che cerchi da verifica esito (correttezza dei risultati a parte).
 
Ultima modifica:

lotto_tom75

Advanced Premium Member
Allora ho dato un'occhiata al tuo script ma non ho capito molto. Però vuoi un pò lo script, vuoi un pò ciò che mi hai detto il problema qui è verifica esito. Ci sono almeno 8/9 modi di sviluppare l'idea ma quella che mi sembra più vicina alla tua concezione è la seguente :

Codice:
Option Explicit
Sub Main
    Dim aNumeri,aRuote,nSorte,Inizio,Fine,nColpiMax,RetEsito,RetColpi,RetEstratti,RetIdEstr,nCasiPos,nCasiNeg,nCasiInCorso
    Dim IndiceNumeri
    Call ScegliNumeri(aNumeri)
    Call ScegliRuote(aRuote)
    nSorte = ScegliEsito(1,1,5)
    Call ScegliRange(Inizio,Fine,3950)
    nColpiMax = CInt(InputBox("Per quanti colpi verificare?","Colpi di verifica",2))
    Call VerificaEsitoNew(aNumeri,aRuote,nSorte,Inizio,Fine,nColpiMax,RetEsito,RetColpi,RetEstratti,RetIdEstr,nCasiPos,nCasiNeg,nCasiInCorso)
End Sub
Sub VerificaEsitoNew(aNumeri,aRuote,nSorte,Inizio,Fine,nColpiMax,RetEsito,RetColpi,RetEstratti,RetIdEstr,nCasiPos,nCasiNeg,nCasiInCorso)
    Dim InizioTmp
    InizioTmp = Inizio
    'ciclo dal valore di inizio range alla fine esco dal ciclo quando raggiungo la fine
    Do While Inizio < Fine
        'verifico l'esito passando come paratro solo l'inizio
        'la funzione verifica in nColpiMax l'esito ed esce con true appena viene verificato quindi non ha bisogno del parametro fine range
        If VerificaEsito(aNumeri,aRuote,Inizio,nSorte,nColpiMax,,RetEsito,RetColpi,RetEstratti,RetIdEstr) Then
            'se in in nColpiMax ottendo true incremento il contatore dei casi positivi e scivo a video i risultati
            nCasiPos = nCasiPos + 1
            Scrivi("Range analisi : " & DataEstrazione(Inizio,True) & " - " & DataEstrazione((Inizio) + nColpiMax,True))
            Scrivi(" ")
            Scrivi("Esito positivo per : " & RetEsito)
            Scrivi("Uscito dopo colpi " & RetColpi)
            Scrivi("Data si uscita : " & DataEstrazione(RetIdEstr,True) & "  Numeri estrazione : " & RetEstratti)
            Scrivi(" ")
            Scrivi(" ")
        Else
            ' se verifica esito restituisce false verifico se il valore di range inizio sommato ai colpi massimi supera la fine del range impostato allora è un caso in corso
            If(Inizio + nColpiMax) > Fine Then
                nCasiInCorso = nCasiInCorso + 1
            Else
                'sapendo a priori che non ha trovato nessun esito ma i colpi sommati al valore di inizio non supera la fine del range impostato allora si tratta di un caso negativo
                nCasiNeg = nCasiNeg + 1
            End If
        End If
        Call AvanzamentoElab(InizioTmp,Fine,Inizio)
        'incremento l'inizio del range pari a nColpiMax indistintamente se ha avuto un esito positivo o negativo ponendo il presupposto di non superare il range delle estrazioni
        If(Inizio + nColpiMax) < Fine Then
            Inizio = Inizio + nColpiMax
        Else
            ' se lo superiamo incremento solo di uno
            Inizio = Inizio + 1
        End If
        If ScriptInterrotto Then Exit Do
    Loop
    Scrivi("Casi positivi totali : " & nCasiPos)
    Scrivi("Casi negativi totali : " & nCasiNeg)
    Scrivi("Casi in corso totali : " & nCasiInCorso)
End Sub

Ora non uccidetemi per eventuali errori. L'ho fatto in 10 minuti di orologio (sono le 23:29) e non ho verificato i risultati... Vedi se questo è bene o male ciò che cerchi da verifica esito (correttezza dei risultati a parte).

Facciamo così visto anche che ancora non sono rientrato al massimo delle mie condizioni fisiche 😵‍💫🥴 prova ad implementare se e quando vuoi la tua soluzione, che comunque ho fatto girare e mi sembra già faccia quasi tutto quello che intendevo..., poi semmai si prova ad aggiustare le cose dopo... (tipo colpo massimo ecc..). 💪👋🙂 ps: la tua ultima versione non l'ho ancora provata quindi se l'hai già fatto fai come se non avessi scritto nulla 🙃
 

ppaaoolloo

Super Member >PLATINUM<
ciao
chiedo se possibile avere un aggiunta,
cioè avere la possibilità di poter scegliere
un certo numero di numeri consecutivi oppure
la funzione "Statistica formazioni" anche per
la piramide ritardi

ringrazio anticipatamete per la gentile risposta

saluti
 

Edoardo_95

Advanced Member
Nuovo aggiornamento (30/03/2024)

RicercaLunghetteNET 1.0.21

Cambiamenti :
  1. Rimosso browser estrazioni da schermata principale, ed inserito in menu -> Archivio -> Browser standard
  2. Inserito calendario al posto del browser (quel punto vuoto mi urtava)
  3. All'interno del browser aggiunta possibilità di visualizzare Ritardi/frequenze - Somme/Distanze, Disegnare, ricercare, filtri preimpostati ecc ecc..
  4. Aggiunta sezione "Classifiche"
  5. Aggiunta possibilità attraverso il doppio click di far partire automaticamente la statistica della formazione in esame (funzione abilitata sia nella griglia delle lunghette sia all'interno della funzione piramide ritardi (come da richiesta ppaaoolloo).
  6. Aggiunta funzione "Statistica esiti" ancora in fase sperimentale (come da richiesta Lotto_Tom).
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 26 aprile 2024
    Bari
    65
    67
    84
    22
    77
    Cagliari
    38
    09
    83
    18
    20
    Firenze
    76
    24
    78
    30
    40
    Genova
    50
    56
    61
    90
    57
    Milano
    87
    21
    15
    12
    79
    Napoli
    13
    66
    86
    25
    49
    Palermo
    72
    60
    68
    74
    09
    Roma
    23
    15
    43
    07
    75
    Torino
    82
    79
    31
    41
    64
    Venezia
    66
    89
    18
    80
    41
    Nazionale
    04
    24
    10
    69
    73
    Estrazione Simbolotto
    Genova
    33
    03
    16
    35
    32

Ultimi Messaggi

Alto