Buongiorno, ho provato a scrivere un codice che in timeframe daily mi vada a cercare la rottura del massimo precedente a 100 giorni. Ho scritto questo ma pare non funzioni:
Timeframe (daily)
A = highest[100](high)
C1 = close[1]<A
C2 = close> A
Screener [C1 AND C2]
Praticamente chiedo al codice che la close di ieri sia inferiore al massimo a 100 giorni mentre la close di oggi sia superiore.
Qualcuno può aiutarmi? Grazie
Dovresti utilizzare il pulsante “Insert PRT code” indicato con <> nella barra grigia quando inserisci il post.
La logica mi pare corretta, solo che penso non si verifichino le condizioni, se non molto raramente. Che la chiusura di ieri sia inferiore al massimo di 100 giorni fa e quella di oggi sia superiore…. è proprio difficile!
Roberto
LeoParticipant
Veteran
A = highest[100](high)
C1 = close[1] < A[1]
C2 = close > A[1]
Screener [C1 AND C2]
Effettivamente mi sono spiegato male, io stavo cercando formula per breakout sul massimo dei precedenti 100 giorni e non quello della barra di 100 giorni fa, ovviamente. Praticamente dopo un massimo si forma un ritracciamento poi inizia una fase di risalita, io vorrei individuare la candela che supera il massimo precedente (massimo dei 100 giorni precedenti).
Provo ad utilizzare la formula suggerita da Leo
Grazie Buona giornata a tutti.
Ok, questo dovrebbe andare bene con ordini pendenti:
DEFPARAM CumulateOrders = false
ONCE Periodi = 100 //Periodi di cui cercare il massimo
ONCE Massimo = 999999 //inizializzazione della variabile
IF OnMarket THEN
Massimo = 0 //ripartire daccapo quando entrato
ENDIF
IF Massimo = 0 OR Massimo = 999999 THEN //Se all'inizio, o dopo un'entrata...
Massimo = highest[Periodi](high) //... rilevare un nuovo massimo
ENDIF
IF Not OnMarket THEN
BUY 1 CONTRACTS AT Massimo STOP //ordine STOP pendente
ENDIF
Questo, invece, con ordini a mercato (cioè a chiusura della candela):
DEFPARAM CumulateOrders = false
ONCE Periodi = 100 //Periodi di cui cercare il massimo
ONCE Massimo = 999999 //inizializzazione della variabile
IF OnMarket THEN
Massimo = 0 //ripartire daccapo quando entrato
ENDIF
IF Massimo = 0 OR Massimo = 999999 THEN //Se all'inizio, o dopo un'entrata...
Massimo = highest[Periodi](high) //... rilevare un nuovo massimo
ENDIF
IF Not OnMarket AND close > Massimo THEN
BUY 1 CONTRACTS AT MARKET //ordine a mercato
ENDIF
Provali perché non li ho testati, poi fammi sapere.
Roberto