Novità

Qualche script's guru realizzerebbe questo? senza scomodare the Master Luigi - Thanks

lotto_tom75

Advanced Premium Member
Mi servirebbe, se non c'e' già..., in questo caso vi prego di indicarmi il link, uno script che facesse questo:

Elaborasse un report finale con i valori di RA, RS, INCMAX, FREQ e DIFF (=RS-RA) delle ultime 30 estrazioni per ogni numero estratto sulla ruota di BARI. Grazie :)

Ps: Per adesso sto provando a creare questo report a mano... ma non è affatto semplice... :( :eek: :rolleyes: .
 
Ciao Tom.

E' difficile che esista uno script per una richiestache è sia molto generica, che molto specifica, contemporaneamente.

Ma se cerchi nella guida trovi la descrizione e la presenza di questa istruzione:

StatisticaFormazione(aNumeri, aRuote, Sorte, Ritardo, RitardoMax, IncrRitMax, Frequenza, Optional inizio = 0, Optional fine = 0, Optional idArchivio = 0 , aPosizioni = Nothing)

Mi sembra idonea a fornire le risposte per tutte le tue richieste.

Pertanto devi solo "passargli" uno a uno i 5 numeri presenti nelle 30 Estrazioni.

La Ruota, anch'essa in Array. Poi, la data a cui calcolare e gli altri parametri.

:) Buona giornata.
 
Ciao Tom,Ciao Joe
Ho provato a fare lo script, per favore controllate se funiona correttamente.
Joe per favore mi potresti dire come ottimizzare il codice?
Codice:
Option Explicit
Sub Main
' Script ritardo su tot Estrazioni, richiesta da Tom
'Controllare eventuali Bugs
'
'

    Dim i,j,x,y,z,Valido                     'variabili contatore
    Dim IniRic,FinRic,nEstr,qEstr,IdEstr ' variabili estrazioni
    Dim nRuote 'variabile Numeroruote
    Dim Rit,Fre,rRit,rFre,rRitMax,rIncRitMax,Scarto
    Dim aTitolo,s
    Dim nColTotSvil
    ReDim aRuote(0)                 ' matrici ridimensionabili che contiene le ruote
    ReDim aNum(0) ' matrice ridimensionabile che contiene tutti i numeri estratti senza ripetizioni
    '""
    qEstr = CInt(InputBox("Inserisci  il numero di estrazioni da calcolare","Verifica N estrazioni",9))
    nRuote = ScegliRuote(aRuote)
    IniRic = EstrazioneFin - qEstr
    FinRic = EstrazioneFin
    aTitolo = Array("","Id","Estratto","Rit","RitSto","ScartoR","IncRit","Fre")
    InitTabella(aTitolo)
    For IdEstr = IniRic To FinRic
        Messaggio IdEstr
        AvanzamentoElab IniRic,FinRic,IdEstr
        For i = 1 To UBound(aRuote)
            For j = 1 To 90
                If Posizione(IdEstr,aRuote(i),j) > 0 Then
                    Valido = True
                    For x = 1 To UBound(aNum)
                        If aNum(x) = j Then Valido = False
                    Next
                    If Valido = True Then
                        y = y + 1
                        ReDim Preserve aNum(y)
                        aNum(y) = j
                    End If
                End If
            Next
        Next
    Next
    For i = UBound(aRuote) To 1 Step - 1
        s = SiglaRuota(aRuote(i)) & "." & s
    Next
    s = RimuoviLastChr(s,".")
    Scrivi "ruote di Calcolo: "&s
    Call OrdinaMatrice(aNum,1) ' questa riga ordina i numeri sortiti in ordine crescente, se si remma li lascia in ordine di sortita
    z = 0
    nColTotSvil = InitSviluppoIntegrale(aNum,1)
    Do While GetCombSviluppo(aNum)
        z = z + 1
        Messaggio "Elaborazione in corso id sviluppo: " & z
        AvanzamentoElab 1,nColTotSvil,z
        If ScriptInterrotto Then Exit Do
        s = StringaNumeri(aNum,,True)
        Call StatisticaFormazioneTurbo(aNum,aRuote,1,rRit,rRitMax,rIncRitMax,rFre,3914,EstrazioneFin)
        Scarto=rRitMax-rRit
        ReDim aRis(7)
        Call alimentaArrayTab(aRis,z,s,rRit,rRitMax,Scarto,rIncRitMax,rFre)
        Call AddRigaTabella(aRis)
    Loop
    Call CreaTabellaOrdinabile
