Buy limit %
Forums › ProRealTime forum Italiano › Supporto ProOrder › Buy limit %
- This topic has 6 replies, 2 voices, and was last updated 4 years ago by Giuseppe76.
-
-
11/16/2020 at 6:51 PM #150677
Buona sera a tutti,
Sono nuovo di questa comunità e sto cercando di fare backtesting di una strategia che, al verificarsi di 2 condizioni, deve entrare long con un ordine Buy limit al 2% sotto la chiusura del giorno precedente.
Le 2 condizioni sono prezzi sopra la media mobile semplice a 200 periodi e rsi sotto a 5.
Ho provato a scrivere il codice ma non riesco proprio a farlo funzionare.. Suggerimenti?
Grazie!
123456789101112// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Cumulating positions deactivated //level1 = (close*0.2)// Condizioni per entrare su posizioni longindicator1 = RSI[2](close)c1 = (indicator1[1] < 5)indicator2 = Average[200](close)c2 = (close[1] > indicator2[1])IF c1 AND c2 THENbuy 1 CONTRACT AT – level1 LIMITENDIF11/16/2020 at 7:09 PM #150688Per favore usa sempre il pulsante “Insert PRT code” quando inserisci il codice nei tuoi post per facilitare la lettura degli altri. Grazie 🙂
Eccolo:
123456789101112// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Cumulating positions deactivated //level1 = (close*0.98)// Condizioni per entrare su posizioni longindicator1 = RSI[2](close)c1 = (indicator1[1] < 5)indicator2 = Average[200](close)c2 = (close[1] > indicator2[1])IF c1 AND c2 THENbuy 1 CONTRACT AT level1 LIMITENDIF1 user thanked author for this post.
11/16/2020 at 8:22 PM #150695Grazie mille dela risposta!
Approfitto ancora per chiedere dove sbaglio nelle condizioni di exit.
In pratica vorrei che la posizione venisse chiusa se l’ RSI a 5 periodi incrocia al rialzo 40 oppure se non si verifica questa condizione dopo 10 giorni di trading.
Io ho provato a scriverlo cosi.
123456789101112131415161718// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Cumulating positions deactivated //level1 = (close*0.98)x = 20// Condizioni per entrare su posizioni longindicator1 = RSI[2](close)c1 = (indicator1[1] < 5)indicator2 = Average[200](close)c2 = (close[1] > indicator2[1])indicator3 = RSI[5](close)c3 = (indicator3[1] > 40)IF c1 AND c2 THENbuy 1 CONTRACT AT level1 LIMITIF c3 THENSELL AT MARKETIF BarIndex - TradeIndex = x ThenSell at MarketENDIF11/16/2020 at 9:40 PM #150704Basta cambiare la riga 11 in:
1c3 = (indicator3[1] CROSSES OVER 40)11/16/2020 at 9:49 PM #150707ok. Grazie mille Roberto,
Mi sembra tutto corretto ma mi restituisce il seguente errore:
Linea 20:
Uno dei seguenti caratteri sarebbe più appropriato di :”fine del codice”: null
Non capisco.. non ci sono nemmeno 20 righe di codice..
11/16/2020 at 9:59 PM #150709Perché ci sono 3 IF e solo 1 ENDIF.
1 user thanked author for this post.
11/16/2020 at 10:04 PM #150710Hai ragione!
Grazie mille! sto imparando e certe cose mi sfuggono.
-
AuthorPosts
Find exclusive trading pro-tools on