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
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 14 luglio 2026
    Bari
    48
    66
    09
    78
    35
    Cagliari
    51
    52
    15
    38
    72
    Firenze
    08
    60
    78
    20
    25
    Genova
    46
    02
    05
    22
    81
    Milano
    29
    68
    75
    53
    24
    Napoli
    84
    12
    13
    81
    69
    Palermo
    28
    18
    02
    54
    38
    Roma
    36
    07
    72
    45
    16
    Torino
    76
    31
    73
    55
    20
    Venezia
    54
    51
    42
    26
    49
    Nazionale
    03
    75
    64
    09
    07
    Estrazione Simbolotto
    Nazionale
    14
    41
    29
    07
    24
Indietro
Alto