End Sub
Sub alimentaArrayTab(aRis,id,Formazione,Rit,RitMax,Scarto,IncRitMax,freq)
    aRis(1) = id
    aRis(2) = Formazione
    aRis(3) = Rit
    aRis(4) = RitMax 
    aRis(5) =Scarto
    aRis(6) = IncRitMax     
    aRis(7) = freq
End Sub
ciao a tutti:)
 
Ciao I legend.

Confesso d'avere difficoltà a leggere gli script ... specie quelli altrui,

ma anche i miei, più difficili, non riesco a leggerli e forse non saprei riscriverli.

In linea tendenziale se uno script si esegue in meno di un secondo ...

non conviene impegnarsi per migliorarlo.

Escludendo naturalmente la soddisfazione per il risultato.

Mentre se gli script impiegano ore o giorni di elaborazione potrebbe

essere interessante studiare ... se ci sono algoritmi in grado di ridurne i tempi di elaborazione.

Ma questo è nella possibilità di chi ha inquadrature date dallo studio,

o la possibilità di utilizzare linguaggi particolarmente adatti ... o più adatti allo scopo.

Ambo le cose, non sono nelle mie diponibilità.

Tuttavia spesso si riescono a trovare soluzioni alternative più che soddisfacenti.

E' come dire in una speciale parafrasi del motto: "La fame aguzza l'ingenio"

Cioè pur di non dover impegnare il pc ... ed attendere per giorni ...

studiandoci su, si trovano soluzioni "ottimizzanti".

Poi, compilando il codice un aumento di performance nell'ordine di qualche decina di punti percentuali

cioè circa il 20/30% di aumento della velocità si ottiene.

:)
 
Codice:
            For j = 1 To 90
                If Posizione(IdEstr,aRuote(i),j) > 0 Then
                    Valido = True

Si tratterebbe di provare se, in alternativa con :

For P =1 To 5

"si legge un estratto" se è valido, si controllano tutti e 5 ... anzicchè 90

(eliminando una "parte" delle reiterazioni).

Poi si potrebbe misurare e memorizzare, una sola volta, tutti gli storici, ad inizio periodo,

per poi gestirli individualmente. In questo modo si calcolano una volta sola.

Ma facendo così si utilizzzano solo le istruzioni più generiche di quella qui considerata.

:)
 
Ciao Tom,Ciao Joe
Ho provato a fare lo script, per favore controllate se funiona correttamente.
Joe per favore mi potresti dire come ottimizzare il codice?
Codice:
Option Explicit
Sub Main
' Script ritardo su tot Estrazioni, richiesta da Tom
'Controllare eventuali Bugs
'
'

    Dim i,j,x,y,z,Valido                     'variabili contatore
    Dim IniRic,FinRic,nEstr,qEstr,IdEstr ' variabili estrazioni
    Dim nRuote 'variabile Numeroruote
    Dim Rit,Fre,rRit,rFre,rRitMax,rIncRitMax,Scarto
    Dim aTitolo,s
    Dim nColTotSvil
    ReDim aRuote(0)                 ' matrici ridimensionabili che contiene le ruote
    ReDim aNum(0) ' matrice ridimensionabile che contiene tutti i numeri estratti senza ripetizioni
    '""
    qEstr = CInt(InputBox("Inserisci  il numero di estrazioni da calcolare","Verifica N estrazioni",9))
    nRuote = ScegliRuote(aRuote)
    IniRic = EstrazioneFin - qEstr
    FinRic = EstrazioneFin
    aTitolo = Array("","Id","Estratto","Rit","RitSto","ScartoR","IncRit","Fre")
    InitTabella(aTitolo)
    For IdEstr = IniRic To FinRic
        Messaggio IdEstr
        AvanzamentoElab IniRic,FinRic,IdEstr
        For i = 1 To UBound(aRuote)
            For j = 1 To 90
                If Posizione(IdEstr,aRuote(i),j) > 0 Then
                    Valido = True
                    For x = 1 To UBound(aNum)
                        If aNum(x) = j Then Valido = False
                    Next
                    If Valido = True Then
                        y = y + 1
                        ReDim Preserve aNum(y)
                        aNum(y) = j
                    End If
                End If
            Next
        Next
    Next
    For i = UBound(aRuote) To 1 Step - 1
        s = SiglaRuota(aRuote(i)) & "." & s
    Next
    s = RimuoviLastChr(s,".")
    Scrivi "ruote di Calcolo: "&s
    Call OrdinaMatrice(aNum,1) ' questa riga ordina i numeri sortiti in ordine crescente, se si remma li lascia in ordine di sortita
    z = 0
    nColTotSvil = InitSviluppoIntegrale(aNum,1)
    Do While GetCombSviluppo(aNum)
        z = z + 1
        Messaggio "Elaborazione in corso id sviluppo: " & z
        AvanzamentoElab 1,nColTotSvil,z
        If ScriptInterrotto Then Exit Do
        s = StringaNumeri(aNum,,True)
        Call StatisticaFormazioneTurbo(aNum,aRuote,1,rRit,rRitMax,rIncRitMax,rFre,3914,EstrazioneFin)
        Scarto=rRitMax-rRit
        ReDim aRis(7)
        Call alimentaArrayTab(aRis,z,s,rRit,rRitMax,Scarto,rIncRitMax,rFre)
        Call AddRigaTabella(aRis)
    Loop
    Call CreaTabellaOrdinabile
