Novità

Help

i legend

Premium Member
Ciao a tutti:)
Vorrei costruire uno script che calcoli i numeri piu frequenti dopo che viene rispettata una determinata condizione di ricerca.
Ossia la prima parte l'ho risolta ,ora, vorrei far scorrere tutti e 90 i numeri verificarli, e dare in output solo quelli che rispecchiano il numero di uscite da me voluto,

Es: trovo una condizione con 12 casi spia,scelgo di vedere solo i numeri che sono sortiti almeno 8 volte .
Dim i
if condizione rispettata then
for i=1 to 90

devo immagazzinare in una matrice con redim preserve solo quei numeri che rispettano la condizine
next
end if

Questo è il primo passo , dopo vorrei inserirci qualche sommativo, ma solo per rafforzare le convergenze dei frequenti.
Cmq una cosa per volta....

Al momento Mike a altri impegni, Joe credo che non ami particolarmente i metodi sommativi,
qualche anima pia:)
 
Ciao I legend ...

Ho le mie idee, considerando l'età radicate,

ma poi ... si dev'essere disponibili al confronto.

Si è all'estrazione "Es" in cui hai trovato la "Spia"

Ruota(1) = Ruota attualmente considerata.

Quindi avrai un: InizioPeriodoControllo = Es+1 : FinePeriodocontrollo = Es + 1 + xyz_estrazioni.

Si deve anche provvedere a limitare la FinePeriodoControllo facendolo concidere ove necessario con il numero di estrazioni in archivio.

IF FinePeriodoControllo > EstrazioniArchivio then FinePeriodoControllo = EstrazioniArchivio

Se vuoi scorrere tutti "i" 90 numeri lo fai come ipotizzato con il classico for-next.

Immagazzini ogni I-esimo uno alla alla volta "temporaneamente" potrebbe essere TMP(1) = I-esimo

Poi applichi SF = Seriefreq (InizioPeriodoControllo,FinePeriodocontrollo,TMP,Ruota,1)

IF SF >=8 Then

K = k + 1

Redim Preserve Contenitore (K)

Contenitore(K) = I

End If

... ecc

:)
 
Ultima modifica:
Ciao Joe grazie,come sempre per il tuo preziosissimo aiuto, c'erano cose che non avevo considerato,
ora provo a cimentarmi:)
Ti posto lo script di abbozzo,degli input
Come potrai vedere per limitare i casi scorro le estrazioni al ritroso
forse avrò delle difficolta ad applicare il passaggio "for estr=es+1 to es+colpi"
ma devo verificarlo ovviamente:)
ecco l'abbozzo:)
semplice semplice
faccio la somma di 3 estratti qualsiasi e ricerco la stessa somma nel passato
Codice:
Option Explicit
Sub Main
' Rintracciare i Frequenti dopo Condizione
'in output solo quelli che rispettano la condizione
' al momento rintracca solo i casi non i frequenti
' controllare sempre eventuali bugs
    Dim Ini,Fin,idEstr
    Dim E1,E2,E3
    Dim aRU(3),r1,r2,r3,p1,p2,p3,nCasi,nPositivi,Casotro,nColpi
    Dim EspAtt,EspSto
    
    Fin = EstrazioneFin - 3
    Ini = EstrazioneIni
    Call SelRuote(r1,r2,r3,p1,p2,p3,aRU,nCasi,nPositivi,nColpi)
    E1 = Estratto(Fin,r1,p1)
    E2 = Estratto(Fin,r2,p2)
    E3 = Estratto(Fin,r3,p3)
    EspAtt = Fuori90(E1 + E2 + E3)
    Scrivi "NumeroCasi       :"&nCasi
    Scrivi "NumeroPositivi   :"&nPositivi
    Scrivi "NumeroColpiUtili :"&nColpi
    Scrivi "Condizione       :  " &GetInfoEstrazione(Fin) & "  " & p1 & SiglaRuota(r1) & "(" & E1 & ")+ " & p2 & SiglaRuota(r2) & "(" & E2 & ")+" & p3 & SiglaRuota(r3) & "(" & E3 & ")= "&EspAtt 


    For idEstr = Fin To Ini Step -1
        E1 = Estratto(idEstr,r1,p1)
        E2 = Estratto(idEstr,r2,p2)
        E3 = Estratto(idEstr,r3,p3)
        EspSto = Fuori90(E1 + E2 + E3)
        If EspSto = EspAtt  Then
        Casotro=Casotro+1
        If Casotro>nCasi Then Exit Sub
              ' al posto di scrivi mettere il codice delle frequenze per i colpi di gioco
        ' purtroppo non so quali funzioni applicare
            Scrivi Casotro &"  Data Condizione:  " & GetInfoEstrazione(idEstr) & "  " & p1 & SiglaRuota(r1) & "(" & E1 & ")+ " & p2 & SiglaRuota(r2) & "(" & E2 & ")+" & p3 & SiglaRuota(r3) & "(" & E3 & ")= "&EspSto 
        End If
    Next
End Sub
Sub SelRuote(r1,r2,r3,p1,p2,p3,Aru,nCasi,nPositivi,nColpi)
    r1 = ScegliRuota
    p1 = ScegliPosizione
    r2 = ScegliRuota
    p2 = ScegliPosizione
    r3 = ScegliRuota
    p3 = ScegliPosizione
    Aru(1) = r1
    Aru(2) = r2
    Aru(3) = r3
    nCasi=QuantiCasi 
    nPositivi=QuantiPositivi(nCasi)    
    nColpi=QuantiColpi
