Wolfe pattern ProScreener (1 Viewer)

wolfeking

Nuovo forumer
piccola modifica del codice per velocizzare lo screening...
dopo ogni FOR (per onda 4 e onda 3) la prima istruzione è il check del contatore delle onde precedenti... se il numero è inferiore a quello che dovrebbe essere, attraverso il break si esce subito dal ciclo FOR ;)

REM ****************************
REM Wolfe pattern rialzista
REM ****************************
OK=0
//WAVE1=0
//WAVE2=0
WAVE3=0
WAVE4=0
WAVE5=0

//identificazione onda5 minimo di tutto il pattern
IF( low = lowest[25](Low) ) THEN
WAVE5=Low
OK=1 //identificato movimento onda 5
ENDIF

FOR i=5 TO 100 DO
IF (OK < 1) THEN
BREAK
ENDIF
IF( high > high[i-1] AND high > high[i+1]) THEN
IF ( high > high[i-2] AND high > high[i+2] ) THEN
IF( high > high[i-3] AND high > high[i+3] ) THEN
IF( high > high[i-4] AND high > high[i+4] ) THEN
WAVE4 = high
IF( WAVE4 > WAVE5) THEN
OK=OK+1 //identificata onda 4
BREAK
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
NEXT

FOR j=i+4 TO 100 DO
IF (OK < 2) THEN
BREAK
ENDIF
IF( low[j] < low[j-1] AND low[j] < low[j+1]) THEN
IF ( low[j] < low[j-2] AND low[j] < low[j+2] ) THEN
IF( low[j] < low[j-3] AND low[j] < low[j+3] ) THEN
IF( low[j] < low[j-4] AND low[j] < low[j+4] ) THEN
WAVE3 = low[j]
IF( WAVE3 > WAVE5) THEN
OK=OK+1 //identificata onda 3
BREAK
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
NEXT

SCREENER[OK=3] SORT BY OK
 

wolfeking

Nuovo forumer
iniziamo ad applicare il codice?
bene partiamo con un wolfe bullish sul NASDAQ giornaliero, vediamo che ci viene sputato fuori

1263921457bbb.png


questo il risultato, ovvero 18 titoli che dovrebbero presentare una struttura grafica da wolfe rialzista... ovviamente da vagliare con il nostro occhio e la nostra mente ;):D

1263921643risultato.png


i risultati li ho ordinati per capitalizzazione. ovviamente prediligere sempre un titolo ad alta capitalizzazione rispetto ai meno trattati.
chi c'è in cima alla lista???... AMAZON.COM!!! :p

Vado ad aprire il grafico di AMAZOM.COM daily e traccio il seguente probabile pattern di wolfe rialzista che potrebbe formarsi
1263922115amazon.png


il segnale di buy non c'è ancora ovviamente, e purtroppo non vi sono divergenze rialzista,... comunque per me AMAZON è da tenere in watchlist per i movimenti daily futuri :up:
 
Ultima modifica:

wolfeking

Nuovo forumer
altro giro... ma questa volta proviamo sui grafici orari, sempre pattern rialzista
questo il risultato del proscreener (che si aggiorna in tempo reale)

1263923437aaa.png


il grafico di ILLUMINA INC non si presta ad un pattern wolfe (poi questo discorso sarà da ampliare) quindi prendiamo in considerazione la seconda della lista: PMC SIERRA
Il suo grafico è un wolfe veramente tirato per i capelli (e mi scuso con i puristi di WOlfe :p)... ma questo passa ora il mercato in tempo reale e questo illustro e poi un po' di divergenze positive negli indicatori si intravedono... e poi ci sarebbe quel gapdown fino a 8,90 da chiudere... ma forse si vola un po' troppo con l'ottimismo :p:D

1263924207pmcsierra1h.png
 

wolfeking

Nuovo forumer
Grazie Capt :up::D
cerco di fare quel poco che riesco con la programmazione PRT... e aiuti son sempre graditi