End Sub
Sub alimentaArrayTab(aRis,id,Formazione,Rit,RitMax,Scarto,IncRitMax,freq)
    aRis(1) = id
    aRis(2) = Formazione
    aRis(3) = Rit
    aRis(4) = RitMax 
    aRis(5) =Scarto
    aRis(6) = IncRitMax     
    aRis(7) = freq
End Sub
ciao a tutti:)

Ciao i legend GRAZIE per il tuo script, ma temo che non sia quello che andavo cercando :( :) . Ad ogni modo mi spiegheresti cosa indica esattamente il tuo script? Perchè credo che dopo che l'ho compreso potrebbe aprirmi altri spiragli riduzionali interessanti...

Per quanto riguarda la mia richiesta sopra riportata intendevo qualcosa di questo tipo

Per ogni estrazione (es. le ultime 9) e la ruota voluta (es. BA)
si avrebbe dovuto avere un report di questo tipo

data - n1 - ra - rs - incmax - freq - diff - n2 - ra - rs - incmax - freq - diff - n3 - n1 - ra - rs - incmax - freq - diff - n4 - ra - rs - incmax - freq - diff - n5 - ra - rs - incmax - freq - diff

dove n1,n2,n3,n4,n5 sono in numeri usciti ad ogni estrazione su BA in 1°,2°,3°,4° e 5° posizione :)

Grazie molte comunque i legend

Ps: In attesa di sapere come meglio utilizzare il tuo grandioso script, per contraccambiare il favore ti dico che anche se... la diff ridotta per qualsiasi sorte (es. A in terzina...) fa molta gola... purtroppo , almeno nella mia esperienza in tal senso, arrivati all'agognata diff=0 non si ha nella maggior parte dei casi... lo sfaldamento sperato.. (che ti auguro comunque di avere e non solo per A ;) ) ma l'incremento dell'incmax... e... più la lunghetta è corta... più l'allungamento... dell'incmax è consistente... Spesso comunque accade che entro 3 colpi si verifichi la sorte-2 punti rispetto la sorte di sfaldamento anelata... Nel tuo caso di A in terzina se ho letto bene.. dovrebbe verificarsi almeno E ma non è detto... :rolleyes: Good Luck e Good Saturday i legend! :o
 
Ciao Tom , in pratica quando inserisci quante estrazioni vuoi valutare, prende tutti i numeri,n1,n2,n3,n4,n5 li carico in ub Array e ne calcolo tutto quello che mi hai chiesto,
infatti se vedi non sono presenti tutti i numeri perche alcuni sono ripetuti.
Forse si puo modificare puoi fare uno schema con un foglio di calcolo per capire come vorresti la tabella?
Fai un esempio , se riesco , mi cimento:)buona domenica anche a te e a tutti:)
P.S: grazie per i consigli;)
 