End Sub
Function ScegliPosizione
    Dim aVoci,bRet
    aVoci = Array("","1","2","3","4","5")
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaPosizioneEstratto")
    ScegliPosizione = bRet
End Function
Function QuantiCasi
Dim m
Dim i,bRet
For i=2 To 30
m=m+1
ReDim Preserve aVoci(m)
aVoci(m)=i

Next
bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaQuantiCasiEsaminare")
QuantiCasi=bRet+1
End Function
Function QuantiPositivi(idQuantiCasi)
Dim m
Dim i,bRet
For i=1 To idQuantiCasi-1
m=m+1
ReDim Preserve aVoci(m)
aVoci(m)=i
Next
bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaQuantiPositiviRintracciare")
QuantiPositivi=bRet
End Function
Function QuantiColpi
Dim aVoci(15)
Dim i,bRet
For i=1 To 15
aVoci(i)=i

Next
bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaQuantiColpiEsaminare")
QuantiColpi=bRet
End Function
C'è un modo piu elegante per fermare la ricerca ai casi voluti senza conoscere la data di partenza?
Un abbraccio a Mike e a tutti proprio a tutti
grazie:)
 
Ciao.

Premetto che non ho eseguito lo script ... ma:

"For idEstr = Fin To Ini Step -1"

Ha logica invertita rispetto a quanto avevo scritto ...

sicchè bisognerebbe rovesciare anche tutto

il ragionamento di base precedentemente esposto (limitando il periodo ad es-1 ... e ... Es -1 - TOT)

Ma poi ... ci si ritroverebbe ad aver utilizzato una sorta di "archivio virtuale" ed i risultati raccolti in esso ...

non tropppo significativi ... per l'archivio reale.

Ovvero invertendo nuovamente l'archivio al normale se giocati all'inizio-periodo essi darebbero risultati sicuri.

Giocati-dopo ... aver già dato risultati sicuri ... non possono che riferire del loro "passo" stanco.

:)
 
Ultima modifica:
Ciao Joe ,come al solito hai ragione...:)
Sto diventando scemo,
Butto tutto e ricostruisco, se qualcosa non va nella logica, bisogna cambiare...
Ora stacco e ci riprovo stasera:)
Ci tengo davvero tanto a regalare questo script:)
a dopo,,,,
Ciao:)
 
Ciao ho fatto ma non riesco a far funzionare correttamente serieFreq
Ecci lo script
Mi piacerebbe in output restituire il numero e le sue presenze
Codice:
Option Explicit
Sub Main
    ' Rintracciare i Frequenti dopo Condizione
    'in output solo quelli che rispettano la condizione
    ' al momento rintracca solo i casi non i frequenti
    ' controllare sempre eventuali bugs
    Dim Ini,Fin,idEstr
    Dim E1,E2,E3
    Dim aRU(3),r1,r2,r3,p1,p2,p3,Casotro,nColpi
    Dim EspAtt,EspSto
    Dim idGioco,IniGioco,FinGioco
    Dim i,k,j,y,x,Tmp(1),Valido,Conta,kk
    Dim nFreq,RetFre,aRUGioco(1)
    ReDim aNumFr(0)
    Ini = CInt(InputBox("estrazione Inizio ricerca","End",EstrazioneFin - 300))
    Fin = CInt(InputBox("estrazione Fine ricerca","End",EstrazioneFin - 3))
    Call SelRuote(r1,r2,r3,p1,p2,p3,aRU,nColpi)
    MsgBox" sel Ruota di Gioco"
    aRUGioco(1) = ScegliRuota
    E1 = Estratto(Fin,r1,p1)
    E2 = Estratto(Fin,r2,p2)
    E3 = Estratto(Fin,r3,p3)
    EspAtt = Fuori90(E1 + E2 + E3)
    Scrivi "NumeroColpiUtili :" & nColpi
    Scrivi "Condizione       :  " & GetInfoEstrazione(Fin) & "  " & p1 & SiglaRuota(r1) & "(" & E1 & ")+ " & p2 & SiglaRuota(r2) & "(" & E2 & ")+" & p3 & SiglaRuota(r3) & "(" & E3 & ")= " & EspAtt
    For idEstr = Ini To Fin
        E1 = Estratto(idEstr,r1,p1)
        E2 = Estratto(idEstr,r2,p2)
        E3 = Estratto(idEstr,r3,p3)
        EspSto = Fuori90(E1 + E2 + E3)
        If EspSto = EspAtt Then
            Casotro = Casotro + 1
            IniGioco = idEstr + 1
            FinGioco = IniGioco + nColpi
            Messaggio "caso n° :" & Casotro
            AvanzamentoElab Ini,Fin,idEstr
            For idGioco = IniGioco To FinGioco
                If FinGioco > Fin Then FinGioco = Fin
                j = 0
                For i = 1 To 90
                    Tmp(1) = i
                    nFreq = SerieFreqTurbo(IniGioco,FinGioco,Tmp,aRUGioco,1)
                    'Scrivi i &"."&nFreq
                    If nFreq > 0 Then ' qui metto maggior di 0 perchè è la frquenza di un caso
                        j = j + 1
                        ReDim Preserve aNumFr(j)
                        aNumFr(j) = i ' qui carico la matrice Caso dopo caso
                    End If
                Next
            Next
            Scrivi GetInfoEstrazione(idEstr)
        End If
    Next
    Scrivi "Numero casi: " & Casotro
    For k = 1 To UBound(aNumFr)
        Scrivi aNumFr(k)
    Next
    End Sub
