esecuzione ordine barra in corso

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #160488 quote
    bahl
    Participant
    Average

    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.

    #160496 quote
    robertogozzi
    Moderator
    Master

    Ho 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.

    #160592 quote
    bahl
    Participant
    Average

    ho 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?

    #160596 quote
    bahl
    Participant
    Average

    Mi 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,

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    indicator1 = Average[21](close)
    c1 = (high < indicator1)
    
    IF c1 THEN
    BUY 1 Contract AT ( INDICATOR1) STOP
    ENDIF
    
    // Condizioni per uscire da posizioni long
    c2 = (high >= high[1])
    
    IF c2 THEN
    SELL AT MARKET
    ENDIF
    #160675 quote
    robertogozzi
    Moderator
    Master

    Perché 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.

    #160852 quote
    bahl
    Participant
    Average

     

    Molte 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…..

    #160855 quote
    bahl
    Participant
    Average

    mi chiedo inoltre con che sistema si possa porre la condizione tipo che una media mobile sia crescente o decrescente

    #160862 quote
    robertogozzi
    Moderator
    Master

    TRADEINDEX è 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:

    Media = average[20,0](close)
    If Media > Media]1] then
       //crescente
    ElsIf Media < Media]1] then
       //decrescente
    Endif
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

esecuzione ordine barra in corso


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
bahl @bahl Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by robertogozzi
5 years ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 02/05/2021
Status: Active
Attachments: No files
Logo Logo
Loading...