Ciao ho provato a migliorare lo script, spero di esserci riuscito
ecco il codice
Codice:
Option Explicit
Sub Main
    ' Script ritardo Di Un estratto su tot Estrazioni, richiesta da Tom
    'Controllare eventuali Bugs
    ' lo script rileva tutti i numeri sortiti nelle tot estrazioni scelte
    ' se scrivo 9 le estrazioni saranno dieci, l'ultima estrazione in archivio
    ' è l'estrazione zero,Potete scegliere voi come impostare la ricerca
    '
    Dim i,j,x,y,z,K,F,Valido,Pres 'variabili contatore
    Dim IniRic,FinRic,nEstr,qEstr,IdEstr ' variabili estrazioni
    Dim nRuota 'variabile Numeroruote
    Dim Rit,Fre,rRit,rFre,rRitMax,rIncRitMax,Scarto
    Dim aTitolo,s
    Dim nColTotSvil
    Dim aRuota(1) ' matrici ridimensionabili che contiene le ruote
    ReDim aNum(0) ' matrice ridimensionabile che contiene tutti i numeri estratti senza ripetizioni
    '""
    qEstr = CInt(InputBox("Inserisci  il numero di estrazioni da calcolare","Verifica N estrazioni",9))
    nRuota = ScegliRuota
    aRuota(1) = nRuota
    IniRic = EstrazioneFin - qEstr
    FinRic = EstrazioneFin
    aTitolo = Array("","Id","Estratto","Pres","Rit","RitSto","ScartoR","IncRit","Fre")
    InitTabella(aTitolo)
    For j = 1 To 90
        If EstrattoFrequenzaTurbo(nRuota,j,IniRic,FinRic) > 0 Then
            Valido = True
            For x = 1 To UBound(aNum)
                If aNum(x) = j Then Valido = False
            Next
            If Valido = True Then
                y = y + 1
                ReDim Preserve aNum(y)
                aNum(y) = j
            End If
        End If
    Next
    s = SiglaRuota(aRuota(1)) & "." & s
    Call ScriviIntestazione(s,qEstr,y)
    Scrivi
    Call OrdinaMatrice(aNum,1) ' questa riga ordina i numeri sortiti in ordine crescente, se si remma li lascia in ordine di sortita
    z = 0
    nColTotSvil = InitSviluppoIntegrale(aNum,1)
    Do While GetCombSviluppo(aNum)
        z = z + 1
        Messaggio "Elaborazione in corso id sviluppo: " & z
        AvanzamentoElab 1,nColTotSvil,z
        If ScriptInterrotto Then Exit Do
        s = StringaNumeri(aNum,,True)
        Call StatisticaFormazioneTurbo(aNum,aRuota,1,rRit,rRitMax,rIncRitMax,rFre,3914,EstrazioneFin)
        For K = 1 To UBound(aNum)
            F = aNum(K)
            Pres = EstrattoFrequenza(nRuota,F,IniRic,FinRic)
        Next
        Scarto = rRitMax - rRit
        ReDim aRis(8)
        Call alimentaArrayTab(aRis,z,s,Pres,rRit,rRitMax,Scarto,rIncRitMax,rFre)
        Call AddRigaTabella(aRis)
    Loop
    Call CreaTabellaOrdinabile
End Sub
Sub alimentaArrayTab(aRis,id,Formazione,pres,Rit,RitMax,Scarto,IncRitMax,freq)
    aRis(1) = id
    aRis(2) = Formazione
    aRis(3) = pres
    aRis(4) = Rit
    aRis(5) = RitMax
    aRis(6) = Scarto
    aRis(7) = IncRitMax
    aRis(8) = freq
End Sub
Sub ScriviIntestazione(s,qEstr,y)
    Scrivi "Ruote di Ricerca            : " & s
    Scrivi "Estrazioni Verificate       : " & qEstr
    Scrivi "Quantita Numeri Rilevati    : " & y
    Scrivi
    Scrivi "Legenda Colonne Intestazione:"
    Scrivi "Estratto= Numero Estratto"
    Scrivi "Pres=Presenza dell'estratto nelle Tot estrazioni"
    Scrivi "Rit=Ritardo cronologico;RitSto=Ritardo Storico"
    Scrivi "ScartoR=Differenza Tra Ritardo cronologico e ritardo storico"
    Scrivi "IncRit=incremento del ritardo storico"
    Scrivi "Fre=Frequenza dal(05/01/1946) all'Ultima Estrazione"
    Scrivi
