Novità

Controllo ultime 18 estrazioni estratti non ripetuti

oracolotto

Advanced Member >PLATINUM<
Chiedo ai bravi scripter di questo forum se è possibile avere uno script che vada a controllare, per ogni ruota, le ultime 18 estrazioni e, su queste, estrapoli i numeri non ripetuti nelle successive estrazioni, evidenziando quelli che hanno un ritardo da 6 a 15 ed in aggiunta, se possibile, segnalare gli estratti più sortiti e più ripetuti nelle 18 estrazioni.

Grazie !!! 🙏
 
Ultima modifica:
Chiedo ai bravi scripter di questo forum se è possibile avere uno script che vada a controllare, per ogni ruota, le ultime 18 estrazioni e, su queste, estrapoli i numeri non ripetuti nelle successive estrazioni, evidenziando quelli che hanno un ritardo da 6 a 15 ed in aggiunta, se possibile, segnalare gli estratti più sortiti e più ripetuti nelle 18 estrazioni.

Grazie !!! 🙏

ciao Oracolotto,

Sicuramente hai una idea precisa ed è anche espressa bene.

Tuttavia non è semplice da leggere e capire appieno.

Dovresti fornire un esempio che contenga e renda espliciti,
anche utilizzando numeri di fantasia, i periodi, in cui si eseguono le ricerche.

Mi spiego: "ultime 18" se sono "le ultime" intese nel senso più restrittivo di ultime ...

poi non rimangono estrazioni per controllare se ci sono ritardi da 5 a 15.

Stabilito con precisione cosa si vuole non sembra difficile da fare.

:)
 
Buonasera Joe e grazie mille per la tua pronta risposta, sempre disponibile !

Mi scuso se sono stato poco chiaro, sì in senso restrittivi, si prende come blocco di analisi le ultime 18 estrazioni e, come primo controllo si và a vedere gli estratti della 18° se nelle successive 17 e. quanti estratti si sono ripetuti, quante volte ripetuti e quelli che non si sono ripetuti e via di seguito con la 17°, 16° ecc.

Spero di aver contribuito a dare un po' di chiarezza sempre che non abbia chiesto una cosa astrusa e con parametri errati.

Grazie ancora!
 
Ultima modifica:
Chiedo ai bravi scripter di questo forum se è possibile avere uno script che vada a controllare, per ogni ruota, le ultime 18 estrazioni e, su queste, estrapoli i numeri non ripetuti nelle successive estrazioni, evidenziando quelli che hanno un ritardo da 6 a 15 ed in aggiunta, se possibile, segnalare gli estratti più sortiti e più ripetuti nelle 18 estrazioni.

Grazie !!! 🙏
Option Explicit
Sub Main
Dim es, r, p, n
Dim riga, contatoreRipetuti
Dim ini, fin
Dim freq(12, 90)

' Definizione del range: ultime 18 estrazioni disponibili
fin = EstrazioneFin
ini = (fin - 18) + 1

' Inizializzazione dell'array delle frequenze a 0
For r = 1 To 12
For n = 1 To 90
freq(r, n) = 0
Next
Next

' Ciclo di lettura dei dati
For es = ini To fin
For r = 1 To 12
If r <> 11 Then ' Salta la ruota Nazionale temporaneamente dal ciclo standard se necessario, o gestiscila
For p = 1 To 5
n = Estratto(es, r, p)
If n > 0 Then
freq(r, n) = freq(r, n) + 1
End If
Next
End If
Next
Next

' --- STAMPA DEI RISULTATI ---
Call Scrivi("ANALISI NUMERI RIPETUTI NELLE ULTIME 18 ESTRAZIONI", True, , 1, 5, 3)
Call Scrivi("Intervallo analizzato: da estr. " & ini & " a estr. " & fin & " (Totale: 18 estrazioni)", , , , 2, 2)
Call Scrivi("")