Sub SelRuote(r1,r2,r3,p1,p2,p3,Aru,nColpi)
    r1 = ScegliRuota
    p1 = ScegliPosizione
    r2 = ScegliRuota
    p2 = ScegliPosizione
    r3 = ScegliRuota
    p3 = ScegliPosizione
    Aru(1) = r1
    Aru(2) = r2
    Aru(3) = r3
    nColpi = QuantiColpi
End Sub
Function ScegliPosizione
    Dim aVoci,bRet
    aVoci = Array("","1","2","3","4","5")
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaPosizioneEstratto")
    ScegliPosizione = bRet
End Function
Function QuantiColpi
    Dim aVoci(15)
    Dim i,bRet
    For i = 1 To 15
        aVoci(i) = i
    Next
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaQuantiColpiEsaminare")
    QuantiColpi = bRet
End Function

Grazie Joe, a dopo
 
Ciao I Legend,

Buona sera a tutte/i.

Non ho eseguito lo script ... ma mi pare di cogliere questa criticità.

Una premessa: E' necessario stabilire un range in cui controllare ... ed è.

Poi vi sono sostanzialmente due tecniche alternative ...

A) scorrere una ad una le estrazioni (presenti in questo intervallo)

ed in queste, uno ad uno, prelevare gli estratti e...

conteggiare le presenze di ognuno di essi (meglio) in un array da 90 Numeri.

Poi ... alla fine di queste totalizzazioni verificare quali eventualmente

hanno ragiunto e superato la frequenza stabilita ... oppure in alternativa.

B) Usare "SerieFrequenza" che svolge ed ingloba in sè quanto descritto al punto A.

Tutto ciò premesso ... pare tu abbia usato una tecnica ibrida che "quasi" moltiplica il numero di ricerche.

Rivedendo dunque lo script ... "For idGioco = IniGioco To FinGioco"

dovresti eliminarlo, se usi "SerieFreq..."

:)
 
Ultima modifica:
Ciao a tutti
Ciao joe
Tolto il ciclo che mi consigliavi ,effettivamente rallentava e disturbava il tutto
ora raccolto tutto in una matrice,
Non so perchè ma lo trovo davvero difficile venirne a capo,
Ecco il codice:
Codice:
Option Explicit
Sub Main
    ' Rintracciare i Frequenti dopo Condizione
    'in output solo quelli che rispettano la condizione
    ' al momento rintracca solo i casi non i frequenti
    ' controllare sempre eventuali bugs
    Dim Ini,Fin,idEstr
    Dim E1,E2,E3
    Dim aRU(3),r1,r2,r3,p1,p2,p3,Casotro,nColpi
    Dim EspAtt,EspSto
    Dim idGioco,IniGioco,FinGioco
    Dim i,k,j,y,x,Tmp(1),Valido,Conta,kk
    Dim nFreq,RetFre,aRUGioco(1)
    ReDim aNumFr(0)
    Ini = CInt(InputBox("estrazione Inizio ricerca","End",EstrazioneFin - 600))
    Fin = CInt(InputBox("estrazione Fine ricerca","End",EstrazioneFin - 3))
    Call SelRuote(r1,r2,r3,p1,p2,p3,aRU,nColpi)
    MsgBox" sel Ruota di Gioco"
    aRUGioco(1) = ScegliRuota
    E1 = Estratto(Fin,r1,p1)
    E2 = Estratto(Fin,r2,p2)
    E3 = Estratto(Fin,r3,p3)
    EspAtt = Fuori90(E1 + E2 + E3)
    Scrivi "NumeroColpiUtili :" & nColpi
    Scrivi "Condizione       :  " & GetInfoEstrazione(Fin) & "  " & p1 & SiglaRuota(r1) & "(" & E1 & ")+ " & p2 & SiglaRuota(r2) & "(" & E2 & ")+" & p3 & SiglaRuota(r3) & "(" & E3 & ")= " & EspAtt
    For idEstr = Ini To Fin
        E1 = Estratto(idEstr,r1,p1)
        E2 = Estratto(idEstr,r2,p2)
        E3 = Estratto(idEstr,r3,p3)
        EspSto = Fuori90(E1 + E2 + E3)
        If EspSto = EspAtt Then
            Casotro = Casotro + 1
            IniGioco = idEstr + 1
            FinGioco = IniGioco + nColpi
            Messaggio "caso n° :" & Casotro
            AvanzamentoElab Ini,Fin,idEstr
            Scrivi Casotro & "  " & GetInfoEstrazione(idEstr)
            If FinGioco > Fin Then FinGioco = Fin
            j = 0
            For i = 1 To 90
                Tmp(1) = i
                nFreq = SerieFreqTurbo(IniGioco,FinGioco,Tmp,aRUGioco,1)
                If nFreq > 0 Then
                    Conta = Conta + 1
                    ReDim Preserve aNum(Conta)
                    aNum(Conta)=i  
                    ' qui dovrei contare quante volte esce un determinato numero
                    '
                    'Scrivi aNum(Conta)                    
                    Scrivi "Estratto(" & Format2(i) & ") |Freq (" & nFreq & ")"
                End If
            Next
        End If
    Next
    Scrivi "Numero casi: " & Casotro