Ieri sera mi sono accordo di due problemi che l'affliggono:
1) è da prevedere che il minimo o massimo di onda 3 o 4 siano doppi o tripli, ovvero che ci siano 1 o due barre vicine che uguagliano quel valore. Questo evento può accadere spesso e come punto 3 o 4 valgono... quindi le varie condizioni nel ciclo FOR su low e high devono diventare da semplici "maggiore" o "minore" in controlli con "maggiore uguale" e " minore uguale" delle rispettive barre vicine.

2) errore ancora più grave: per il punto 5 ho preso in esame un minimo relativo delle ultime 20 (adesso son passato a 25...) barre. Teoricamente è giusto se si pensa al pattern di wolfe, però va considerato che così lo screener ci salta tutte le formazioni grafiche in cui magari il minimo di onda 5 è stato appena fatto e ora ci si appresta a rientrare per tagliare la 1-3, ovvero una condizione che graficamente riassumerei così
1263981967correzione.png

in questo caso di prezzi fermi al punto verde, il codice non rileverebbe un wolfe rialzista perchè il punto verde non è minimo relativo di onda 5... però come si vede è un segnale di wolfe qualsi in formazione e tutto da tradare.

Appena oggi avrò un po' di tempo correggo queste due "imperfezioni"
Per il secondo punto potrei fare un controllo nelle ultime due o tre barre... se c'è stato minimo e l'ultimo valore (punto verde) è ancora mionore del minimo di onda 3 allora... BULLISH WOLFE!!! :D:up:
 

wolfeking

Nuovo forumer
Wolfe bullish vers. 1.1

Ho corretto il primo errore, cioè aggiunto la possibilità che l'onda 3 o 4 siano rappresentate da min/max che siano doppi/tripli...
quindi tutti i confronti da "<" o ">" diventano rispettivamente "<=" o ">="

REM ************************************************
REM Wolfe pattern rialzista - Versione 1.1
REM ************************************************

OK=0

//WAVE1=0
//WAVE2=0
WAVE3=0
WAVE4=0
WAVE5=0

//identificazione onda5 minimo di tutto il pattern
IF( low = lowest[25](Low) ) THEN
WAVE5=Low
OK=1 //identificata movimento onda 5
ENDIF

FOR i=5 TO 100 DO
IF (OK < 1) THEN
BREAK
ENDIF
IF( high >= high[i-1] AND high >= high[i+1]) THEN
IF ( high >= high[i-2] AND high >= high[i+2] ) THEN
IF( high >= high[i-3] AND high >= high[i+3] ) THEN
IF( high >= high[i-4] AND high >= high[i+4] ) THEN
WAVE4 = high
IF( WAVE4 > WAVE5) THEN
OK=OK+1 //identifico onda 4
BREAK
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
NEXT

FOR j=i+4 TO 100 DO
IF (OK < 2) THEN
BREAK
ENDIF
IF( low[j] <= low[j-1] AND low[j] <= low[j+1]) THEN
IF ( low[j] <= low[j-2] AND low[j] <= low[j+2] ) THEN
IF( low[j] <= low[j-3] AND low[j] <= low[j+3] ) THEN
IF( low[j] <= low[j-4] AND low[j] <= low[j+4] ) THEN
WAVE3 = low[j]
IF( WAVE3 > WAVE5) THEN
OK=OK+1 //identifico onda 3
BREAK
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
NEXT

SCREENER[OK=3] SORT BY OK
 

tetsuo

Guest
Visto che mi ci sono un minimo incaponito in questi due giorni posto i miei risultati che comunque premetto fanno veramente pena.

Il mio approccio alla ricerca automatica del pattern è stato leggermente differente rispetto a quello che sta portando avanti wolfeking, infatti per l'individuazione dei punti di swing ( le onde......)utilizzo un sistema basato sull escursione del prezzo piuttosto che sulla distanza delle barre. Nel mio calcolo ho posto che un punto di swing diventa valido per la nostra ricerca se dista dal precedente "almeno" di una percentuale "n" stabilita a priori....