For r = 1 To 12
If r <> 11 Then
Call Scrivi("--- RUOTA DI " & NomeRuota(r) & " ---", True, , 2, 4, 3)
Call Scrivi("Num. | Presenze/Frequenza", True)
Call Scrivi("-------------------------")

contatoreRipetuti = 0

' Mostra solo i numeri con frequenza maggiore o uguale a 2 (ripetuti)
For n = 1 To 90
If freq(r, n) >= 2 Then
riga = "Numero " & Format2(n) & " --> Uscito " & freq(r, n) & " volte"
Call Scrivi(riga)
contatoreRipetuti = contatoreRipetuti + 1
End If
Next

If contatoreRipetuti = 0 Then
Call Scrivi("Nessun numero ripetuto in questa ruota nelle ultime 18 estrazioni.")
End If

Call Scrivi("") ' Spazio tra le ruote
End If
Next
End Sub
 
Option Explicit
Sub Main
Dim es, r, p, n
Dim riga, contatoreRipetuti
Dim ini, fin
Dim freq(12, 90)

' Definizione del range: ultime 18 estrazioni disponibili
fin = EstrazioneFin
ini = (fin - 18) + 1

' Inizializzazione dell'array delle frequenze a 0
For r = 1 To 12
For n = 1 To 90
freq(r, n) = 0
Next
Next

' Ciclo di lettura dei dati
For es = ini To fin
For r = 1 To 12
If r <> 11 Then ' Salta la ruota Nazionale temporaneamente dal ciclo standard se necessario, o gestiscila
For p = 1 To 5
n = Estratto(es, r, p)
If n > 0 Then
freq(r, n) = freq(r, n) + 1
End If
Next
End If
Next
Next

' --- STAMPA DEI RISULTATI ---
Call Scrivi("ANALISI NUMERI RIPETUTI NELLE ULTIME 18 ESTRAZIONI", True, , 1, 5, 3)
Call Scrivi("Intervallo analizzato: da estr. " & ini & " a estr. " & fin & " (Totale: 18 estrazioni)", , , , 2, 2)
Call Scrivi("")

For r = 1 To 12
If r <> 11 Then
Call Scrivi("--- RUOTA DI " & NomeRuota(r) & " ---", True, , 2, 4, 3)
Call Scrivi("Num. | Presenze/Frequenza", True)
Call Scrivi("-------------------------")

contatoreRipetuti = 0

' Mostra solo i numeri con frequenza maggiore o uguale a 2 (ripetuti)
For n = 1 To 90
If freq(r, n) >= 2 Then
riga = "Numero " & Format2(n) & " --> Uscito " & freq(r, n) & " volte"
Call Scrivi(riga)
contatoreRipetuti = contatoreRipetuti + 1
End If
Next

If contatoreRipetuti = 0 Then
Call Scrivi("Nessun numero ripetuto in questa ruota nelle ultime 18 estrazioni.")
End If

Call Scrivi("") ' Spazio tra le ruote
End If
Next
End Sub

Grazie Reacher per lo script però non fà quello che chiedo o lo fà in parte segnalando i numeri più sortiti mentre io chiedo, in primis, quelli non ripetuti nelle successive estrazioni, evidenziando quelli che hanno un ritardo da 6 a 15, la segnalazione degli estratti più sortiti e/o quelli più ripetuti nelle 18 estrazioni.
 
Prova così

Sub Main()
Dim r, p, es, numero
Dim fine, inizio, colpi
Dim presenze(90)
Dim ultimaUscita(90)
Dim elencoNumeri, elencoEvidenziati
Dim contatoreUnici, contatoreEvidenziati

colpi = 18
fine = EstrazioneFin
inizio = (fine - colpi) + 1

