i legend
Premium Member
Ciao Genios sono felice che lo script giri, un grazie al grandissimo Joe
Punto 1= Freq. sta per frequenza Reale ossia la frequenza della combinazione per la sorte desiderata
Punto 2= Differenza tra frequenza reale e frequenza Teorica
Per il calcolo la frequenza si calcola con statisticaFormazioneTurbo
il ritardo medio ho scritto una funzione ad hoc , mi ha aiutato Luigi (è Correttissima)
Punto 8= differenza tra Ritardo storico e ritardo attuale
guarda il seguente script migliorato il testo colonne
ecco lo script per mpisticchia:
per favore controllate bene se ci sono errori:
Ciao a tutti fatemi sapere
Punto 1= Freq. sta per frequenza Reale ossia la frequenza della combinazione per la sorte desiderata
Punto 2= Differenza tra frequenza reale e frequenza Teorica
Per il calcolo la frequenza si calcola con statisticaFormazioneTurbo
il ritardo medio ho scritto una funzione ad hoc , mi ha aiutato Luigi (è Correttissima)
Punto 8= differenza tra Ritardo storico e ritardo attuale
guarda il seguente script migliorato il testo colonne
ecco lo script per mpisticchia:
per favore controllate bene se ci sono errori:
Codice:
Option Explicit
Sub Main
'Controllare eventuali Bugs:)
' lo script non esegue la ricerca su tutte e Nazionale
' SE ci dovessero essere bugs segnalateli vediamo di risolverli se possibile
' script ampliato in base a Mpisticchia solo ruota Nz
Dim k,s,i,nRuote,j,StrArray
Dim nClasse,nColonneTot
ReDim aNumeri(90)
ReDim aStudio(9)
ReDim aRu(1)
ReDim aCol(0)
Dim Dec,nSorte,sRuote
Dim ritardo,ritardomax,IncrRitMax,Frequenza,Ini,Fin
Dim aTitolo,Freq,RitA,RitS,Scarto,IncrRit
Dim cTeorico,nEstrazioni,FreqTeor,ScaFreq
Dim a,aVoci,aRis
Dim aTitTab1,KK
Dim Form,FormStud,aArrayStudio
Dim aRetRitardi,aRetIdEstr,RitMedio
Dim aRit1,iRit1,iRit1L,n1,conta1,RR,z,nR,r,r1
Dim FreqComb,FreqTeo270E,ScartoFreq270E,iC1,iC2,iC3
If ImpostaParametri(nClasse,nSorte,Form,FormStud,aStudio,nRuote,aRu) = False Then
MsgBox" I Parametri inseriri sono erratti",vbCritical
Exit Sub
End If
'costruisco intestazione tabella
aTitolo = Array("","ID","Comb","Fr.R","Fr.R-Fr.T","Fr.R(270_E)","(Fr.R-Fr.T)270_E","RitA","RitP","Rit(a+P)","RitSto","RitMedio","R.S-R.A","IncRitMax")
InitTabella aTitolo,RGB(223,224,243),,3,vbBlack
'Data Inizio Archivio
Ini = 7440
Fin = EstrazioneFin
nEstrazioni = ContaEstrazioni(Ini,Fin)
For k = LBound(aStudio) To UBound(aStudio)
aStudio(k) = aStudio(k)
StrArray = StringaNumeri(aStudio,,True)
Next
For i = UBound(aRu) To 1 Step - 1
sRuote = SiglaRuota(aRu(i)) & "." & sRuote
Next
sRuote = RimuoviLastChr(sRuote,".")
'inizializza lo sviluppo
cTeorico = Round(CicloTeorico(nClasse,nSorte,1),2)
FreqTeor = Round(Dividi(nEstrazioni,cTeorico),2)
FreqTeo270E = Round(Dividi(269,cTeorico),2)
nColonneTot = InitSviluppoIntegrale(aStudio,nClasse)
k = 0
'a=ContaEstrazioni(Ini,Fin,aRu,nRuote)
Do While GetCombSviluppo(aStudio)
k = k + 1 ' conteggio colonna corrente
Messaggio "Elaborazione in corso id sviluppo: " & k
AvanzamentoElab 1,nColonneTot,k
If ScriptInterrotto Then Exit Do
' costruisco la stringa che contiene la colonna
s = StringaNumeri(aStudio,,True)
Call StatisticaFormazioneTurbo(aStudio,aRu,nSorte,ritardo,ritardomax,IncrRitMax,Frequenza,Ini,Fin)
Freq = Frequenza
RitA = ritardo
RitS = ritardomax
IncrRit = IncrRitMax
ScaFreq = Round((Freq - FreqTeor),2)
FreqComb = SerieFreqTurbo(EstrazioneFin - 269,EstrazioneFin,aStudio,aRu,nSorte)
ScartoFreq270E = Round((FreqComb - FreqTeo270E),2)
Call ElencoRitardiTurbo(aStudio,aRu,nSorte,Ini,Fin,aRetRitardi,aRetIdEstr)
RitMedio = RitardoMedio(aRetRitardi)
iRit1 = ""
conta1 = 0
For n1 = UBound(aRetRitardi) - 1 To LBound(aRetRitardi) Step - 1
conta1 = conta1 + 1
If conta1 <= 1 Then
iRit1 = FormattaStringa(aRetRitardi(n1),"000")
iRit1L = RitA + iRit1
Else
Exit For
End If
Next
ReDim aRisultato(13)
Call AlimentaArrayCombinazioni(aRisultato,k,s,Freq,ScaFreq,FreqComb,ScartoFreq270E,RitA,iRit1,iRit1L,RitS,RitMedio,Scarto,IncrRit)
Call AddRigaTabella(aRisultato,,,3,RGB(0,0,0))
Call SetColoreCella(2,RGB(255,236,255),2)
For iC1 = 3 To 6
Call SetColoreCella(CInt(iC1),RGB(247,247,247),1)
Next
For iC2 = 7 To 9
Call SetColoreCella(CInt(iC2),RGB(232,253,225),1)
Next
For iC3 = 10 To 14
Call SetColoreCella(CInt(iC3),RGB(255,254,240),1)
Next
Loop
Scrivi FormatSpace("script By I Legend per lottoCed's amici",10,- 1),1,,,1
Scrivi
Scrivi " Tabella Statistica per formazioni registrate " & " ",1,,RGB(253,245,189),,5
Scrivi
Scrivi "Range Estr Esaminate : " & "Inizio: [" & DataEstrazione(Ini) & "]" & " " & "Fine: [" & DataEstrazione(Fin) & "]",1,,,,3
Scrivi "Num Estrazioni : " & nEstrazioni,1,,,,3
Scrivi "Formazione Ricerca : " & ScriviArrayStudio(Form,FormStud),1,,,,3
Scrivi "Array Ricerca : " & "{" & StrArray & " }",1,,,,3
Scrivi "Sviluppo in : " & ScriviClasse(nClasse),1,,,,3
Scrivi "Ricerca per : " & ScriviEsito(nSorte),1,,,,3
Scrivi "Ciclo Teorico : " & cTeorico,1,,,,3
Scrivi "Freq Teorica : " & FreqTeor,1,,,,3
Scrivi
Scrivi "Range Estr Esaminate : " & "Inizio: [" & DataEstrazione(EstrazioneFin - 269) & "]" & " " & "Fine: [" & DataEstrazione(Fin) & "]",1,,,,3
Scrivi "Freq Teorica 270 E : " & FreqTeo270E,1,,,,3
Scrivi "Ruote di ricerca : " & sRuote,1,,,,3
Scrivi
Scrivi
Call SetTableWidth("80%")
Call CreaTabellaOrdinabile
End Sub
Sub AlimentaArrayCombinazioni(aRisultato,k,s,Freq,ScaFreq,FreqComb,ScartoFreq270E,RitA,iRit1,iRit1L,RitS,RitMedio,Scarto,IncrRit)
aRisultato(1) = k
aRisultato(2) = s
aRisultato(3) = Freq
aRisultato(4) = ScaFreq
aRisultato(5) = FreqComb
aRisultato(6) = ScartoFreq270E
aRisultato(7) = RitA
aRisultato(8) = iRit1
aRisultato(9) = iRit1L
aRisultato(10) = RitS
aRisultato(11) = RitMedio
aRisultato(12) = RitS - RitA
aRisultato(13) = IncrRit
End Sub
Function ImpostaParametri(nClasse,nSorte,Form,FormStud,aStudio,nRuote,aRu)
Dim bRet,i
nClasse = ScegliClasse ' sviluppo in ambi
If nClasse > 0 Then
nSorte = SelEsito
If nSorte > 0 Then
Do While nClasse < nSorte
MsgBox "hai inserito Un Valore errato riscrivi ": nSorte = CInt(SelEsito)
If nSorte = - 1 Then Exit Do
Loop
Form = GetFormazione
If Form > 0 Then
FormStud = GetFormazioneStudio(Form)
If FormStud >= 0 Then
Call GetArrayStudio(Form,FormStud,aStudio)
If IsArray(aStudio) Then
aRu(1) = 12
If IsArray(aRu) Then
bRet = True
End If
End If
End If
End If
End If
End If
ImpostaParametri = bRet
End Function
Function ScegliClasse
Dim aVoci,bRet
aVoci = Array("","Estratti","Ambi","Terzina","Quartina","Cinquina","Sestina",_
"Settina","Ottina","Novina","Decina")
bRet = ScegliOpzioneMenu(aVoci,1,"Seleziona Classe di Sviluppo")
ScegliClasse = bRet
End Function
Function ScriviClasse(sceCla)
Dim aVoci,bRet
aVoci = Array("","Estratti","Ambi","Terzina","Quartina","Cinquina","Sestina",_
"Settina","Ottina","Novina","Decina")
For bRet = 1 To UBound(aVoci)
aVoci(bRet) = aVoci(bRet)
Next
ScriviClasse = aVoci(sceCla)
End Function
Function SelEsito
Dim bRet
Dim aVoci
' gli array partono sempre da 0
aVoci = Array("","Estratto","Ambo","Terno","Quaterna","Cinquina")
bRet = ScegliOpzioneMenu(aVoci,1," Analesi per Sorte di : ")
SelEsito = bRet
End Function
Function ScriviEsito(Ind)
Dim bRet,i
Dim aVoci
' gli array partono sempre da 0
aVoci = Array("","Estratto","Ambo","Terno","Quaterna","Cinquina")
For i = 1 To UBound(aVoci)
aVoci(i) = aVoci(i)
Next
ScriviEsito = aVoci(Ind)
End Function
Function ContaEstrazioni(Ini,Fin)
Dim Conta,es,i
For es = Ini To Fin
If SommaEstratti(es,12) >= 15 Then Conta = Conta + 1
Next
ContaEstrazioni = Conta
End Function
Function GetFormazione
Dim aVoci,bRet
aVoci = Array("","Decina Naturale","Decina Cabalistica","Figura","ControFigura","Cadenza")
bRet = ScegliOpzioneMenu(aVoci,1,"SelezionaFormazione")
GetFormazione = bRet
End Function
Function GetFormazioneStudio(IndForm)
ReDim aNum(9)
Dim K,m
Dim bRet
For K = LBound(aNum) To UBound(aNum) - 1
If IndForm = 1 Then aNum(K) = "DecinaNaturale." & K
Next
For K = 1 To UBound(aNum)
If IndForm = 2 Then
aNum(K) = "DecinaCabalistica." & K
ElseIf IndForm = 3 Then
aNum(K) = "Figura." & K
ElseIf IndForm = 4 Then
aNum(K) = "ControFigura." & K
End If
Next
For K = LBound(aNum) To UBound(aNum)
If IndForm = 5 Then aNum(K) = "Cadenza." & K
Next
bRet = ScegliOpzioneMenu(aNum,1,"SelezionaInformazione")
GetFormazioneStudio = bRet
End Function
Function GetArrayStudio(IndFor,IndStudio,aArray)
Dim k,m
Dim aNumeri(90)
m = 1
For k = 1 To 90
If IndFor = 1 And DecinaNaturale(k) = IndStudio Then
m = m + 1
ReDim Preserve aArray(m)
aArray(m) = k
ElseIf IndFor = 2 And DecinaCabalistica(k) = IndStudio Then
m = m + 1
ReDim Preserve aArray(m)
aArray(m) = k
ElseIf IndFor = 3 And Figura(k) = IndStudio Then
m = m + 1
ReDim Preserve aArray(m)
aArray(m) = k
ElseIf IndFor = 4 And ControFigura(k) = IndStudio Then
m = m + 1
ReDim Preserve aArray(m)
aArray(m) = k
ElseIf IndFor = 5 And Cadenza(k) = IndStudio Then
m = m + 1
ReDim Preserve aArray(m)
aArray(m) = k
End If
Next
End Function
Function ScriviArrayStudio(IndFor,IndStudio)
Dim bRet
If IndFor = 1 Then
bRet = "Decina Naturale: " & IndStudio
ElseIf IndFor = 2 Then
bRet = "Decina Cabalistica: " & IndStudio
ElseIf IndFor = 3 Then
bRet = "Figura: " & IndStudio
ElseIf IndFor = 4 Then
bRet = "Controfigura: " & IndStudio
ElseIf IndFor = 5 Then
bRet = "Cadenza: " & IndStudio
End If
ScriviArrayStudio = bRet
End Function
Function RitardoMedio(aRitardi())
Dim k
Dim nElementi
Dim nMedia
nElementi = 0
nMedia = 0
For k = 1 To UBound(aRitardi) - 1
nElementi = nElementi + 1
nMedia = nMedia + aRitardi(k)
Next
nMedia = Round(Dividi(nMedia,nElementi),2)
RitardoMedio = nMedia
End Function