Il codice, una volta trovati i quattro punti con tale tecnica, controlla se rispettano le regole (minime) di un wolfe rialzista, ovvero 1>3, 2>4, la sequenza temporale di 1 2 3 4, e il rapporto di altezza tra 1-2 e 3-4 per controllare che le rette sono convergenti. Superato questo check calcola le rette 1-3 e 2-4 e controlla se un minimo, successivo al punto 4, ha sfondato la retta 1-3 (sempre che questa ancora non incroci la 2-4), in caso affermativo setta il campo "Criterio" a "1"

Immagino che a leggere qui possa sembrare strabiliante e quasi perfetto :rolleyes: ma messo in pratica ci si accorge immediatamente di quanto fa pene......ehmmm pena.

In allegato uno shot e il file con lo Screener

Nel file è presente anche un indicatore direttamente derivato dallo screener che plotta oltre al segnale "wolfe" anche il numero di barra dove si sono formati i 4 punti. Utile per ritrovare il presunto lupo, indicato dallo screener, nella selva delle barre........


Faccio notare che nel codice la percentuale "n" a cui si accennava sopra è settata di default al 5% siccome non è possibile in uno screener creare variabili di input tale valore va cambiato a manina nel codice ogni volta che si vorrà variare ( il 5% di escursione va bene, forse, su un tf daily ma di certo non su un orario è ovvio che dovrà essere minore ).



Vedi l'allegato wolfe2.txt



Bhe della serie "almeno c'ho provato" .............. mi congedo e vi saluto



P.S. pensierino conclusivo
Voler scremare va bene ma allo scopo forse più che cercare il lupo in se meglio si presta il ricercare le condizioni che creano il suo ambiente naturale, una flag contro trend ad esempio o una divergenza significativa sugli osc :mumble: uhmmm non so'..... magari ci penso un po' e riprendo il discorso più in là
Ciao
 
Ultima modifica di un moderatore:

wolfeking

Nuovo forumer
Visto che mi ci sono un minimo incaponito in questi due giorni posto i miei risultati che comunque premetto fanno veramente pena.

Il mio approccio alla ricerca automatica del pattern è stato leggermente differente rispetto a quello che sta portando avanti wolfeking, infatti per l'individuazione dei punti di swing ( le onde......)utilizzo un sistema basato sull escursione del prezzo piuttosto che sulla distanza delle barre. Nel mio calcolo ho posto che un punto di swing diventa valido per la nostra ricerca se dista dal precedente "almeno" di una percentuale "n" stabilita a priori....

Il codice, una volta trovati i quattro punti con tale tecnica, controlla se rispettano le regole (minime) di un wolfe rialzista, ovvero 1>3, 2>4, la sequenza temporale di 1 2 3 4, e il rapporto di altezza tra 1-2 e 3-4 per controllare che le rette sono convergenti. Superato questo check calcola le rette 1-3 e 2-4 e controlla se un minimo, successivo al punto 4, ha sfondato la retta 1-3 (sempre che questa ancora non incroci la 2-4), in caso affermativo setta il campo "Criterio" a "1"

Immagino che a leggere qui possa sembrare strabiliante e quasi perfetto :rolleyes: ma messo in pratica ci si accorge immediatamente di quanto fa pene......ehmmm pena.

In allegato uno shot e il file con lo Screener

Nel file è presente anche un indicatore direttamente derivato dallo screener che plotta oltre al segnale "wolfe" anche il numero di barra dove si sono formati i 4 punti. Utile per ritrovare il presunto lupo, indicato dallo screener, nella selva delle barre........


Faccio notare che nel codice la percentuale "n" a cui si accennava sopra è settata di default al 5% siccome non è possibile in uno screener creare variabili di input tale valore va cambiato a manina nel codice ogni volta che si vorrà variare ( il 5% di escursione va bene, forse, su un tf daily ma di certo non su un orario è ovvio che dovrà essere minore ).