End Sub
Sub SelRuote(r1,r2,r3,p1,p2,p3,Aru,nColpi)
    r1 = ScegliRuota
    p1 = ScegliPosizione
    r2 = ScegliRuota
    p2 = ScegliPosizione
    r3 = ScegliRuota
    p3 = ScegliPosizione
    Aru(1) = r1
    Aru(2) = r2
    Aru(3) = r3
    nColpi = QuantiColpi
End Sub
Function ScegliPosizione
    Dim aVoci,bRet
    aVoci = Array("","1","2","3","4","5")
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaPosizioneEstratto")
    ScegliPosizione = bRet
End Function
Function QuantiColpi
    Dim aVoci(15)
    Dim i,bRet
    For i = 1 To 15
        aVoci(i) = i
    Next
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaQuantiColpiEsaminare")
    QuantiColpi = bRet
End Function
Grazie Joe ,per l'aiuto che mi dai ogni volta;):o

P.S: non sono riuscito neanche a trovare degli esempi, e se ci sono , non li ho capiti
 
Ciao ...

Secondo me ... è il contorno che è indigesto.

Lo script sembra funzionare,

Ma troppe ristrettezze imposte dagli inputbox,

determinano troppi pochi casi,

ed un periodo troppo breve, per aver "risultati"

Pertanto non è permesso di avere che degli "uno/due".

A meno, di non imbroccare una combinazione vincente di parametri.

E' come lanciare un dado ... ed avere solo e sempre "dei numeretti".

Il dado funziona ma ... numeretti ... restituisce.

Suggerimento: Prova ad ampliare moltissimo gli "spazi operativi".

Poi, valutiamo, eventuali correzioni.

Per quanto riguarda la tecnica alternativa parallelamente a questa tua richiesta,

c'è quella di Skygirl per la quale sia Maxlotto che Moro80 hanno fornito soluzioni script per i conteggi.

Rubino invece ha spiegato come verificare queste presenze ... con Spaziometria.

E ... questo è utile per avere dei valori di riferimento con cui controllare i risultati dello script.

:)
 
Ultima modifica:
Ciao Joe,grazie per i post di suggerimento, li sto studiando, e quello di maxLotto sembra andare benissimo, ma ho il problema che conta anche i ripetuti,
Es In un caso su undici il numero 5 sortisce 6 volte perchè in super freq, questo mi falsa i risultati perchè io vorrei avere risultato in binario
Es:
caso 1: il num 5 sortisce 5 volte a me deve restituire 1 e non 5, in modo tale da avere a fine ricerca le coperture per caso e non per frequenza.......
Ci sto lavorando ,ma è complicato, come l'uovo di colombo;)
Lo script che ho postato è la semplificazione dello script originale, per facilitarne la lettura,
Appena risolvo posto quello completo;)
Grazie mille;)

ti aggiorno
A dopo;)
 
Intanto con gli input box di ricerca aumentano il numero dei casi
Ho inserito una tabella con numero e frequenze,
se miglioriamo e troviamo i casi positivi, reimposto la tabella sui casi;)
Le idee sono tante;)
Codice:
Option Explicit
Sub Main
    ' Rintracciare i Frequenti dopo Condizione
    'in output solo quelli che rispettano la condizione
    ' al momento rintracca i frequenti scritti in tab
    'Prossimo passo Mettere In Tab la Posizione di sorita
    ' controllare sempre eventuali bugs
    Dim Ini,Fin,idEstr
    Dim E1,E2,E3
    Dim aRU(3),r1,r2,r3,p1,p2,p3,Casotro,nColpi
    Dim EspAtt,EspSto
    Dim idGioco,IniGioco,FinGioco
    Dim i,k,j,y,x,Valido,Conta,kk
    Dim nFreq,RetFre,aRUGioco(1),RuG
    ReDim aNumFr(0),Tmp(90)
    Dim pG,N1,m,Caso
    Dim aTitolo
    aTitolo = Array("","Estratto","Ripetizioni","Positivi")
    Call InitTabella(aTitolo)
    Ini = CInt(InputBox("estrazione Inizio ricerca","Start Search",EstrazioneFin - 600))
    Fin = CInt(InputBox("estrazione Fine ricerca","End Search",EstrazioneFin - 3))
    Call SelRuote(r1,r2,r3,p1,p2,p3,aRU,nColpi)
    MsgBox" sel Ruota di Gioco"
    RuG = ScegliRuota
    aRUGioco(1) = RuG
    E1 = Estratto(Fin,r1,p1)
    E2 = Estratto(Fin,r2,p2)
    E3 = Estratto(Fin,r3,p3)
    EspAtt = Fuori90(E1 + E2 + E3)
    Scrivi "Ruota di gioco   :" & NomeRuota(RuG)
    Scrivi "NumeroColpiUtili :" & nColpi
    Scrivi "Condizione       :  " & GetInfoEstrazione(Fin) & "  " & p1 & SiglaRuota(r1) & "(" & E1 & ")+ " & p2 & SiglaRuota(r2) & "(" & E2 & ")+" & p3 & SiglaRuota(r3) & "(" & E3 & ")= " & EspAtt
    For idEstr = Ini To Fin
        E1 = Estratto(idEstr,r1,p1)
        E2 = Estratto(idEstr,r2,p2)
        E3 = Estratto(idEstr,r3,p3)
        EspSto = Fuori90(E1 + E2 + E3)
        If EspSto = EspAtt Then
            Casotro = Casotro + 1
            IniGioco = idEstr + 1
            FinGioco = IniGioco + nColpi
            Messaggio "caso n° :" & Casotro
            AvanzamentoElab Ini,Fin,idEstr
            Scrivi Casotro & "  " & GetInfoEstrazione(idEstr)
            If FinGioco > Fin Then FinGioco = Fin
            For idGioco = IniGioco To FinGioco
                
                For x = 1 To 5
                    N1 = Estratto(idGioco,RuG,x)
                    Tmp(N1) = Tmp(N1) + 1
                                        
                Next
            Next
        End If
    Next
    For k = 1 To UBound(Tmp)
        
        ReDim aRis(3)
        Call alimentaArray(aRis,k,Tmp(k),Caso)
        Call AddRigaTabella(aRis)
        'End If
    Next
    Call CreaTabellaOrdinabile
    Scrivi "Numero casi: " & Casotro