End Sub

Ciao a tutti:)
 
Ciao ho provato a migliorare lo script, spero di esserci riuscito
ecco il codice
Codice:
Option Explicit
Sub Main
    ' Script ritardo Di Un estratto su tot Estrazioni, richiesta da Tom
    'Controllare eventuali Bugs
    ' lo script rileva tutti i numeri sortiti nelle tot estrazioni scelte
    ' se scrivo 9 le estrazioni saranno dieci, l'ultima estrazione in archivio
    ' è l'estrazione zero,Potete scegliere voi come impostare la ricerca
    '
    Dim i,j,x,y,z,K,F,Valido,Pres 'variabili contatore
    Dim IniRic,FinRic,nEstr,qEstr,IdEstr ' variabili estrazioni
    Dim nRuota 'variabile Numeroruote
    Dim Rit,Fre,rRit,rFre,rRitMax,rIncRitMax,Scarto
    Dim aTitolo,s
    Dim nColTotSvil
    Dim aRuota(1) ' matrici ridimensionabili che contiene le ruote
    ReDim aNum(0) ' matrice ridimensionabile che contiene tutti i numeri estratti senza ripetizioni
    '""
    qEstr = CInt(InputBox("Inserisci  il numero di estrazioni da calcolare","Verifica N estrazioni",9))
    nRuota = ScegliRuota
    aRuota(1) = nRuota
    IniRic = EstrazioneFin - qEstr
    FinRic = EstrazioneFin
    aTitolo = Array("","Id","Estratto","Pres","Rit","RitSto","ScartoR","IncRit","Fre")
    InitTabella(aTitolo)
    For j = 1 To 90
        If EstrattoFrequenzaTurbo(nRuota,j,IniRic,FinRic) > 0 Then
            Valido = True
            For x = 1 To UBound(aNum)
                If aNum(x) = j Then Valido = False
            Next
            If Valido = True Then
                y = y + 1
                ReDim Preserve aNum(y)
                aNum(y) = j
            End If
        End If
    Next
    s = SiglaRuota(aRuota(1)) & "." & s
    Call ScriviIntestazione(s,qEstr,y)
    Scrivi
    Call OrdinaMatrice(aNum,1) ' questa riga ordina i numeri sortiti in ordine crescente, se si remma li lascia in ordine di sortita
    z = 0
    nColTotSvil = InitSviluppoIntegrale(aNum,1)
    Do While GetCombSviluppo(aNum)
        z = z + 1
        Messaggio "Elaborazione in corso id sviluppo: " & z
        AvanzamentoElab 1,nColTotSvil,z
        If ScriptInterrotto Then Exit Do
        s = StringaNumeri(aNum,,True)
        Call StatisticaFormazioneTurbo(aNum,aRuota,1,rRit,rRitMax,rIncRitMax,rFre,3914,EstrazioneFin)
        For K = 1 To UBound(aNum)
            F = aNum(K)
            Pres = EstrattoFrequenza(nRuota,F,IniRic,FinRic)
        Next
        Scarto = rRitMax - rRit
        ReDim aRis(8)
        Call alimentaArrayTab(aRis,z,s,Pres,rRit,rRitMax,Scarto,rIncRitMax,rFre)
        Call AddRigaTabella(aRis)
    Loop
    Call CreaTabellaOrdinabile
End Sub
Sub alimentaArrayTab(aRis,id,Formazione,pres,Rit,RitMax,Scarto,IncRitMax,freq)
    aRis(1) = id
    aRis(2) = Formazione
    aRis(3) = pres
    aRis(4) = Rit
    aRis(5) = RitMax
    aRis(6) = Scarto
    aRis(7) = IncRitMax
    aRis(8) = freq