' Intestazione Generale dello Script
Scrivi String(75, "="), 1
Scrivi "ANALISI DI TUTTE LE RUOTE SINGOLE - ULTIME " & colpi & " ESTRAZIONI", 1
Scrivi "Intervallo analizzato: da n. " & inizio & " (" & DataEstrazione(inizio) & ") a n. " & fine & " (" & DataEstrazione(fine) & ")", 1
Scrivi String(75, "="), 1
Scrivi ""

' Ciclo su tutte le ruote (da 1 a 10 per le classiche, 12 per la Nazionale)
' Nota: il ciclo salta la ruota 11 (Tutte) perché l'analisi è incentrata sulle ruote singole
For r = 1 To 12
If r <> 11 Then ' Salta la ruota "Tutte"

Scrivi String(60, "-")
ColoreTesto 1 ' Blu per il nome della ruota
Scrivi "RUOTA DI: " & NomeRuota(r), 1
ColoreTesto 0
Scrivi String(60, "-")

' Inizializzazione degli array per la ruota corrente
For numero = 1 To 90
presenze(numero) = 0
ultimaUscita(numero) = 0
Next

' Lettura delle estrazioni per la ruota corrente
For es = inizio To fine
For p = 1 To 5
Dim estrattoCorrente
estrattoCorrente = Estratto(es, r, p)

If estrattoCorrente > 0 And estrattoCorrente <= 90 Then
presenze(estrattoCorrente) = presenze(estrattoCorrente) + 1
ultimaUscita(estrattoCorrente) = es
End If
Next
Next

' Analisi dei numeri e verifica del filtro sul ritardo (6-15)
elencoNumeri = ""
elencoEvidenziati = ""
contatoreUnici = 0
contatoreEvidenziati = 0

For numero = 1 To 90
If presenze(numero) = 1 Then
contatoreUnici = contatoreUnici + 1

' Calcolo del ritardo
Dim ritardo
ritardo = fine - ultimaUscita(numero)

' Filtro Ritardo Minimo 6 e Massimo 15
If ritardo >= 6 And ritardo <= 15 Then
elencoEvidenziati = elencoEvidenziati & numero & " (R:" & ritardo & ") "
contatoreEvidenziati = contatoreEvidenziati + 1
Else
elencoNumeri = elencoNumeri & numero & " (R:" & ritardo & ") "
End If
End If
Next

' Stampa dei risultati per la ruota corrente
Scrivi "Totale numeri usciti UNA SOLA VOLTA: " & contatoreUnici

If contatoreEvidenziati > 0 Then
ColoreTesto 2 ' Rosso per evidenziare i numeri target
Scrivi "NUMERI TARGET (Ritardo 6-15): " & elencoEvidenziati, 1
ColoreTesto 0
Else
Scrivi "Nessun numero target (Ritardo 6-15) trovato."
End If

If elencoNumeri <> "" Then
Scrivi "Altri non ripetuti (fuori dal range di ritardo): " & elencoNumeri
End If

Scrivi "" ' Riga vuota di spaziatura tra le ruote

End If
Next

Scrivi String(75, "="), 1
End Sub
 
Buongiorno Reacher, ottimo, grazie !

Manca solo la segnalazione dei n. più sortiti o più ripetuti se riesci ad aggiungerla.
 
Sub Main()
Dim r, p, es, numero
Dim fine, inizio, colpi
Dim presenze(90)
Dim ultimaUscita(90)
Dim elencoNumeri, elencoEvidenziati, elencoRipetuti
Dim contatoreUnici, contatoreEvidenziati

colpi = 18
fine = EstrazioneFin
inizio = (fine - colpi) + 1

' Intestazione Generale dello Script
Scrivi String(75, "="), 1
Scrivi "ANALISI DI TUTTE LE RUOTE SINGOLE - ULTIME " & colpi & " ESTRAZIONI", 1
Scrivi "Intervallo analizzato: da n. " & inizio & " (" & DataEstrazione(inizio) & ") a n. " & fine & " (" & DataEstrazione(fine) & ")", 1
Scrivi String(75, "="), 1
Scrivi ""

