brekout intraday con canale di donchian, problemi con ingressi e uscite.

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

    Salve. Stavo testando un semplice sistema che dovrebbe entrare a mercato al perforamento del canale di Donchian, long se viene superata la banda superiore e short se viene superata, verso il basso, quella inferiore. Tutto molto semplice.

    Ho messo come condizioni di uscita dalle posizioni rispettivamente, per il long, quando la banda inferiore del canale raggiunge il valore che aveva quella superiore al momento dell’ingresso, e viceversa per lo short, quando la superiore raggiunge il valore dell’inferiore al momento dell’ingresso.
    Allego il codice.

    L’ho guardato sul dax a un minuto oggi, dalle nove, in backtest, ma qualcosa non mi torna.

    Subito, alle 9.01′ entra al ribasso, dopo una barra di perforamento della banda inferiore, e fin qui ci sono, ma poi mi chiude lo short alla barra successiva, quando subentrano sì condizioni per un’entrata long, che io credevo, essendo esclusi ordini cumulativi, si sarebbe potuta verificare solo dopo la chiusura dello short.
    A guardare altri ingressi mi pare proprio che chiuda le operazioni quando me lo aspetto, a meno che non subentrino prima le condizioni di ingresso per operazioni opposte: come mai?  Dove sbaglio?

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    //
    indicator1 = DonchianChannelUp[10]
    indicator2 = DonchianChannelCenter[10]
    indicator3 = DonchianChannelDown[10]
    c1 = (high > indicator1)
    c2 = (low<indicator3)
    c3 = indicator3> indicator1[tradeindex]
    c4 = indicator1 <indicator3[tradeindex]
    
    //Condizioni per entrare su posizioni long
    IF c1 then
    BUY 1 CONTRACT AT MARKET
    
    ENDIF
    //uscita long quando il bordo inferiore del canale supero il bordo superiore dell'entrata
    if longonmarket and c3 then
    sell at market
    endif
    
    // Condizioni per entrare su posizioni short
    IF c2  THEN
    SELLSHORT 1 CONTRACT AT MARKET
    
    ENDIF
    // uscita short quando il bordo superiore del canale raggiunge il bordo superiore dell'entrata
    if shortonmarket and c4 then
    exitshort at market
    endif
    
    // Stop e target
    
    #163695 quote
    robertogozzi
    Moderator
    Master

    TRADEINDEX può avere valori anche superiori a varie migliaia, per cui usandolo come indice vai indietro di chissà quanto tempo!

    Usa piuttosto la differenza tra la barra attuale (BarIndex) e quella d’ingresso (TradeIndex):

    [BarIndex - tradeindex]
    #163703 quote
    bahl
    Participant
    Average

    Farò così, ma credveo che tradeindex, scritto senza specificazioni ulteriori, si riferisse sempre all’ultima operazione a mercato.

    Comunque ho apportato la modifica suggerita, e ugualmente, mi entra short alle 9.01, mi aspetto che chiuda l’operazione quando la banda superiore di donchian avrà raggiunto il valore della banda inferiore al momento dell’ingresso, e invece me la chiude alla barra successiva, entrando subito long.

    #163710 quote
    robertogozzi
    Moderator
    Master

    TRADEINDEX è la barra dell’ultima entrata, che può essere 1250 o 34760, ecc… se la metti come indice va a prendere il valore che l’indicatore aveva 1250 0 34760 barre fa.

    Per fare le verifiche ho bisogno di sapere:

    • strumento (snome della coppia valutaria, indice o azione che sia)
    • time frame usato
    • data ed ora del malfunzionamento (ore 09:01 di oggi?)
    #163711 quote
    bahl
    Participant
    Average

    dax 1 euro, tf 1 minuto, oggi, ig.

    #163712 quote
    robertogozzi
    Moderator
    Master

    Accumulare ordini significa aprire ulteriori posizioni nella stessa direzione, perché in direzioni opposte non è consentito.

    In questo caso era Short, appena si è verificata la condizione Long ha fatto lo Stop & Reverse in quanto non hai messo, tra le tue condizioni d’entrata, che NON sia già a mercato. Non accumula, in quanto è sempre una posizione, solo che da Short è diventata Long.

    Alle tue condizioni d’entrata (righe 14 e 24) devi aggiungere:

    AND Not OnMarket
    #163715 quote
    bahl
    Participant
    Average

    tutto chiaro, non si finisce mai di imparare, e di ringraziare.

    robertogozzi thanked this post
Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.

brekout intraday con canale di donchian, problemi con ingressi e uscite.


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
bahl @bahl Participant
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by bahl
4 years, 11 months ago.

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