End Sub
Sub ScriviIntestazione(s,qEstr,y)
    Scrivi "Ruote di Ricerca            : " & s
    Scrivi "Estrazioni Verificate       : " & qEstr
    Scrivi "Quantita Numeri Rilevati    : " & y
    Scrivi
    Scrivi "Legenda Colonne Intestazione:"
    Scrivi "Estratto= Numero Estratto"
    Scrivi "Pres=Presenza dell'estratto nelle Tot estrazioni"
    Scrivi "Rit=Ritardo cronologico;RitSto=Ritardo Storico"
    Scrivi "ScartoR=Differenza Tra Ritardo cronologico e ritardo storico"
    Scrivi "IncRit=incremento del ritardo storico"
    Scrivi "Fre=Frequenza dal(05/01/1946) all'Ultima Estrazione"
    Scrivi
End Sub

Ciao a tutti:)

Visto solo ora :( :)

GRAZIE i legend!

Appena ho 5 min lo provo e ti faccio sapere!

Ciao grande! ;)

Ps: Per ridurre notevolmente i calcoli e le ricerche per ottenere nuove interessanti microlunghette (15ine) per A in massimo 3 colpi su unica ruota basterebbe.., ma non so da che parte rifarmi..., mostrare in output solo quelle con ultimo incmax = massimo valore di incmax rilevato per la stessa sorte in microlunghetta ricercata nel passato... ed effettuare possibilmente questa ricerca in modo integrale... per evitare in modalità random, casi doppioni... Ecco qui un vecchio mio post rimasto alla deriva... relativo a tutto ciò se ti può servire a spiegare un pò meglio la cosa... altrimenti chiedimi pure 24h/24 :D e provo a specificarti i punti che hai meno chiari. ;)
 
Ultima modifica:
Ciao Tom , ora sto combattendo per uno script sulle frequenze dopo spie, appena possibile do un occhio, cmq quello che proponi non so se sia possibile.
Questo è il numero delle combinazione di 90 elementi in quindicine:
non saprei come fare a sviluppare tutte le combinazioni
a dopo;)

[TD="width: 290"] 45795673964460800


[/TD]
 
Ciao Tom , ora sto combattendo per uno script sulle frequenze dopo spie, appena possibile do un occhio, cmq quello che proponi non so se sia possibile.
Questo è il numero delle combinazione di 90 elementi in quindicine:
non saprei come fare a sviluppare tutte le combinazioni
a dopo;)

[TD="width: 290"] 45795673964460800


[/TD]

Ciao i legend :) effettivamente preso di punta... il problema sopra esposto è insormontabile... ma aggirandolo... possiamo considerare anche uno sviluppo integrale di una parte della massa numerica gigantesca da te correttamente evidenziata. Una Parte che ha però dei presupposti teorici statisitci relativamente interessanti scelta con ulteriori precedenti passaggi. Quindi il problema torna ad essere solo...:

1) sviluppare 15ine integrali da una massa non di 90 numeri ma di una parte di questi ad esempio di soli... 20 numeri -> 15.504 15ine integrali solamente...

2) scegliere in automatico tra queste 15ine doc di 1° livello quelle aventi l'ultimo incmax x A uguale a loro maggiore incmax avuto nel passato... (15ine doc di 2°livello)

In alternativa allo sviluppo integrale di una parte doc dell'intera massa numerica possibile... possiamo anche considerare uno sviluppo random ma possibilmente non sviluppando colonne random doppie come invece avviene con gli attuali script che riescono a sviluppare questo tipo di colonne.

Se nn sono stato ancora troppo chiaro domandami pure i legend ;)

Ps: Ancora non ho testato il tuo nuovo ultimo script. Appena lo provo ti faccio sapere. GRAZIE!
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 21 gennaio 2025
    Bari
    78
    09
    70
    03
    23
    Cagliari
    32
    88
    30
    13
    45
    Firenze
    87
    23
    15
    39
    86
    Genova
    71
    48
    67
    59
    23
    Milano
    58
    50
    80
    85
    29
    Napoli
    90
    81
    79
    82
    62
    Palermo
    70
    33
    90
    05
    10
    Roma
    15
    71
    55
    85
    76
    Torino
    89
    09
    18
    33
    69
    Venezia
    44
    80
    82
    73
    58
    Nazionale
    80
    25
    13
    63
    17
    Estrazione Simbolotto
    Bari
    39
    36
    34
    14
    31

Ultimi Messaggi

Indietro
Alto