End Sub
Sub alimentaArray(aRis,k,Fre,caso)
    aRis(1) = k
    aRis(2) = Fre
    aRis(3) = "caso"
End Sub
Sub SelRuote(r1,r2,r3,p1,p2,p3,Aru,nColpi)
    r1 = ScegliRuota
    p1 = ScegliPosizione
    r2 = ScegliRuota
    p2 = ScegliPosizione
    r3 = ScegliRuota
    p3 = ScegliPosizione
    Aru(1) = r1
    Aru(2) = r2
    Aru(3) = r3
    nColpi = QuantiColpi
End Sub
Function ScegliPosizione
    Dim aVoci,bRet
    aVoci = Array("","1","2","3","4","5")
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaPosizioneEstratto")
    ScegliPosizione = bRet
End Function
Function QuantiColpi
    Dim aVoci(15)
    Dim i,bRet
    For i = 1 To 15
        aVoci(i) = i
    Next
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaQuantiColpiEsaminare")
    QuantiColpi = bRet
End Function
Ciao a Dopo;)
 
Ciao Joe,grazie per i post di suggerimento, li sto studiando, e quello di maxLotto sembra andare benissimo, ma ho il problema che conta anche i ripetuti,
Es In un caso su undici il numero 5 sortisce 6 volte perchè in super freq, questo mi falsa i risultati perchè io vorrei avere risultato in binario
Es:
caso 1: il num 5 sortisce 5 volte a me deve restituire 1 e non 5, in modo tale da avere a fine ricerca le coperture per caso e non per frequenza.......
Lo script che ho postato è la semplificazione dello script originale, per facilitarne la lettura,
Appena risolvo posto quello completo;)
Grazie mille;)

ti aggiorno
A dopo;)

Ci sto lavorando ,ma è complicato, come l'uovo di colombo;)

No. Se esce 6 volte ... Solo "6" è il risultato di un calcolo giusto!

Poi se tu vuoi avere "vera" la presenza in quel determitato periodo

L'istruzione ben utilizzata è:

SF = SerieFreqTurbo (Inizio_Giusto, Fine_Giusto, Numero_Giusto, Ruota_Giusta, Sorte_Giusta)

unita a :

IF SF >= 1 Then ...

'che ti controlla se è uscito (almeno una volta)

End If ' fine del problema.

:)

PS: Naturalmente puoi fare una crasi delle due linee.

Eliminare l'uso della variabile SF.

Scrivere direttamente

If SerieFreq ( .... ) >= 1 Then
 