' Ciclo su tutte le ruote (da 1 a 10 per le classiche, 12 per la Nazionale)
For r = 1 To 12
If r <> 11 Then ' Salta la ruota "Tutte"

Scrivi String(60, "-")
ColoreTesto 1 ' Blu per il nome della ruota
Scrivi "RUOTA DI: " & NomeRuota(r), 1
ColoreTesto 0
Scrivi String(60, "-")

' Inizializzazione degli array per la ruota corrente
For numero = 1 To 90
presenze(numero) = 0
ultimaUscita(numero) = 0
Next

' Lettura delle estrazioni per la ruota corrente
For es = inizio To fine
For p = 1 To 5
Dim estrattoCorrente
estrattoCorrente = Estratto(es, r, p)

If estrattoCorrente > 0 And estrattoCorrente <= 90 Then
presenze(estrattoCorrente) = presenze(estrattoCorrente) + 1
ultimaUscita(estrattoCorrente) = es
End If
Next
Next

' Analisi dei numeri e verifica del filtro sul ritardo (6-15)
elencoNumeri = ""
elencoEvidenziati = ""
contatoreUnici = 0
contatoreEvidenziati = 0

For numero = 1 To 90
If presenze(numero) = 1 Then
contatoreUnici = contatoreUnici + 1

' Calcolo del ritardo
Dim ritardo
ritardo = fine - ultimaUscita(numero)

' Filtro Ritardo Minimo 6 e Massimo 15
If ritardo >= 6 And ritardo <= 15 Then
elencoEvidenziati = elencoEvidenziati & numero & " (R:" & ritardo & ") "
contatoreEvidenziati = contatoreEvidenziati + 1
Else
elencoNumeri = elencoNumeri & numero & " (R:" & ritardo & ") "
End If
End If
Next

' Ricerca dei numeri più ripetuti (presenze >= 2), ordinati per frequenza decrescente
elencoRipetuti = ""
Dim f, contatoreRipetuti
contatoreRipetuti = 0

' Ciclo a ritroso sulle frequenze (da 5 uscite massime teoriche a scendere fino a 2)
For f = 5 To 2 Step -1
For numero = 1 To 90
If presenze(numero) = f Then
elencoRipetuti = elencoRipetuti & numero & " (Pres:" & f & ") "
contatoreRipetuti = contatoreRipetuti + 1
End If
Next
Next

' --- STAMPA OUTPUT ---

' 1. Sezione numeri usciti 1 sola volta
Scrivi "Totale numeri usciti UNA SOLA VOLTA: " & contatoreUnici

If contatoreEvidenziati > 0 Then
ColoreTesto 2 ' Rosso per evidenziare i numeri target
Scrivi "NUMERI TARGET (Ritardo 6-15): " & elencoEvidenziati, 1
ColoreTesto 0
Else
Scrivi "Nessun numero target (Ritardo 6-15) trovato."
End If

If elencoNumeri <> "" Then
Scrivi "Altri non ripetuti (fuori dal range di ritardo): " & elencoNumeri
End If

' 2. Sezione numeri più ripetuti (almeno 2 uscite)
Scrivi ""
If contatoreRipetuti > 0 Then
ColoreTesto 9 ' Verde scuro/Ciano per i numeri più frequenti
Scrivi "NUMERI PIÙ RIPETUTI (Almeno 2 uscite nelle 18 estr.):", 1
ColoreTesto 0
Scrivi elencoRipetuti
Else
Scrivi "Nessun numero ripetuto (caso estremamente raro)."
End If

Scrivi "" ' Riga vuota di spaziatura tra le ruote

End If
Next

Scrivi String(75, "="), 1
End Sub
 
Scusa Reacher, un'ultima rihiesta, se hai tempo e se possibile, potresti chiedere allo script di ordinare per ritardo decrescente i numeri con ritardo da 6 a 15 ed anche Altri non ripetuti ?

