Secondo Break di una media.

Viewing 15 posts - 1 through 15 (of 58 total)
  • Author
    Posts
  • #81508 quote
    Gianluca
    Participant
    Master

    Salve, avrei bisogno di una mano nello scrivere una strategia. In pratica le regole dovrebbero essere queste:

    1. presa una media a 3 periodi, vorrei che il sistema acquistasse e vendesse al secondo break della media. (PROVO A SPIEGARMI MEGLIO).

    prendiamo le ultime 10 barre, il long va aperto dopo che nelle ultime dieci barre il prezzo ha chiuso prima Sopra la media, poi sotto, e poi appena richiude sopra si entra a mercato. La cosa non deve essere consecutiva, è pero’ importante che la cosa avvenga nelle ultime tot barre.

    Non so proprio come scriverlo ^_* Grazie per l’aiuto.

    #81511 quote
    robertogozzi
    Moderator
    Master
    Barre   = 10
    Media   = average[3](close)
    Rialzo  = close CROSSES OVER Media
    Ribasso = summation[Barre - 1](close[1] CROSSES UNDER Media)
    Cond    = Rialzo AND Ribasso

    Quando COND sarà vera è perché le tue richieste si sono verificate.

    #81540 quote
    Gianluca
    Participant
    Master

    Quando COND sarà vera è perché le tue richieste si sono verificate.

    Sei sempre gentilissimo grazie.
    Posso pero’ chiederti un ulteriore aiuto? non fa proprio quello che vorrei, è evidente che non ho saputo spiegarmi bene.

    Allora, la close supera la media tre poi ci diamo da questo evento un tot barre per il quale se chiude sotto e richiude sopra, alla barra successiva si entra.
    Come nella foto

    [attachment file=”81541″]

    Cattura-2.jpg Cattura-2.jpg
    #81542 quote
    robertogozzi
    Moderator
    Master

    C’è in effetti un errore logico.

    Alla fine della riga 4, invece di MEDIA scrivi

    Media[1]
    #81578 quote
    Gianluca
    Participant
    Master

    C’è in effetti un errore logico.

    Alla fine della riga 4, invece di MEDIA scrivi

    Salve Roberto sempre grazie per la disponibilità ma non è quello che intendevo e non risolve l’errore.
    Incollo un altra foto.

    [attachment file=”81579″]

    Cattura-3.jpg Cattura-3.jpg
    #81582 quote
    robertogozzi
    Moderator
    Master

    Che strumento è, Dax?

    Quale TF?

    In che data e ora è la barra dove hai scritto NO?

    #81596 quote
    Gianluca
    Participant
    Master

    Barre = 10
    Media = average[3](close)
    Rialzo = close CROSSES OVER Media
    Ribasso = summation[Barre – 1](close[1] CROSSES UNDER Media)
    Cond = Rialzo AND Ribasso

    questo strumento è il mini dax future ufficiale.

    AD OGNI modo forse ho capito.
    C’e’ modo per far fare solo un operazione e poi azzerare i conteggi?

    Per esempio se mettiamo il cci oltrepassa lo zero vorrei che il sistema non facesse operazioni.

    oppure se uno volesse incrociare più variabili come se fossero dei pattern, per esempio, diciamo che rsi o stocastico vanno in ipervenduto, se avviene ciò allora si parte con la conta degli incroci della media, e se si verifica si entra nel mercato, se pero’ nel frattempo un indicatore torna sotto ipervenduto non si entra a mercato e si aspetta nuovamente la condizione

    #81597 quote
    Gianluca
    Participant
    Master

    Riformulo il tutto per essere molto più chiaro partendo da una foto.
    Gli strumenti da prendere in considerazione sono:

    1. cci 136 PERIODI
    2. media mobile 3 periodi spostata di 3 periodi in avanti ( Average[3](close)[3] )
    3. lo stop loss deve essere 5 punti sotto il minimo segnato nelle ultime (30 barre) o il minimo di giornata.

    Quello che cerco di fare è questo:
    Quando il CCI esce da un ipervenduto (-200) si osserva il prezzo e si aspetti che esso chiuda sopra la media, poi sotto e la seconda volta che chiude sopra la media (in un massimo di 10-20 barre dopo l’uscita dal cci) si entri a mercato dopo la chiusura.

    Ho allegato un grafico del DAX CASH CFD IG 5 MINUTI del 28 settembre, alle 14.35 si verifica la condizione. e alla barra delle 14.40 si dovrebbe entrare.

    [attachment file=”81599″]

    io ho anche provato a scrivere la strategia ma senza successo.

    defparam cumulateorders = false
    once signal=0
    //once signal2=0
    cc=(cci[136] crosses over -200)
    Media   = Average[3](close)[3]
    Barre   = 10
    if not onmarket then
    signal=0
    //signal2=0
    else
    if onmarket then
    signal=0
    //signal2=0
    endif
    endif
    
    if cc then
    signal=1
    else
    signal=0
    endif
    
    if signal>0 then
    Rialzo  = summation[Barre - 1] (close CROSSES OVER Media)
    Ribasso = summation[Barre - 1](close[1] CROSSES UNDER Media[1])
    Rialzo2 = (close crosses over media)
    Cond    = Rialzo AND Ribasso and Rialzo2
    endif
    
    
    if cond then
    buy 1 contract at market
    endif
    
    set stop ploss 10
    set target pprofit 20
    cci.jpg cci.jpg cci-1.jpg cci-1.jpg
    #81616 quote
    robertogozzi
    Moderator
    Master

    Devi togliere le righe 7-8-9-10 e 15, perché se azzeri il segnale prima di essere a mercato annulli quello che hai fatto in precedenza.

    Devi togliere le righe 19 e 20, altrimenti alla barra successiva all’incrocio azzeri subito il segnale senza attendere le X barre (10 o 20 che vorrai) per gli incroci delle medie.

    Per iul resto devi solo mettere lo SL con la seguente riga da inserire tra la 31 e la 32 (prima del BUY):

    SL = (close - lowest[30](low)) / pipsize

    ed alla riga 35 sotituire 10 con la variabile SL.

    Scusami, anche alla riga 24 devi mettere [1] a CLOSE e MEDIA come hai fatto alla 25.

    Dovrai anche aggiungere un contatore in modo che all’incrocio del CCI inizi a contare le bvarre e, superato il limite che tu vuoi, azzeri di nuovo il segnale anche se non è entrato a mercato.

    Dovrebbe funzionare.

    #81620 quote
    Gianluca
    Participant
    Master

    Grazie! mi puoi aiutare con il contatore? non sono capace 🙁

    #81621 quote
    robertogozzi
    Moderator
    Master

    Si, però puoi postare il codice aggiornato con le modifiche?

    #81625 quote
    Gianluca
    Participant
    Master

    Certamente eccolo, allora incollo anche uno screenshot del solito giorno ed ora, l’entrata giusta la fa. Ma ne fa anche tante altre che non dovrebbe fare.

    defparam cumulateorders = false
    once signal=0
    //once signal2=0
    
    Media   = Average[3](close)[3]
    BarreMedia   = 10
    BarreCC = 5
    
    if onmarket then
    signal=0
    endif
    
    cc=summation[BarreCC - 1](cci[136] crosses over -200)
    
    if cc then
    signal=1
    endif
    
    if signal>0 then
    Rialzo  = summation[BarreMedia - 1] (close CROSSES OVER Media[1])
    Ribasso = summation[BarreMedia - 1](close[1] CROSSES UNDER Media[1])
    Rialzo2 = (close crosses over media)
    Cond    = Rialzo AND Ribasso and Rialzo2
    endif
    
    
    if cond then
    SL= (close - lowest[30](low)) / pipsize
    buy 1 contract at market
    endif
    
    set stop ploss SL
    set target pprofit 50
    
    cci-2.jpg cci-2.jpg
    #81627 quote
    Gianluca
    Participant
    Master

    Spero di non aver fatto errori, pare che nel segnale singolo ha isolato bene il trade, da vedere in un periodo lungo;
    [EDIT] no, giovedi 27 settembre alle 10.05 viene fatto un trade, ma l’entrata non è a quell’ora ma alle 11.15, spero sia risolvibile.

    defparam cumulateorders = false
    once signal=0
    //once signal2=0
    
    Media   = Average[3](close)[3]
    BarreMedia   = 5
    BarreCC = 5
    
    if onmarket then
    signal=0
    signal=0
    endif
    
    cc=summation[BarreCC - 1](cci[136] crosses over -200)
    
    if cc then
    signal=1
    endif
    
    if signal>0 then
    Rialzo  = summation[BarreMedia - 1] (close CROSSES OVER Media[1])
    Ribasso = summation[BarreMedia - 1](close[1] CROSSES UNDER Media[1])
    Cond    = Rialzo AND Ribasso 
    endif
    
    Rialzo2 = (close crosses over media)
    
    if cond then
    signal2=1
    SL= (close - lowest[30](low)) / pipsize
    endif
    
    if signal2>0 and rialzo2 then
    buy 1 contract at market
    signal2=0
    signal=0
    endif
    
    set stop ploss SL
    set target pprofit 50
    
    

    [attachment file=”81628″]

    cci-3.jpg cci-3.jpg
    #81629 quote
    robertogozzi
    Moderator
    Master

    Certo che le fa errate, hai messo il valore BARRECC minore di BARREMEDIA.

    Ad ogni modo il contatore va messo in un altro modo, non con SUMMATION, perché così non sai se incrocia prima il CCI e poi la media, come vuoi tu.

    Ci vuole un contatore che parta da 1 quando il CCI incrocia e vada avanti finché non entra a mercato oppure quando è passato il numero di barre desiderato ed in questi casi va azzerato.

    Se non ci riesci, quando sarò al PC te lo farò io.

    #81633 quote
    Gianluca
    Participant
    Master

    Certo che le fa errate, hai messo il valore BARRECC minore di BARREMEDIA.

    Ad ogni modo il contatore va messo in un altro modo, non con SUMMATION, perché così non sai se incrocia prima il CCI e poi la media, come vuoi tu.

    Ci vuole un contatore che parta da 1 quando il CCI incrocia e vada avanti finché non entra a mercato oppure quando è passato il numero di barre desiderato ed in questi casi va azzerato.

    Se non ci riesci, quando sarò al PC te lo farò io.

    Ok grazie, forse sbagliamo con la questione barre? La strategia dovrebbe partire dal CCI, da li aspetterai i rientri della media e comprare o vendere chiaramente. e poi se dopo tot barre o se il cci sale a 0 fermarsi ed aspettare un nuovo rientro.
    Se domani risci ti ringrazio

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

Secondo Break di una media.


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Gianluca @altares Participant
Summary

This topic contains 57 replies,
has 2 voices, and was last updated by robertogozzi
6 years, 2 months ago.

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