Un buon compito per il cervello. Potete provare così:
Risultato del test per la dimensione 4. Se l'elemento X dell'array non è selezionato, altrimenti usa array[digit] e frammento per la dimensione 6:
Ho guardato il tuo codice, ma quello che non capisco è che non hai letto i dati dell'array originale in nessuna fase. solo il numero di elementi in esso
Ho guardato il tuo codice, ma quello che non capisco è il seguente - non hai letto i dati dell'array originale in nessuno dei passi. solo il numero di elementi in esso
Perché ho bisogno dei dati dell'array originale? Sto solo campionando gli elementi dell'array secondo la tua idea. E sta a voi decidere cosa fare con i dati campionati. Cioè se N[0]=3, se N[1]=2, se N[2]=1, se N[3]=0, usiamo array[N[0]], array[N[1]], array[N[2]], array[N[3]] per ulteriori analisi, e se N[0]=3, N[1]=2, N[2]<0, N[3]<0, allora per ulteriori analisi usiamo solo array[N[0]], array[N[1]] perché N[2]<0 e N[3]<0. Proviamo tutte le combinazioni possibili che non si ripetono secondo il tuo post (tenendo conto che la numerazione dell'array inizia da 0 a ArraySize(array)-1):
if(NewComb){
// Получили новую комбинацию в массиве N размерностью k for(i=0;i<k;i++){// Перебираем массив N. Если N[i]<0 то элемент array[N[i]] не участвует в выборке.// Например, для размерности 4 если N[0]=3,N[1]=1,N[2}<0,N[3]<0 то это выборка array[3] и array[1]// если N[0]=3,N[1]=2,N[2]=1,N[3]=0 то это выборка array[3] и array[2] array[1] и array[0]if(N[i]>=0){// использовать как-то array[N[i]]}
}
}
Perché ho bisogno dei dati dell'array originale? Sto semplicemente campionando gli elementi dell'array secondo la vostra idea. E sta a voi decidere cosa fare con i dati campionati. Cioè se N[0]=3, se N[1]=2, se N[2]=1, se N[3]=0, usiamo array[N[0]], array[N[1]], array[N[2]], array[N[3]] per ulteriori analisi, e se N[0]=3, N[1]=2, N[2]<0, N[3]<0, allora per ulteriori analisi usiamo solo array[N[0]], array[N[1]] perché N[2]<0 e N[3]<0. Enumeriamo tutte le combinazioni possibili che non si ripetono secondo il tuo post (tenendo conto che la numerazione dell'array inizia da 0 a ArraySize(array)-1):
E poi procedete secondo il vostro algoritmo:
Ora è chiaro (ho letto i dati nel passo successivo, solo che non sono abituato a lavorare con codice non mio). Grazie mille!
Per il tuo esempio in realtà non fa alcuna differenza, ma devi comunque specificare l'inizio e la fine dell'array.
L'inizio fa la differenza se l'array è grande. Per esempio, se la condizione viene attivata come regola alla fine dell'array, è meglio iniziare dalla fine. Questo esempio è tipico della ricerca di ordine/posizione. Naturalmente, se si fa prima la ricerca in questo caso, il programma arriverà comunque a questo punto, ma richiederà più risorse.
Grazie ancora! Ora ho provato a rendere ottimizzabile il numero di barre "controllabili", ma i risultati nella finestra proprio non ci sono. Ho cercato di iniziare a contare sia dall'inizio che dalla fine, ma invano.
Vorrei solo capire perché la mia versione non vuole funzionare...
Dai un'occhiata più da vicino al tuo codice
if (NormalizeDouble(High[i],Norm)&&NormalizeDouble(Low[i],Norm)<NormalizeDouble(iMA(NULL,0,PerMa,0,MetMa,AplPr,i),Norm)
||NormalizeDouble(High[i],Norm)&&NormalizeDouble(Low[i],Norm)>NormalizeDouble(iMA(NULL,0,PerMa,0,MetMa,AplPr,i),Norm))
State semplicemente confrontando il primo termine con zero, cioè vero o falso.
Un buon compito per il cervello. Potete provare così:
Risultato del test per la dimensione 4. Se l'elemento X dell'array non è selezionato, altrimenti usa array[digit] e frammento per la dimensione 6:
Ho guardato il tuo codice, ma quello che non capisco è che non hai letto i dati dell'array originale in nessuna fase. solo il numero di elementi in esso
Ho guardato il tuo codice, ma quello che non capisco è il seguente - non hai letto i dati dell'array originale in nessuno dei passi. solo il numero di elementi in esso
Perché ho bisogno dei dati dell'array originale? Sto solo campionando gli elementi dell'array secondo la tua idea. E sta a voi decidere cosa fare con i dati campionati. Cioè se N[0]=3, se N[1]=2, se N[2]=1, se N[3]=0, usiamo array[N[0]], array[N[1]], array[N[2]], array[N[3]] per ulteriori analisi, e se N[0]=3, N[1]=2, N[2]<0, N[3]<0, allora per ulteriori analisi usiamo solo array[N[0]], array[N[1]] perché N[2]<0 e N[3]<0. Proviamo tutte le combinazioni possibili che non si ripetono secondo il tuo post (tenendo conto che la numerazione dell'array inizia da 0 a ArraySize(array)-1):
E poi agisci secondo il tuo algoritmo:
Perché ho bisogno dei dati dell'array originale? Sto semplicemente campionando gli elementi dell'array secondo la vostra idea. E sta a voi decidere cosa fare con i dati campionati. Cioè se N[0]=3, se N[1]=2, se N[2]=1, se N[3]=0, usiamo array[N[0]], array[N[1]], array[N[2]], array[N[3]] per ulteriori analisi, e se N[0]=3, N[1]=2, N[2]<0, N[3]<0, allora per ulteriori analisi usiamo solo array[N[0]], array[N[1]] perché N[2]<0 e N[3]<0. Enumeriamo tutte le combinazioni possibili che non si ripetono secondo il tuo post (tenendo conto che la numerazione dell'array inizia da 0 a ArraySize(array)-1):
E poi procedete secondo il vostro algoritmo:
Ora è chiaro (ho letto i dati nel passo successivo, solo che non sono abituato a lavorare con codice non mio).
Grazie mille!
Aiutami a trovare un errore nella funzione.
Il problema è che se si contano le barre sopra la MA, la funzione restituisce il valore corretto.
Ma se è sotto il MA, la funzione restituisce sempre 1 (uno)
Aiutami a trovare un errore nella funzione.
Il problema è che se si contano le barre sopra la MA, la funzione restituisce il valore corretto.
Ma se è sotto il MA, la funzione restituisce sempre 1 (uno)
Per il tuo esempio in realtà non fa alcuna differenza, ma devi comunque specificare l'inizio e la fine dell'array.
L'inizio fa la differenza se l'array è grande. Per esempio, se la condizione viene attivata come regola alla fine dell'array, è meglio iniziare dalla fine. Questo esempio è tipico della ricerca di ordine/posizione. Naturalmente, se si fa prima la ricerca in questo caso, il programma arriverà comunque a questo punto, ma richiederà più risorse.Grazie ancora! Ora ho provato a rendere ottimizzabile il numero di barre "controllabili", ma i risultati nella finestra proprio non ci sono. Ho cercato di iniziare a contare sia dall'inizio che dalla fine, ma invano.
A prima vista questo è meglio, anche se il codice potrebbe essere notevolmente ottimizzato:
Questo funziona... Grazie!
Devo solo capire perché la mia versione non vuole funzionare...
Funziona così... Grazie!
Vorrei solo capire perché la mia versione non vuole funzionare...
State semplicemente confrontando il primo termine con zero, cioè vero o falso.Dai un'occhiata più da vicino al tuo codice
Funziona... Grazie!
Vorrei solo capire perché la mia versione non vuole funzionare...
Il tuo codice:
Forse è più facile da capire...
Ops... ti è già stato detto che puoi farlo senza normalizzazione...
Si confronta semplicemente il primo termine con zero, cioè vero o falso.Dai un'occhiata più da vicino al tuo codice
Quindi l'espressione "se a e c sono maggiori di c" non è corretta, ma "se a è maggiore di c e c è maggiore di c" è corretta?