Ultima modifica:
Ciao Joe,trovata la soluzione per
L'uovo di Colombo (o di joe....hi hi hi)
Grazie mille per indirizzarmi e a volte portarmi mano per mano alla soluzione,
e per me la soddisfazione è grande
ora posto il codice
salvo bugs
se fa il suo lavoro correttamente
posto se d'interesse anche per altri la vorsione full optional
In pratica è uno script di ricerca diverso dal solito si basa sulle somme e non sugli indici mensili
Risulta una discrepanza che invalida lo script:
Discrepanza.jpg
eccolo:
Codice:
Option Explicit
Sub Main
' perfavore chi lo scarica controlli i risultati:-)
    ' Rintracciare i Frequenti dopo Condizione
    'in output solo quelli che rispettano la condizione
    ' al momento rintracca i frequenti scritti in tab
    'Prossimo passo Mettere In Tab la Posizione di sorita
    ' controllare sempre eventuali bugs
    Dim Ini,Fin,idEstr
    Dim E1,E2,E3
    Dim aRU(3),r1,r2,r3,p1,p2,p3,Casotro,nColpi
    Dim EspAtt,EspSto
    Dim idGioco,IniGioco,FinGioco
    Dim i,k,j,y,x,Valido,Conta,kk
    Dim nFreq,RetFre,aRUGioco(1),RuG
    ReDim aNumFr(1),Tmp(90)
    Dim pG,N1,m,Caso,nNegativi
    Dim aTitolo
    Dim a,b,c
    aTitolo = Array("","Estratto","Positivi")
    Call InitTabella(aTitolo,RGB(175,207,254),,3,RGB(128,0,64))
    Ini = CInt(InputBox("estrazione Inizio ricerca","Start Search",EstrazioneFin - 1000))
    Fin = CInt(InputBox("estrazione Fine ricerca","End Search",EstrazioneFin - 3))
    Call SelRuote(r1,r2,r3,p1,p2,p3,aRU,nColpi,nNegativi)
    MsgBox" sel Ruota di Gioco"
    RuG = ScegliRuota
    aRUGioco(1) = RuG
    E1 = Estratto(Fin,r1,p1)
    E2 = Estratto(Fin,r2,p2)
    E3 = Estratto(Fin,r3,p3)
    EspAtt = Fuori90(E1 + E2 + E3)
    a=Format2(E1) : b=Format2(E2) : c=Format2(E3)

    Scrivi "Ruota di gioco   :" & NomeRuota(RuG)
    Scrivi "NumeroColpiUtili :" & nColpi
    Scrivi "Condizione       :  " & GetInfoEstrazione(Fin) & "  " & p1 & SiglaRuota(r1) & "(" & a & ")+ " & p2 & SiglaRuota(r2) & "(" & b & ")+" & p3 & SiglaRuota(r3) & "(" & c & ")= " & EspAtt
    Scrivi"-|----------------------------------------------------------------------------------------------|-"
    For idEstr = Ini To Fin
        E1 = Estratto(idEstr,r1,p1)
        E2 = Estratto(idEstr,r2,p2)
        E3 = Estratto(idEstr,r3,p3)
        EspSto = Fuori90(E1 + E2 + E3)
        a=Format2(E1) : b=Format2(E2) : c=Format2(E3)

        If EspSto = EspAtt Then
            Casotro = Casotro + 1
            IniGioco = idEstr + 1
            FinGioco = IniGioco + nColpi
            Messaggio "caso n° :" & Casotro
            AvanzamentoElab Ini,Fin,idEstr
                   Scrivi "                "&Format2(Casotro) & "  " & GetInfoEstrazione(idEstr) & "  " & p1 & SiglaRuota(r1) & "(" & a & ")+ " & p2 & SiglaRuota(r2) & "(" & b & ")+" & p3 & SiglaRuota(r3) & "(" & c & ")= " & EspSto

            If FinGioco > Fin Then FinGioco = Fin
            For x=1 To 90
            aNumFr(1)=x
            nFreq=SerieFreq(IniGioco,FinGioco,aNumFr,aRU,1)
            If nFreq>=1 Then
            Tmp(x)=Tmp(x)+1
            End If
            Next
            'For idGioco = IniGioco To FinGioco
                
                'For x = 1 To 5
                    'N1 = Estratto(idGioco,RuG,x)
                    'Tmp(N1) = Tmp(N1) + 1
                                        
                'Next
            'Next
        End If
    Next
    For k = 1 To UBound(Tmp)
        
        ReDim aRis(2)
        Call alimentaArray(aRis,k,Tmp(k))
        If Tmp(k)>= Casotro-nNegativi Then Call AddRigaTabella(aRis)
        'End If
    Next
    Scrivi
    Scrivi
    Call CreaTabellaOrdinabile
    
    End Sub
Sub alimentaArray(aRis,k,Fre)
    aRis(1) = k
    aRis(2) = Fre
    
End Sub
Sub SelRuote(r1,r2,r3,p1,p2,p3,Aru,nColpi,nNegativi)
    r1 = ScegliRuota
    p1 = ScegliPosizione
    r2 = ScegliRuota
    p2 = ScegliPosizione
    r3 = ScegliRuota
    p3 = ScegliPosizione
    Aru(1) = r1
    Aru(2) = r2
    Aru(3) = r3
    nColpi = QuantiColpi
    nNegativi=QuantiNegativi
End Sub
Function ScegliPosizione
    Dim aVoci,bRet
    aVoci = Array("","1","2","3","4","5")
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaPosizioneEstratto")
    ScegliPosizione = bRet
End Function
Function QuantiColpi
    Dim aVoci(15)
    Dim i,bRet
    For i = 1 To 15
        aVoci(i) = i
    Next
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaQuantiColpiEsaminare")
    QuantiColpi = bRet
End Function
Function QuantiNegativi
    Dim aVoci(15)
    Dim i,bRet
    For i = 1 To 15
        aVoci(i) = i
    Next
    bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaIlNumeroMassimoDiNegativi")
    QuantiNegativi = bRet
End Function
 