Bhe della serie "almeno c'ho provato" .............. mi congedo e vi saluto



P.S. pensierino conclusivo
Voler scremare va bene ma allo scopo forse più che cercare il lupo in se meglio si presta il ricercare le condizioni che creano il suo ambiente naturale, una flag contro trend ad esempio o una divergenza significativa sugli osc :mumble: uhmmm non so'..... magari ci penso un po' e riprendo il discorso più in là
Ciao

grande tetsuo :up:
si in effetti ho usato un approccio molto pragmatico di analisi candela per candela cercando di identificare le onde di wolfe dalla 5 a salire...
siceramente non mi era venuto in mente nulla di diverso e per lo meno il rapporto qualità/facilità del codice mi sembrava ottimo. Mi sono fermato all'identificazione dell'onda 3 in quanto a mio avviso ciò basta già per filtrare il pattern in maniera più che discreta.... Wolfe in alcune circostanze è piuttosto discrezionale (soprattutto a volte nella scelta del punto 1)... quindi ho voluto lasciare libera questa discrezionalità

Il tuo approccio teoricamente sembrerebbo buono, a livello di codice ci ho capito poco, ma per mia incapacità. Cmq l'ho fatto girare sui titoli del NASDAQ, sia daily che orario... il risultato è stato di 476 titoli filtrati (stranamente in entrambi i casi). Sinceramente troppi per lo scopo a cui dovrebbe essere prefisso uno screener... ovvero scremare per poi controllare ad occhio. In questo caso si, concordo ci vorrebbe una forte azione filtrante fatta da uno o più indicatori

Ad ogni modo alcune tue idee son ottime e ti chiedo se posso "rubarti" pezzi di codice eventualmente da inserire nel mio:p
 

wolfeking

Nuovo forumer
Bullish Wolfe - vers. 1.2

Grazie Capt :up::D
cerco di fare quel poco che riesco con la programmazione PRT... e aiuti son sempre graditi

Ieri sera mi sono accordo di due problemi che l'affliggono:
1) è da prevedere che il minimo o massimo di onda 3 o 4 siano doppi o tripli, ovvero che ci siano 1 o due barre vicine che uguagliano quel valore. Questo evento può accadere spesso e come punto 3 o 4 valgono... quindi le varie condizioni nel ciclo FOR su low e high devono diventare da semplici "maggiore" o "minore" in controlli con "maggiore uguale" e " minore uguale" delle rispettive barre vicine.

2) errore ancora più grave: per il punto 5 ho preso in esame un minimo relativo delle ultime 20 (adesso son passato a 25...) barre. Teoricamente è giusto se si pensa al pattern di wolfe, però va considerato che così lo screener ci salta tutte le formazioni grafiche in cui magari il minimo di onda 5 è stato appena fatto e ora ci si appresta a rientrare per tagliare la 1-3, ovvero una condizione che graficamente riassumerei così
1263981967correzione.png

in questo caso di prezzi fermi al punto verde, il codice non rileverebbe un wolfe rialzista perchè il punto verde non è minimo relativo di onda 5... però come si vede è un segnale di wolfe qualsi in formazione e tutto da tradare.

Appena oggi avrò un po' di tempo correggo queste due "imperfezioni"
Per il secondo punto potrei fare un controllo nelle ultime due o tre barre... se c'è stato minimo e l'ultimo valore (punto verde) è ancora mionore del minimo di onda 3 allora... BULLISH WOLFE!!! :D:up:

Risolto credo anche problema del secondo punto in cui un'onda 5 che può dare segnale di ingresso long può aver formato il minimo di tutto il pattern non necessariamente nell'ultima barra, ma aver già iniziato l'inversione a tagliare la 1-3 per il vero seganle long

ora l'onda 5 vale anche se il minimo è stato creato nelle ultime tre barre