Grazie di nuovo !!!
 
Ultima modifica:
Sub Main()
Dim r, p, es, numero
Dim fine, inizio, colpi
Dim presenze(90)
Dim ultimaUscita(90)
Dim elencoNumeri, elencoEvidenziati, elencoRipetuti
Dim contatoreUnici, contatoreEvidenziati

colpi = 18
fine = EstrazioneFin
inizio = (fine - colpi) + 1

' Intestazione Generale dello Script
Scrivi String(75, "="), 1
Scrivi "ANALISI DI TUTTE LE RUOTE SINGOLE - ULTIME " & colpi & " ESTRAZIONI", 1
Scrivi "Intervallo analizzato: da n. " & inizio & " (" & DataEstrazione(inizio) & ") a n. " & fine & " (" & DataEstrazione(fine) & ")", 1
Scrivi String(75, "="), 1
Scrivi ""

' Ciclo su tutte le ruote (da 1 a 10 per le classiche, 12 per la Nazionale)
For r = 1 To 12
If r <> 11 Then ' Salta la ruota "Tutte"

Scrivi String(60, "-")
ColoreTesto 1 ' Blu per il nome della ruota
Scrivi "RUOTA DI: " & NomeRuota(r), 1
ColoreTesto 0
Scrivi String(60, "-")

' Inizializzazione degli array per la ruota corrente
For numero = 1 To 90
presenze(numero) = 0
ultimaUscita(numero) = 0
Next

' Lettura delle estrazioni per la ruota corrente
For es = inizio To fine
For p = 1 To 5
Dim estrattoCorrente
estrattoCorrente = Estratto(es, r, p)

If estrattoCorrente > 0 And estrattoCorrente <= 90 Then
presenze(estrattoCorrente) = presenze(estrattoCorrente) + 1
ultimaUscita(estrattoCorrente) = es
End If
Next
Next

' Analisi dei numeri e verifica del filtro sul ritardo (6-15) - ORDINATI PER RITARDO DECRESCENTE
elencoNumeri = ""
elencoEvidenziati = ""
contatoreUnici = 0
contatoreEvidenziati = 0

' Ciclo a ritroso sui possibili ritardi (da colpi a 0) per garantire l'ordine decrescente
Dim ritardoCorrente, ritardo
For ritardoCorrente = colpi To 0 Step -1
For numero = 1 To 90
If presenze(numero) = 1 Then
ritardo = fine - ultimaUscita(numero)

' Se il ritardo del numero coincide con il ritardo corrente del ciclo
If ritardo = ritardoCorrente Then
If ritardoCorrente = fine - ultimaUscita(numero) Then ' Controllo di sicurezza
' Conteggio globale dei non ripetuti
If ritardoCorrente = ritardo Then
' (Il contatore aumenta una sola volta per numero trovato)
End If
End If

' Incrementiamo il contatore dei numeri unici totali alla prima intercettazione
' Nota: dato che verifichiamo ritardo = ritardoCorrente, ogni numero entra qui una sola volta
contatoreUnici = contatoreUnici + 1

' Filtro Ritardo Minimo 6 e Massimo 15
If ritardo >= 6 And ritardo <= 15 Then
elencoEvidenziati = elencoEvidenziati & numero & " (R:" & ritardo & ") "
contatoreEvidenziati = contatoreEvidenziati + 1
Else
elencoNumeri = elencoNumeri & numero & " (R:" & ritardo & ") "
End If
End If
End If
Next
Next

' Ricerca dei numeri più ripetuti (presenze >= 2), ordinati per frequenza decrescente
elencoRipetuti = ""
Dim f, contatoreRipetuti
contatoreRipetuti = 0

' Ciclo a ritroso sulle frequenze (da 5 uscite massime teorete a scendere fino a 2)
For f = 5 To 2 Step -1
For numero = 1 To 90
If presenze(numero) = f Then
elencoRipetuti = elencoRipetuti & numero & " (Pres:" & f & ") "
contatoreRipetuti = contatoreRipetuti + 1
End If
Next
Next

