esecuzione ordine barra in corso
Forums › ProRealTime forum Italiano › Supporto ProOrder › esecuzione ordine barra in corso
- This topic has 7 replies, 2 voices, and was last updated 3 years ago by robertogozzi.
-
-
02/05/2021 at 6:53 PM #160488
Salve da poco sto cercando di impratichirmi del linguaggio di programmazione usando l’interfaccia facilitata, e mi trovo di fronte al seguente problema. In generale il trading sistem ha la forma logica “se si verificano queste condizioni allora compra/vendi” ma la mascherina di immissione prevede l’entrata a mercato solo all’apertura del giorno successivo, o all’apertura della barra successiva, e non al verificarsi delle condizioni poste nella premessa. Io vorrei, per esempio, comprare quando si verifica un certo incrocio, non all’apertura della barra successiva a quella dove si verifica l’incrocio.
02/05/2021 at 10:57 PM #160496Ho spostato io la tua domanda nel supporto ProOrder.
È solo una questione di termini, siccome le strategie vengono eseguite alla chiusura di ogni barra, microsecondi prima che la nuova barra si apra, è chiaro che l’entrata a mercato avviene alla nuova apertura.
La barra corrente, per le strategie, non è quella che si apre (a cui non si può accedere fino alla chiusura), ma quella appena chiusa.
Si può intervenire su una candela in formazione scendendo di time frame mediante il supporto MTF, Multi Time Frame, però non so se la creazione semplificata lo supporta.
Se vuoi maggiori dettagli su MTF basta che cerchi nel forum e troverai molti post, articoli ed esempi molto dettagliati.
02/07/2021 at 4:46 PM #160592ho iniziato a leggere girando per il forum, ho capito che la “barra in corso” è l’ultima barra chiusa, potrei quindi impostare un sistema con condizioni su questa e barre precedenti, e poi introdurre un ordine limite o stop al raggiungimento eventuale del prezzo, nella barra successiva, al verificarsi delle condizioni di entrata.
La mascherina di programmazione facilitata non offre alternative al compra a mercato, posso solo specificare quantità, e o apertura barra successiva o giorno seguente.
Devo quindi scrivere il codice. Quindi mi metterò a studiare un po’ il linguaggio. Mi confermerebbe comunque che è possibile introdurre ordini limite e stop non indicando il prezzo ma indicando l’incrocio/raggiungiemnto da parte del prezzo di un indicatore, p.es una media mobile? Qualcosa che tradotto in linguaggio naturale suonerebbe compra stop sul valore della media mobile?
02/07/2021 at 7:35 PM #160596Mi pare di aver fatto un po’ di progressi. Per imparare la sintassi ho preso un grafico del dax, tf giornaliero, ci ho impostato una sma a 21 periodi, e l’idea era semplicemente: se i prezzo è sceso sotto la media e poi la riincrocia al rialzo compra, vendi quando il massimo della barra supera il massimo della precedente.
le condizioni di vendita sono irrilevanti. Mi interessava vedere se davvero mi entrava nei cross al rialzo sulla media. Ebbene lo fa. Ma non sempre, e non capisco perchè. Allego il codice, e, per esempio, l’undici dicembre 2019 sarebbe dovuto entra re ed invece non entra,
1234567891011121314151617// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = Average[21](close)c1 = (high < indicator1)IF c1 THENBUY 1 Contract AT ( INDICATOR1) STOPENDIF// Condizioni per uscire da posizioni longc2 = (high >= high[1])IF c2 THENSELL AT MARKETENDIF02/08/2021 at 12:47 PM #160675Perché se il prezzo (close) nojn ritona subito sopra lamedia, però il massimo si, alla candela successiva la riga 6 pouò essere falsa e l’ordine non viuene piazzato di nuovo.
Tieni presente chegli ordini pendenti (STOP o LIMIT che siano) scadono ad ogni barra e vanno reimmessi, se si desiderano.
02/09/2021 at 6:28 PM #160852Molte grazie, avrei un altra domanda. Esiste un modo per designare la barra in cui si è entrati a mercato, in modo da potersi riferire a quella barra per porre condizioni.
P.s vendi se il prezzo supera il massimo della barra di entrata…..
02/09/2021 at 6:34 PM #16085502/09/2021 at 7:44 PM #160862TRADEINDEX è il numero della barra di entrata in posizione, pet cui con l’espressione (BARINDEX – TRADEINDEX) si troverà il numero da mettere tra parentesi quadre per fare riferimento ad essa.
Una media è crescente se è maggiore rispetto alla barra precedente, altrimenti è decrescente:
123456Media = average[20,0](close)If Media > Media]1] then//crescenteElsIf Media < Media]1] then//decrescenteEndif -
AuthorPosts
Find exclusive trading pro-tools on