dato che lo screener mostra solo i primi 30 risultati, necessita che quelle mostrate siano le aziende a maggiore capitalizzazione e liquidità per garantire una teorica maggior limpidezza nei movimenti, da cui il prodotto del volume per il medianprice della candela

questi il code PRT:

REM *************************************************
REM Wolfe pattern rialzista - Verisione 1.2
REM *************************************************

OK=0
WAVE3=0
WAVE4=0
WAVE5=0

//identificazione onda5
IF( low = lowest[25](Low) ) THEN
WAVE5=Low
OK=1 //identificato minimo onda 5
ELSIF( low[1] = lowest[26](Low) ) THEN
WAVE5=Low[1]
OK=1 //identificata minimo onda 5
ELSIF( low[2] = lowest[27](Low) ) THEN
WAVE5=Low[2]
OK=1 //identificato minimo onda 5
ENDIF

//identificazione onda 4 (massimo relativo)
FOR i=5 TO 100 DO
IF (OK < 1) THEN
BREAK
ENDIF
IF( high >= high[i-1] AND high >= high[i+1]) THEN
IF ( high >= high[i-2] AND high >= high[i+2] ) THEN
IF( high >= high[i-3] AND high >= high[i+3] ) THEN
IF( high >= high[i-4] AND high >= high[i+4] ) THEN
WAVE4 = high
IF( WAVE4 > WAVE5) THEN
OK=OK+1 //identifico onda 4
BREAK
ELSE
BREAK
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
NEXT

//identificazione onda 3 (minimo relativo)
FOR j=i+4 TO 100 DO
IF (OK < 2) THEN
BREAK
ENDIF
IF( low[j] <= low[j-1] AND low[j] <= low[j+1]) THEN
IF ( low[j] <= low[j-2] AND low[j] <= low[j+2] ) THEN
IF( low[j] <= low[j-3] AND low[j] <= low[j+3] ) THEN
IF( low[j] <= low[j-4] AND low[j] <= low[j+4] ) THEN
WAVE3 = low[j]
IF( WAVE3 > WAVE5) THEN
OK=OK+1 //identifico onda 3
BREAK
ELSE
BREAK
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
NEXT

SCREENER[OK=3] SORT BY Volume*MedianPrice AS "MoneyOnCandle"
 

tetsuo

Guest
grande tetsuo :up:
si in effetti ho usato un approccio molto pragmatico di analisi candela per candela cercando di identificare le onde di wolfe dalla 5 a salire...
siceramente non mi era venuto in mente nulla di diverso e per lo meno il rapporto qualità/facilità del codice mi sembrava ottimo. Mi sono fermato all'identificazione dell'onda 3 in quanto a mio avviso ciò basta già per filtrare il pattern in maniera più che discreta.... Wolfe in alcune circostanze è piuttosto discrezionale (soprattutto a volte nella scelta del punto 1)... quindi ho voluto lasciare libera questa discrezionalità

Il tuo approccio teoricamente sembrerebbo buono, a livello di codice ci ho capito poco, ma per mia incapacità. Cmq l'ho fatto girare sui titoli del NASDAQ, sia daily che orario... il risultato è stato di 476 titoli filtrati (stranamente in entrambi i casi). Sinceramente troppi per lo scopo a cui dovrebbe essere prefisso uno screener... ovvero scremare per poi controllare ad occhio. In questo caso si, concordo ci vorrebbe una forte azione filtrante fatta da uno o più indicatori

Ad ogni modo alcune tue idee son ottime e ti chiedo se posso "rubarti" pezzi di codice eventualmente da inserire nel mio:p


ciao wolfeking

ne vedi sempre 400 e rotti ma quelli che soddisfano lo screener sono quelli con l'uno nella colonna criterio.......comunque ho modificato l'allegato nel precedente messaggio così ora vengono elencati solo i titoli che soddisfano le condizioni.

metto ora lo screenshot che dovevo postare sopra......


wolfe_shot.png



Prendi pure le parti di codice che ti servono alla fine li posto per condividerli.......
 

Users who are viewing this thread

Alto