Buonasera.
Avrei bisogno di aiuto per la creazione di uno screener.
Grazie
Dai un titolo significativo al tuo argomento. Descrivi la tua domanda o l’oggetto nel titolo. Non utilizzare titoli privi di significato come “Aiuto per la codifica”.
Scrivi anche i dettagli di quello che vuoi (poi il titolo lo cambierò io).
Grazie 🙂
Chiedo scusa ma essendo nuovo non conosco le regole.
Cerco di spiegarmi.
Lo screener si basa su timeframe Monthly e sulla medimobile semplice a 4 periodi (negativa/positiva).
Lo screener dovrebbe segnalare tutte le azioni che hanno chiusura candela mensile sopra la media mobile a 4 periodi positiva.
Questa condizione è però successiva a questa seconda condizione necessaria:
Il prezzo precedentemente deve essere sceso sotto il minimo delle candele ( basta una volta sola) che chiudono sotto la media mobile a 4 periodi negativa.
Spero di essermi spiegato…
Ringrazio tanto per la disponibilità
Si, abbastanza, resta da chiarire “sotto il minimo delle candele ( basta una volta sola) che chiudono sotto la media mobile a 4 periodi negativa“:
.
- a) sotto il minimo storico (da 254 candele fa, che è il massimo con IG), oppure b) dall’ultimo incrocio ribassista, oppure c) considerando solo l’ultima candela chiusa sotto?
.
- quando dici negativa intendi dire che se è sotto la media, però è positiva NON va considerata?
.
- per negativa s’intende minore di quella precedente e positiva è maggiore di quella precedente?
Media mobile negativa/postiva intendo a rialzo o ribasso come nelle impostazioni dell’indicatore. Io uso due colori diversi per capire se rialzo o ribasso.
primo punto: Da considerare l’ultima candela che ha chiuso sotto la media mobile al ribasso.
Grazie per la pazienza!!
Questo è il codice:
Timeframe(Monthly)
Sma4 = average[4,0](close)
Posit = Sma4 > Sma4[1]
Negat = Sma4 < Sma4[1]
c1 = close > Sma4 AND Posit
c2 = 0
IF c1 THEN
FOR i = 1 TO 254
IF (close[i] < Sma4[i]) AND Negat[i] THEN
c2 = 1
Break
ENDIF
NEXT
ENDIF
Cond = c1 AND c2
SCREENER[Cond](Sma4 AS "Sma4")
ma non credo abbia la logica corretta, perché quando la candela chiude al ribasso, andando indietro si troverà sempre, prima o dopo, una candela negativa che abbia chiuso sotto la media. Secondo me questa ricerca andrebbe fattaentro un massimo di N candele.
Innanzitutto grazie mille!
Ho testato lo screener e in effetti manca solo la specifica che hai indicato ma in modo diverso, allego file per capire meglio.
Lo screenshot si riferisce ad un titolo dato dallo screener impostato con l’ultimo codice.
Ho segnato con rosso e 1 la condizione in cui la candela grande ribassista supera il minimo della candela precedente che ha chiuso sotto la media mobile (4periodi) nera (ribassista).
Con 2 e verde ho segnato la condizione successiva che deve dare come output lo screener la prima candela rialzista che chiude sopra la media mobile (4periodi) ora diventata verde (rialzista).
Per riassumere: Andando indietro la condizione 1 che si è verificata l’ultima volta e successivamente la condizione 1 che si verifica per la prima volta dopo la condizione 1.
Spero di essermi spiegato meglio.
Grazie.
Mi aveviu detto di considerare solo l’ultima candela chiusa sotto, mentre tu vuoi che sia il minimo assoluto delle candele chiuse sotto. E’ un controllo che mi sembra non abbia molto senso, perché ci sarà sempre un minimo che è stato fatto quando è sotto la media, a che serve verificarlo?
Cosa significa “Andando indietro la condizione 1 che si è verificata l’ultima volta e successivamente la condizione 1 che si verifica per la prima volta dopo la condizione 1“? Quante volte deve verificarsi la condizione 1?
Ho fatto un po’ di confusione.
Cerco di spiegare quale è il criterio per cui vorrei uno screener.
Vorrei che lo screener mi dia come risultato la prima candela rialzista/ribassista che chiude sopra la media mobile ( 4 periodi RIALZISTA) ma dopo che precedentemente il titolo abbia soddisfatto questa condizione precedente:
La media mobile (4 periodi) diventa ribassista, si forma una candela (1) ribassista/rialzista che chiude sotto la media mobile ribassista, poi la candela successiva (2)scende sotto il minimo della candela precedente (1). Questo è valido sempre finchè la media mobile rimane ribassista.
Grazie
Ok, adesso è chiaro.
Cerco di fartelo domani o venerdì al più tardi, prima non credo di farcela.
Scusami per il ritardo, non mi sono dimenticato. Ho solo bisogno di un altro paio di giorni a causa di molti impegni.
No problem aspetto con grande fiducia.
Grazie per il tempo!
A presto
Eccolo, dalle prove fatte mi sembra effettui una ricerca corretta:
Timeframe(Monthly)
Sma4 = average[4,0](close)
Posit = Sma4 > Sma4[1]
Negat = Sma4 < Sma4[1]
c1 = close CROSSES OVER Sma4 AND Posit
c2 = 0
IF c1 THEN
FOR i = 1 TO 253
IF (close[i] < Sma4[i]) AND (close[i + 1] > Sma4[i + 1]) THEN
Minimo = low[i]
FOR j = (i - 1) DOWNTO 0
IF (low[j] < Minimo) AND (close[j] < Sma4[j]) AND Negat[j] THEN
c2 = 1
break
ENDIF
NEXT
Break
ENDIF
NEXT
ENDIF
Cond = c1 AND c2
SCREENER[Cond](Sma4 AS "Sma4")
Ottimo!
Grazie mille ancora per l’aiuto e per la disponibilità!!