Ultima modifica:
In effetti non fa il dovuto, ho fatto una prova con i seguenti parametri:
Codice:
Ruota di gioco   :Bari
NumeroColpiUtili :5
Condizione       :  [08976] [ 31] 12.03.2015  1BA(26)+ 2BA(16)+3BA(73)= 25
-|----------------------------------------------------------------------------------------------|-
                01  [08077] [ 71] 13.06.2009  1BA(73)+ 2BA(33)+3BA(09)= 25
                02  [08271] [108] 09.09.2010  1BA(90)+ 2BA(80)+3BA(35)= 25
                03  [08373] [ 54] 05.05.2011  1BA(70)+ 2BA(44)+3BA(01)= 25
                04  [08441] [122] 11.10.2011  1BA(75)+ 2BA(29)+3BA(11)= 25
                05  [08481] [ 5 ] 12.01.2012  1BA(30)+ 2BA(51)+3BA(34)= 25
                06  [08538] [ 62] 24.05.2012  1BA(67)+ 2BA(02)+3BA(46)= 25
                07  [08775] [143] 28.11.2013  1BA(69)+ 2BA(89)+3BA(47)= 25
                08  [08806] [ 17] 08.02.2014  1BA(38)+ 2BA(83)+3BA(84)= 25
                09  [08898] [109] 11.09.2014  1BA(88)+ 2BA(48)+3BA(69)= 25
                10  [08976] [ 31] 12.03.2015  1BA(26)+ 2BA(16)+3BA(73)= 25

IL num 53 me lo da 7 volte positivo
Controllo affiancando le finestre dell'output e le estrazioni(dove evidenzio il 53)ma non trovo 7 casi positivi ovvero controllo che il 53 sia presente entro 5 colpi a partire dalle 9 estrazioni segnalate nell'output
 
Ciao Fillotto:)
C'è ancora un errore, aspettiamo joe, v ediamo che ci dice;)
Beh dai ora siamo in tre a leggere questo post,
Ciao e grazie per la verifica
 
Il debug ...

non è impossibile ... ma difficile si.

Innanzi tutto Filotto ... ha imputato condizioni diverse dalle tue ...

pertanto ha sviluppato un altro metodo.

Ho riprodotto invece quello, che ho potuto, ottenendo risultati analoghi dallo script,

che hai presentato al messaggio #13

Codice:
Ruota di gioco   :Napoli
NumeroColpiUtili :9
Condizione       :  [08976] [ 31] 12.03.2015  1BA(26)+ 3NA(82)+5NA(14)= 32
-|----------------------------------------------------------------------------------------------|-
                01  [08104] [ 98] 17.08.2009  1BA(18)+ 3NA(81)+5NA(23)= 32
                02  [08240] [ 77] 29.06.2010  1BA(16)+ 3NA(18)+5NA(88)= 32
                03  [08247] [ 84] 15.07.2010  1BA(60)+ 3NA(52)+5NA(10)= 32
                04  [08264] [101] 24.08.2010  1BA(07)+ 3NA(52)+5NA(63)= 32
                05  [08272] [109] 11.09.2010  1BA(10)+ 3NA(89)+5NA(23)= 32
                06  [08285] [122] 12.10.2010  1BA(60)+ 3NA(55)+5NA(07)= 32
                07  [08433] [114] 22.09.2011  1BA(35)+ 3NA(35)+5NA(52)= 32
                08  [08542] [ 66] 04.06.2012  1BA(83)+ 3NA(74)+5NA(55)= 32
                09  [08618] [142] 27.11.2012  1BA(14)+ 3NA(60)+5NA(48)= 32
                10  [08620] [144] 01.12.2012  1BA(60)+ 3NA(08)+5NA(54)= 32
                11  [08706] [ 74] 20.06.2013  1BA(54)+ 3NA(50)+5NA(18)= 32
                12  [08770] [138] 16.11.2013  1BA(73)+ 3NA(20)+5NA(29)= 32
                13  [08783] [151] 17.12.2013  1BA(15)+ 3NA(56)+5NA(51)= 32
                14  [08828] [ 39] 01.04.2014  1BA(80)+ 3NA(13)+5NA(29)= 32
                15  [08879] [ 90] 29.07.2014  1BA(01)+ 3NA(22)+5NA(09)= 32
                16  [08884] [ 95] 09.08.2014  1BA(15)+ 3NA(28)+5NA(79)= 32
                17  [08976] [ 31] 12.03.2015  1BA(26)+ 3NA(82)+5NA(14)= 32

Ciò esclude dati differenti negli archivi e malfunzionamenti ... generici.

Bisognerebbe controllare, nello specifico quali siano i dati immessi

per ImpostaGiocata ... ed anche i parametri dell'istruzione Gioca.

Questo per poter evidenziare ove nascono le differenze da te riscontrate

Esse non necessariamente sono errori, ma risultati di impostazioni diverse.

comunque, a spanne, direi che il problema potrebbe trovarsi ... su casi "vicini-Vicini" conteggiati diversamente,

ovvero a casi conteggiati dall'un caso, ove, un "imposta interruzione" interrompe il conteggio, nell'altro.

:)
 
Ultima modifica:
Ciao Joe, sicuramente Spaziometria va benissimo, è il codice che probabilmente è errato
Posto la ricerca di fillotto + script con parametri + immagine
Codice:
Option Explicit
Sub Main
    Dim n1(1),ruota(1),posta(1)
    Dim k,Ini,fin,a,b,c,es,co
    posta(1) = 1
    k = 9
    Ini = 8000
    fin = EstrazioneFin - 3
    For es = Ini To fin
        Messaggio "Controllo Estrazione del "&DataEstrazione(es)
        AvanzamentoElab Ini,fin,es
        a = Estratto(es,BA_,1)
        b = Estratto(es,BA_,2)
        c = Estratto(es,BA_,3)
        If Fuori90(a + b + c) = 25 Then
            co = co + 1
            Scrivi String(80,"-") & "Caso n° " & Format2(co),1
            Scrivi GetInfoEstrazione(es)
            Scrivi " Cond: 1BA+2BA+3BA=25 ",3,3,3
            Scrivi " Il 1° di BA [ " & Format2(a) & " ] + Il 2° di BA [ " & Format2(b) & " ]   + Il 3° di BA [ " & Format2(c) & " ]  = " & Fuori90(a + b + c),1
            Scrivi
            ruota(1) = BA_
            n1(1) = 22 ' o 53
            ImpostaGiocata 1,n1,ruota,posta,k
            Gioca es
        End If
    Next
    ScriviResoconto
