Per settare lo STOP LOSS iniziale:
IF close > open THEN //LONG
MinLow = low
StopLoss = ((close - low) / pipsize) + 2 //2 pips sotto il minimo
ELSE //SHORT
MaxHigh = high
StopLoss = ((high - close) / pipsize) + 2 //2 pips sopra il massimo
ENDIF
.
.
SET STOP PLOSS StopLoss
Per il TRAILING STOP, basta confrontare il minimo/massimo di ogni barra con le variabili (di cui sopra) ed eventualmente aggiornarle ed inserire l’ordine di STOP con il nuovo valore:
IF LongOnMarket THEN //per i LONG
IF low > MinLow THEN //verificare che sia un MINIMO più alto
MinLow = Low //aggiornare la variabile
ENDIF
SELL AT MinLow STOP //aggiornare l'ordine di STOP ad ogni candela
ENDIF
IF ShortOnMarket THEN //per gli SHORT
IF high < MaxHigh THEN //verificare che sia un MASSIMO più basso
MaxHigh = high //aggiornare la variabile
ENDIF
EXITSHORT AT MaxHigh STOP //aggiornare l'ordine di STOP ad ogni candela
ENDIF
Non l’ho verificato, devi testarlo tu.
Gli ordini LIMIT e STOP (non quelli a mercato) vengono annullati automaticamente da ProOrder alla chiusura di ciascuna candela, in questo caso ogni 15 minuti, quindi vanno reinseriti di nuovo ad ogni candela, anche se non è stato fatto un nuovo massimo/minimo, questo per il trailing. Resta, invece, sempre valido l’rdine di STOP indicato inizialmente all’apertura dell’operazione.
Per la tua riga di codice
stoploss = (close CROSSES over high[1])
non va bene, in quanto mette nella variabile “stoploss” un valore logico (0 oppure 1), in quanto gli assegna il valore vero/falso del fatto che CLOSE abbia un incrocio rialzista col MASSIMO precedente.
Inoltre, sew ho ben capito cosa intendi per massimi/minimi precedenti, tu intendi quelli che precedono la candela d’entrata. Non c’è bisogno di mettere low [1] o high[1] o close[1], in quanto ogni strategia viene eseguita alla chiusura della candela (che quindi è quella corrente, non la precedente), ad esempio all 09:00 viene eseguita la tua strategia sul 15 minuti e le condizioni vengono testate sulla candela aperta alle 08:45:00, la precedente è quella delle 08:30:00. Il trade, se deve essere aperto, viene aperto SEMPRE all’apetrtura della candella a quella appena chiusa, quindi nell’esempio di cui sopra alle 09:00:00. E’ un pochino complicato all’inizio capire alcuni meccanismi di ProOrder.
Riepilogando: alle 09:00:00 viene eseguita la strategia verificando che le condizioni siano soddisfatte sulla candela delle 08:45:00 che si è appena chiusa e, in caso affermativo, viene aperta un’operazione Long/Short sulla candele delle 09:00:00 che sta per aprirsi.