Salve a tutti, oggi vorrei sottoporvi un problemino che non mi permette di programmare un facile sistema di trading automatico (almeno con la programmazione assistita, e quanto a quella manuale…. è meglio che non ci provi neppure!).
In pratica vorrei ricavare segnali di trading dal Donchian Channel, andando Long quando il prezzo sfonda il “tetto” dell’indicatore, e invece Short quando buca il “pavimento” dello stesso. Sembrerebbe facile, visto che la piattaforma mi consente di scegliere 2 colori (il rialzo e il ribasso) per ognuno dei suddetti parametri, ma non è così: infatti l’indicatore mantiene la stessa quotazione – e lo stesso colore – finchè non avviene un nuovo massimo (relativamente al “tetto”), o un nuovo minimo (per il “pavimento”), e se il trade si conclude, ipotizziamo positivamente, e se il movimento continua (sia al rialzo che al ribasso) il sistema mi apre una nuova operazione che a quel punto è a forte rischio di perdita…. come faccio a dirgli che non deve aprire nuove operazioni dello stesso segno fino a che l’indicatore non inverte direzione (dando il via quindi ad un’operazione di segno opposto)?
Grazie mille per il vostro aiuto.
Paolo
Ci ho riflettuto a lungo e non vedo come farlo senza scrivere neanche una riga di codice.
Il problema è che bisogna programmarlo o in un nuovo indicatore oppure all’interno dello stesso sistema…
Bisogna creare una variabile di stato che indichi l’ultima direzione presa dal sistema. Per esempio così (LastTrade).
// Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
indicator1 = DonchianChannelUp[20]
c1 = (close CROSSES OVER indicator1[1])
IF c1 and lastTrade<=0 THEN
BUY 1 SHARES AT MARKET
lastTrade=1
ENDIF
// Condiciones de entrada de posiciones cortas
indicator2 = DonchianChannelDown[20]
c2 = (close CROSSES UNDER indicator2[1])
IF c2 and lastTrade>=0 THEN
SELLSHORT 1 SHARES AT MARKET
lastTrade=-1
ENDIF
// Stops y targets
SET STOP %LOSS 5
SET TARGET %PROFIT 5
Grazie mille, è veramente eccellente come sei riuscito in poche righe di codice a risolvermi un problema che mi bloccava da settimane!
La vostra assistenza, tua e dei tuoi colleghi in passato, è il vero motivo per cui continuo a restare fedele a Prorealtime… buona serata e ancora grazie.
Paolo