Buonasera, cerco di spiegare cosa mi serve,ho una strategia basata su 3 supertrend e una media mobile, vorrei avere un contatore che nel momento in cui i tre supertrend sono tutti in zona ribassista e il prezzo incrocia al ribasso la media mobile, la strategia entra a mercato, però l’ingresso deve avvenire soltanto al primo incrocio della media mobile, se nell’arco di 4 ore l’incrocio avviene nuovamente la strategia non deve entrare, naturalmente stessa cosa per il long.
Grazie in anticipo
Quale timerframe usi, il 4 ore?
Se entra quando c’è l’incrocio, come fa ad avvenire ancora (ormai è già entrato a mercato) per invalidare il segnale?
La seconda domanda era Se entra quando c’è l’incrocio, come fa ad avvenire ancora (ormai è già entrato a mercato) per invalidare il segnale?
Quando incrocia la media mobile può incrociare una volta, andare a profitto e poi incrociare ancora, se non sono stato chiaro metto un esempio
JSParticipant
Senior
Do you mean something like this?
Intendi qualcosa come questo?
TimeFrame (2 minutes)
FourHourStop = BarIndex - TradeIndex(1) > 120
If Not OnMarket and FourHourStop then
If ST1 = -1 and ST2 = -1 and ST3 = -1 and Close Crosses Under MovingAverage then
Sell x contracts at Market
EndIf
EndIf
@JS
Pubblica solo nella lingua del forum in cui stai postando. Ad esempio solo l’inglese nei forum di lingua inglese e il francese solo nei forum di lingua francese.
Grazie 🙂
Puoi provare questo (non l’ho provato):
ONCE STflag = 0
ONCE StartHOUR = 0
IF (close CROSSES OVER Sma) OR (close CROSSES UNDER Sma) THEN
STflag = 0
ENDIF
HourDiff = OpenHour - StartHOUR
HourDiff = HourDiff + (24 * (HourDiff < 0))
IF HourDiff > 4 THEN
StartHOUR = -5
ENDIF
IF Not OnMarket AND HourDiff > 4 THEN
IF close > ST1 and close > ST2 AND close > ST3 THEN
IF STflag < 1 THEN
IF close CROSSES OVER Sma THEN
STflag = 1
StartHOUR = OpenHour
BUY 1 CONTRACT AT Market
ENDIF
ENDIF
ENDIF
IF close < ST1 and close < ST2 AND close < ST3 THEN
IF STflag >= 0 THEN
IF close CROSSES UNDER Sma THEN
STflag = -1
StartHOUR = OpenHour
SELLSHORT 1 CONTRACT AT Market
ENDIF
ENDIF
ENDIF
ENDIF
Ho provato ma non funziona,
ora posto un’ immagine magari è più chiara ciò che vorrei fare
L’immagine non è completa.
Dopo che è entrato cosa vuoi che succeda?
Deve mantenere la posizione finché non va a profitto oppure a stop loss
Cos’è che non funziona delle condizioni che hai chiesto?
Praticamente mi entra più volte prima che il supertrend cambi colore, cioè ad ogni incrocio del prezzo con la media mobile, invece dovrebbe entrare una sola volta, come ho evidenziato nell’immagine
Non so bene cosa tu voglia, in quanto non hai mai risposto alla mia domanda sulle 4 ore.
Ad ogni modo il codice di cui sopra funziona (provato sul DAX, 2 minuti) ed entra SOLO dopo che sianoi passate almeno 4 ore dall’entrata (4 ore senza considerare i minuti, se vuoi conmsiderare i minuti basta che indichi 5 ore per essere certi che non siano mai meno di 4).
Volendo si può cambiare in modo che le 4 ore siano calcolate dall’uscita, anziché dall’entrata.
ONCE Hlimit = 4 //minimo 4 ore (senza considerare i minuti)
ONCE STflag = 0
ONCE StartHOUR = -(Hlimit + 1)
Sma = average[100,0](close)
ST1 = Supertrend[2,10]
ST2 = Supertrend[4,10]
ST3 = Supertrend[6,10]
IF (close CROSSES OVER Sma) OR (close CROSSES UNDER Sma) THEN
STflag = 0
ENDIF
HourDiff = OpenHour - StartHOUR
HourDiff = HourDiff + (24 * (HourDiff < 0))
IF HourDiff > Hlimit THEN
StartHOUR = -(Hlimit + 1)
ENDIF
IF Not OnMarket AND HourDiff > Hlimit THEN
IF close > ST1 and close > ST2 AND close > ST3 THEN
IF STflag < 1 THEN
IF close CROSSES OVER Sma THEN
STflag = 1
StartHOUR = OpenHour
BUY 1 CONTRACT AT Market
ENDIF
ENDIF
ENDIF
IF close < ST1 and close < ST2 AND close < ST3 THEN
IF STflag >= 0 THEN
IF close CROSSES UNDER Sma THEN
STflag = -1
StartHOUR = OpenHour
SELLSHORT 1 CONTRACT AT Market
ENDIF
ENDIF
ENDIF
ENDIF
SET STOP pLOSS 50
SET TARGET pPROFIT 200
graph openhour
graph StartHOUR
graph HourDiff
graph STflag