Aiuto per Strategia Rialzista e Ribassista

Viewing 15 posts - 1 through 15 (of 28 total)
  • Author
    Posts
  • #80643 quote
    peru2404
    Participant
    Average

    Salve volevo sapere come riuscire a programmare la seguente strategia:

    tf Giornaliero, se si verifica un trend rialzista o ribassista per 3 giorni consecutivi, il quarto giorno entrare in acquisto o vendita e uscire quando si verificano 3 giorni consecutivi di trend opposto

    #80646 quote
    robertogozzi
    Moderator
    Master

    Ho modificato il titolo perché “Aiuto Strategia” era troppo generico. E’ opportuno indicare un oggetto con più precisione e dettagli per incentivare gli utenti interessati a leggerlo e per aiutare chi fa ricerche sul forum a trovare argomenti attinenti a ciò che sta cercando. Grazie.

    Quanto alla tua domanda, come vuoi che venga determinato se un trend è rialzista o ribassista, se è sopra o sotto una certa media (quale?), se ha fatto nuovi massimi o nuovi minimi (rispetto a quante candele fa?), ecc… sono cose che magari sono facili da osservare su uno schermo, ma ad un computer vanno indicate in modo preciso.

    #80647 quote
    peru2404
    Participant
    Average

    La prossima volta sarò più specifico.. riguardo al trend l ho scritto in base a se ci sono 3 candele verdi o rosse di fila

    #80650 quote
    robertogozzi
    Moderator
    Master
    DEFPARAM CumulateOrders = FALSE
    ONCE NumeroCandele = 3
    //     LONG
    IF Not OnMarket AND (summation[NumeroCandele](close > open) = NumeroCandele) THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
    //     SHORT
    IF Not OnMarket AND (summation[NumeroCandele](close < open) = NumeroCandele) THEN
       SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    //     uscita da LONG
    IF LongOnMarket AND (summation[NumeroCandele](close < open) = NumeroCandele) THEN
       SELL 1 CONTRACT AT MARKET
    ENDIF
    //     uscita da SHORT
    IF ShortOnMarket AND (summation[NumeroCandele](close > open) = NumeroCandele) THEN
       EXITSHORT 1 CONTRACT AT MARKET
    ENDIF

    L’ho provato sul DAX daily e funziona.

    #80675 quote
    Nicolas
    Keymaster
    Master

    Una semplice strategia fatta da successive stesse candelabri Heikin Ashi potrebbe essere trovata qui: Same color Heikin Ashi trading system

    #80680 quote
    peru2404
    Participant
    Average

    grazie mille a tutti per la risposta

    #81060 quote
    peru2404
    Participant
    Average

    roberto gozzi perche utilizzi il comando summation? non deve fare la somma deve vedere se le ultime tre candele sono tutte e 3 verdi o rosse e quindi close > o < open pero non so come indicargli se tutte e 3 le candele

    #81063 quote
    robertogozzi
    Moderator
    Master

    È proprio quello lo scopo di SUMMATION, sommare la veridicitá delle condizioni indicate tra parentesi tonde, per il numero di candele specificato tra parentesi quadre.

    Per verificare che CLOSE > OPEN lo indichi tra le tonde, per dirgli per quante candele deve verificarlo lo metti tra quadre, dopodiché se ti basta che sia un valore <> 0 non serve altro, mentre in tal caso vuoi che il valore sia un certo numero ed allora lo specifichi.

    In questo caso CLOSE > OPEN deve essere verificato per NUMEROCANDELE e, siccome vuoi che siano tutte rialziste, il risultato della somma logica deve essere uguale a NUMEROCANDELE.

    In alternativa puoi scrivere, ad esempio per due sole candele:

    IF close > open AND close[1] > open[1] then.....

    ma pensa se tu volessi verificarlo per 10+ candele!

    Per le somme numeriche si usa l’operatore “+”, non SUMMATION.

    #81064 quote
    peru2404
    Participant
    Average

    Aho capito pero a volte sbaglia.. non sono sempre 3 le candele a volte sono 2 a volte sono 4 quindi c e qualcosa che non va.. per ridurre l errore del ritardo posso usare il multi timeframe? Se si dove dove mettere il comando nel codice? Ad esempio se lo uso sul giornaliero posso mettere di fare l operazione subito su un timeframe a 1 minuto o simile?

    #81076 quote
    robertogozzi
    Moderator
    Master

    Puoi dirmi su quale strumento, grafico e orario ha sbagliato?

    Fosse successo sarebbe davvero strano!

    #81077 quote
    peru2404
    Participant
    Average

    non fa per nulla quello che dovrebbe

    #81080 quote
    robertogozzi
    Moderator
    Master

    Allega una schermata con candele giapponesi, non HA.

    Per quelle occorre un codice specifico.

    Se cerchi HEIKIN sul forum troverai la loro definizione (sono un indicatore, al pari delle Medie Mobili, ecc…) e come utiluzzarle.

    #81083 quote
    robertogozzi
    Moderator
    Master

    Per lavorare con le candele HA devi inserire le seguenti righe dopo la riga 1:

    IF BarIndex=0 THEN
    xClose = (open+high+low+close)/4
    xOpen = open
    //xHigh = high
    //xLow = low
    ELSE
    xClose = (open+high+low+close)/4
    xOpen = (xOpen[1]+xClose[1])/2
    //xHigh = Max(max(high, xOpen), xClose)
    //Xtribe Low = Min(min(Low, xOpen), xClose)
    endif

    dopodiché nel codice sostituisci OPEN e CLOSE rispettivamente con XOPEN e XCLOSE.

    Le righe commentate le ho messe perché tu veda la definizione completa, ma non sono usate.

    #81085 quote
    peru2404
    Participant
    Average

    Grazie mille per la risposta..

    questo è il codice corretto?

    DEFPARAM CumulateOrders = FALSE
    IF BarIndex=0 THEN
    xClose = (open+high+low+close)/4
    xOpen = open
    //xHigh = high
    //xLow = low
    ELSE
    xClose = (open+high+low+close)/4
    xOpen = (xOpen[1]+xClose[1])/2
    //xHigh = Max(max(high, xOpen), xClose)
    //Xtribe Low = Min(min(Low, xOpen), xClose)
    endif
    ONCE NumeroCandele = 3
    //     LONG
    IF Not OnMarket AND (summation[NumeroCandele](xclose > xopen) = NumeroCandele) THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    //     SHORT
    IF Not OnMarket AND (summation[NumeroCandele](xclose < xopen) = NumeroCandele) THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    //     uscita da LONG
    IF LongOnMarket AND (summation[NumeroCandele](xclose < xopen) = NumeroCandele) THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF
    //     uscita da SHORT
    IF ShortOnMarket AND (summation[NumeroCandele](xclose > xopen) = NumeroCandele) THEN
    EXITSHORT 1 CONTRACT AT MARKET
    ENDIF
    

    se il codice è corretto, perche ogni tanto segna una x e il contratto al posto che dopo 3 lo acquista dopo 4? (come nella foto allegata)

    si puo eliminare il ritardo utilizzando il multi timeframe? nel senso vorrei utilizzare il grafico giornaliero ma le operazioni andrebbero fatte sul timeframe a 1 minuto, è possibile? non ho ben capito quel comando che mi dice spesso che non posso utilizzare un determinato tf perche non è multiplo..

    #81087 quote
    robertogozzi
    Moderator
    Master

    Non c’è ritardo, le strategie vengono eseguite alla chiusura della candela, quindi entrano all’inizio della nuova.

    Per utiluzzare il MTF il timeframe principale deve essere il più piccolo, nel tuo caso il minuto, poi puoi fare riferimento a timeframe più grandi purché multipli.

    È ovvio che utilizzando 1 minuto come principale il backtest potrà essere fatto solo per un periodo ristretto.

Viewing 15 posts - 1 through 15 (of 28 total)
  • You must be logged in to reply to this topic.

Aiuto per Strategia Rialzista e Ribassista


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
peru2404 @peru2404 Participant
Summary

This topic contains 27 replies,
has 3 voices, and was last updated by robertogozzi
7 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 09/16/2018
Status: Active
Attachments: 5 files
Logo Logo
Loading...