' --- STAMPA OUTPUT ---

' 1. Sezione numeri usciti 1 sola volta
Scrivi "Totale numeri usciti UNA SOLA VOLTA: " & contatoreUnici

If contatoreEvidenziati > 0 Then
ColoreTesto 2 ' Rosso per evidenziare i numeri target
Scrivi "NUMERI TARGET (Ritardo 6-15) [Ord. Ritardo Decrescente]: " & elencoEvidenziati, 1
ColoreTesto 0
Else
Scrivi "Nessun numero target (Ritardo 6-15) trovato."
End If

If elencoNumeri <> "" Then
Scrivi "Altri non ripetuti (fuori dal range di ritardo) [Ord. Ritardo Decrescente]: " & elencoNumeri
End If

' 2. Sezione numeri più ripetuti (almeno 2 uscite)
Scrivi ""
If contatoreRipetuti > 0 Then
ColoreTesto 9 ' Verde scuro/Ciano per i numeri più frequenti
Scrivi "NUMERI PIÙ RIPETUTI (Almeno 2 uscite nelle 18 estr.):", 1
ColoreTesto 0
Scrivi elencoRipetuti
Else
Scrivi "Nessun numero ripetuto (caso estremamente raro)."
End If

Scrivi "" ' Riga vuota di spaziatura tra le ruote

End If
Next

Scrivi String(75, "="), 1
End Sub
 
Eseguendo lo script di Reacher con archivio al 14/07/2026,

Scegliendo "a caso" la prima ruota e cioè Bari lo script elabora 15 numeri.

Ho costruito uno script per spacchettare e ripulire la stringa prodotta.

Cioè per ricavarne i valori utili a controllare quanti e quali risultati potesse produrre in cicli di 18 Estazioni.

Come si vede chiaramente non mancano Estratti, Ambi e Terni a partire dalle prime estrazioni

Immagine.png

:)
 
Ultima modifica:
Bravissimo Joe, visti gli esiti, molto interessante il tuo script, complimenti ! 👏👏

Cortesemente, potresti postare il tuo script ?

Grazie !!!
 
Ciao Oracolotto, Buona Domenica a tutte/i.

Come altrove, apro una parentesi chiusa.

(Per evitarmi altri insulti, che non fanno onore a chi li scrive).

Lo script che mi hai chiesto è come una marionetta senza la voce ed i comandi del burattinaio.

Come un inutile acchiappapolvere, per chi non lo sa gestire.

Basta inserire Lunghetta e ruote in cui controllare.

I valori inseriti devono essere separati da un punto. "." (Come nell'esempio proposto)

Codice:
:)

PS: Ringrazio Ramco anche lui mio Maestro , Salvo e Bubù.

Ho modificato lo script precedente inserendo degli inputbox per i valori.
 
Ultima modifica:
Ciao Joe, non ho capito bene il contenuto del tuo post enon vedo il tuo script, sempreché tu l'abbia postato o scomparso con la modifica che hai apportato al post
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 luglio 2026
    Bari
    65
    47
    09
    87
    29
    Cagliari
    47
    06
    30
    59
    72
    Firenze
    22
    32
    30
    07
    43
    Genova
    89
    55
    51
    66
    33
    Milano
    13
    44
    08
    37
    40
    Napoli
    74
    62
    83
    30
    22
    Palermo
    14
    59
    78
    12
    34
    Roma
    63
    69
    51
    12
    64
    Torino
    14
    10
    38
    52
    12
    Venezia
    51
    30
    11
    07
    03
    Nazionale
    25
    05
    89
    33
    73
    Estrazione Simbolotto
    Nazionale
    24
    17
    13
    27
    03

Ultimi Messaggi

Indietro
Alto