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:

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 17 luglio 2026
    Bari
    37
    63
    29
    38
    39
    Cagliari
    72
    29
    87
    46
    53
    Firenze
    69
    29
    67
    17
    12
    Genova
    75
    01
    43
    89
    28
    Milano
    52
    51
    25
    88
    63
    Napoli
    73
    87
    27
    48
    76
    Palermo
    63
    05
    59
    39
    19
    Roma
    39
    85
    71
    17
    53
    Torino
    49
    35
    80
    42
    89
    Venezia
    63
    66
    49
    24
    85
    Nazionale
    73
    20
    56
    11
    35
    Estrazione Simbolotto
    Nazionale
    18
    17
    40
    29
    42

Ultimi Messaggi

Indietro
Alto