End Sub
Confronto.jpg

Nel mio caso ci sono Condizioni vicine e anche in quelle di fillotto , ma dovremmo ottenere conteggi come in resoconto credo
Tu joe che ne pensi?
ora controllo tutto manualmente;)
A dopo
 
Ti dirò che le ricerche, di questo tipo sono fuori dai miei interessi, da molti anni.

Da questo deriva che è molto che non controllo se Spaziometria fornisce risultati esatti.

Comunque suppongo di si ... per me è SI

Errori non mi sembra di averne riscontrati appunto ... da anni.

In ogni caso facevo al contrario. Prima verificavo che funzionasse BENE la parte più importante dello script ...

e solo dopo "aprivo" alle varie possibilità (Variariando periodi ...ruote ... ecc.)

Se ricordo bene avevo discusso di sta cosa con Luigi.

Giungendo alla conclusione che il numero evidenziato ... è inteso e da intendersi "diversamente" in Spaziometria.

In ogni caso la ricerca per frequenti è diversa da quella ciclica ...

ed ancora sono molti i parametri ... soggettivamente di importanza diversa

che tuttavia modificano oggettivamente i risultati.

E' ricerca delicatissima critica e molto difficoltosa.

Penso vi sia "un errore" ... di questo tipo ...

Se ricerchi per PRESENZE potresti ottenere "10"

Quindi poi giocando per 9 colpi ... fai 10 centri.

Se invece li conteggi per cicli ... potrebbero anche essere raggruppati

in grappoli: 1+9 _ 2+8 _ 3 +7 _ 4+6 _ 5 + 5 _ 6 + 4.

E rendere "validi" solo 2 cicli pur avendo più vincite di un numero ... ben cadenzato ...

che vada a coprire per contro 5/6/7 cicli con una sola presenza.

Ma qui la domanda sorge spontanea ... tu hai raccolto ... i risultati di ogni ciclo ?

... destinandoli ad un apposito contatore delle presenze "per ciclo"

che è diverso dal "nel ciclo" che si identificano con le vincite riferite da Spaziometria?

:)
 
Ultima modifica:
Ciao joe, in effetti è molto difficile,
Ho studiato altri script e in effetti rilevano e conteggiano la presenza, per me è + importante la copertura dei casi
ti faccio un esempio di quello che dovrebbe fare lo script
1) Trova i casi-> se il numero x è presente nel range di ricerca caso 1= true else caso=false, questo per ogni ciclo
2) se i casi si sovrappongono non importa , se x esce alla 7 del caso ( x )e alla prima del caso (x)+1 sono da considerarsi entrambi validi i casi
3) in output bisogna restituire i numeri che hanno coperto piu casi non quelli +frequenti
4) E' difficile lo so:)
5) Tu sei stato gentilissimo anche perchè non lo ritieni utile,e nonostante tutto mi stai aiutando ,Grazie
il punto 5 per me è il piu importante:o
Grazie mille joe
 
Ciao joe, in effetti è molto difficile,
Ho studiato altri script e in effetti rilevano e conteggiano la presenza, per me è + importante la copertura dei casi
ti faccio un esempio di quello che dovrebbe fare lo script
1) Trova i casi-> se il numero x è presente nel range di ricerca caso 1= true else caso=false, questo per ogni ciclo
2) se i casi si sovrappongono non importa , se x esce alla 7 del caso ( x )e alla prima del caso (x)+1 sono da considerarsi entrambi validi i casi
3) in output bisogna restituire i numeri che hanno coperto piu casi non quelli +frequenti
4) E' difficile lo so:)
5) Tu sei stato gentilissimo anche perchè non lo ritieni utile,e nonostante tutto mi stai aiutando ,Grazie
il punto 5 per me è il piu importante:o
Grazie mille joe

Ti ringrazio ...

ma c'è sempre da imparare ... migliorarsi. Quindi no, non è inutile. E' utile anche a me.

La descrizione è completa. Ben specificata.

Quindi partirei da questa e da uno script molto semplice.

Su cui inserire ... tutto il necessario.

Ti dico subito che per "capire meglio" è più utile ... la versione "A" di cui s'era detto.

Quindi SENZA usare "SerieFreq" che tuttavia, poi si potrà usare ... per comodità.

Codice:
Option Explicit
Sub Main
Dim R,Es,K
	R = BA_
	For Es = 8000 To EstrazioneFin
		If SommaEstratti(Es,R) = 200 Then
			K = K + 1 : Scrivi String(100,"=") & FormatSpace(K,5,1),True
			Scrivi "[" &Es& "] " &DataEstrazione(Es)
		End If
	Next
End Sub

Semplicemente ... elenca i casi dalla 8000 ... in poi in cui a Bari gli Estratti assommano a 200.

:)
 

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
Indietro
Alto