Buongiorno.
Ho un Ts che puo’ inserire ordini solo dalle ore 09 del mattino alle ore 21 della sera e mi entra in posizione al breakout di una media mobile a 26 periodi.
Per l’uscita dalla posizione è impostato ad uscire dalla posizione al brek ribasso di una media 42 periodi.
Per quanto riguarda l’uscita della posizione o lo stop è sempre presente, anche la notte, trattasi di cfd.
Succede che il ts durante la notte mi prenda lo stop o mi esce dalla posizione perche’ avviene il brek al ribasso della media.
Come dire al Ts: Se alle ore 09:00 del mattino in aperura di candela, è il ts è flat (supponiamo che abbia preso lo stop nella notte e quindi non riesce ad entrare al break della media a 26 che avviene prima delle ore 09, in quanto puo’ inserire ordini solo dopo le ore 09 del mattino ) il prezzo è superiore alla media mobile 26 periodi entra long.
Grazie a chi mi puo’ essere d’aiuto
Buongiorno. Ho un Ts che puo’ inserire ordini solo dalle ore 09 del mattino alle ore 21 della sera e mi entra in posizione al breakout di una media mobile a 26 periodi. ……
il prezzo è superiore alla media mobile 26 periodi entra long…..
Quindi vuoi, sempre tra le 9 e le 21, che entri LONG non solo al breakout, ma anche se il breakout è già avvenuto prima delle 9, quindi non t’interessa più il breakout, basta che il prezzo sia superiore alla media a 26?
Se è così basta che metti nella condizione per il BUY
IF time >= 090000 AND time <= 210000 AND close > Average[26](close) THEN
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Impedisce al sistema di creare nuovi ordini per entrare a mercato o aumentare la taglia della posizione prima dell'orario specificato
noEntryBeforeTime = 090000
timeEnterBefore = time >= noEntryBeforeTime
// Impedisce al sistema di piazzare nuovi ordini per entrare a mercato o aumentare la taglia della posizione dopo l'orario indicato
noEntryAfterTime = 210000
timeEnterAfter = time < noEntryAfterTime
// Condizioni per entrare su posizioni long
indicator1 = ExponentialAverage[26](close)
c1 = (close[1] CROSSES OVER indicator1)
IF c1 AND timeEnterBefore AND timeEnterAfter THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per uscire da posizioni long
indicator2 = ExponentialAverage[42](close)
c2 = (close[1] CROSSES UNDER indicator2)
IF c2 THEN
SELL AT MARKET
ENDIF
// Stop e target
SET STOP pLOSS 50
SET TARGET pPROFIT 200
Ciao Roberto. questo è il codice del ts.
Supponiamo che il Ts mi entri in posizione durante il giorno e cioè ad esempio alle 14 del pomeriggio e durante la notte ci sono dei movimenti bruschi sui cfd che mi fanno scattare lo stop loss, il mattino alle ore 09:00 se il prezzo è superiore della media mobile a 26, il ts mi entra in posizione.
Questo perchè se ad esempio il brek avviene alle ore 07:00 del mattino, il ts non lo legge, poiche’ è programmato ad inserire ordini solo dopo le ore 09:00
Quindi io li vorrei dire, se sei flat e alle ore 09:00 del mattino si verifica la condizione che il prezzo è maggiore della media a 26 periodi entrami long. giustamente solo se è flat e cioè non è gia in posizione.
Grazie tante sempre per gli aiuti che mi dai:)
Basta aggiungere una variabile che chiamerò C1a, che sarà vera solo se l’orario è pari a 090000 e il prezzo è > della media.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Impedisce al sistema di creare nuovi ordini per entrare a mercato o aumentare la taglia della posizione prima dell'orario specificato
noEntryBeforeTime = 090000
timeEnterBefore = time >= noEntryBeforeTime
// Impedisce al sistema di piazzare nuovi ordini per entrare a mercato o aumentare la taglia della posizione dopo l'orario indicato
noEntryAfterTime = 210000
timeEnterAfter = time < noEntryAfterTime
// Condizioni per entrare su posizioni long
indicator1 = ExponentialAverage[26](close)
c1 = (close[1] CROSSES OVER indicator1)
c1a = (close > indicator1) AND (time = noEntryBeforeTime)
IF (c1 OR c1a) AND timeEnterBefore AND timeEnterAfter AND Not OnMarket THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per uscire da posizioni long
indicator2 = ExponentialAverage[42](close)
c2 = (close[1] CROSSES UNDER indicator2)
IF c2 THEN
SELL AT MARKET
ENDIF
// Stop e target
SET STOP pLOSS 50
SET TARGET pPROFIT 200
Una domanda, perché alle righe 14 e 22 fai riferimento al prezzo di chiusura della barra precedente (close[1]) e non a quella appena chiusa (close o close[0])? Se è quello che vuoi puoi ovviamewnte variare anche la riga dove io ho aggiunto la variabile C1a, mettendoci CLOSE[1].
Ciao Roberto grazie tante.
Metto close[1] o meglio me lo mette prorealtime quando li dico che il prezzo in chiusura barra deve fare un break al rialzo/ribasso della media.