Secondo Break di una media.

Viewing 15 posts - 31 through 45 (of 58 total)
  • Author
    Posts
  • #91399 quote
    robertogozzi
    Moderator
    Master

    Scusami per non averti potuto rispondere prima.

    Devo rileggermi un pò tutto a “rientrare” mentalmente nella strategia.

    Dammi ancora qualche giorno. Grazie.

    #92524 quote
    robertogozzi
    Moderator
    Master

    Scusami ancora per il ritardo, prova  questa versione:

    defparam cumulateorders = false
    //defparam flatbefore = 070000
    //defparam flatafter  = 210000
    once signal=0
    //once signal2=0
     
    Media   = Average[3](close)[3]
    //BarreMedia   = 5
    BarreCC = 20
    timeon= time> 080000 and time < 205500
    mycc=-200
    myccS=200
     
    ONCE CCIbarindex     = 0
    ONCE CCICrossOver    = 0
    ONCE CCICrossUnder   = 0
    ONCE MediaCrossOver  = 0
    ONCE MediaCrossUnder = 0
     
     
    myCCI=cci[136](close)
    cc=MyCCI crosses over mycc
    if cc then
    CCICrossOver    = 1
    CCICrossUnder   = 0
    MediaCrossOver  = 0
    MediaCrossUnder = 0
    signal=1
    CCIbarindex=BarIndex
    endif
    IF CCICrossOver THEN
    IF MediaCrossOver = 0 THEN
    MediaCrossOver = close CROSSES OVER Media
    ELSIF MediaCrossUnder = 0 THEN
    MediaCrossUnder = close CROSSES UNDER Media
    ENDIF
    ENDIF
    IF signal THEN
    IF MyCCI crosses under mycc THEN
    signal = 0
    CCICrossOver    = 0
    CCICrossUnder   = 0
    MediaCrossOver  = 0
    MediaCrossUnder = 0
    ELSIF (Barindex - CCIbarindex) > BarreCC THEN
    signal = 0
    CCICrossOver    = 0
    CCICrossUnder   = 0
    MediaCrossOver  = 0
    MediaCrossUnder = 0
    ENDIF
    ENDIF
    IF MyCCI >= 0 THEN
    signal = 0
    endif
    if onmarket then
    signal=0
    endif
     
    if signal>0 then
    Cond = (close crosses over media) AND MediaCrossOver AND MediaCrossUnder
    EntryLong = high
    endif
    if Cond and timeon and Not OnMarket and close > EntryLong then
    SL= (close - lowest[30](low)) / pipsize
    buy 1 contract at market
    set stop ploss SL
    set target pprofit SL
    signal=0
    EntryLong = 999999
    endif
    
     
    //////////SHORT///
     
    once signalSHORT=0
     
    ccS=MyCCI crosses UNDER myccS
    if ccS then
    CCICrossOver    = 0
    CCICrossUnder   = 1
    MediaCrossOver  = 0
    MediaCrossUnder = 0
    signalSHORT=1
    CCIbarindex=BarIndex
    endif
    IF CCICrossUnder THEN
    IF MediaCrossUnder = 0 THEN
    MediaCrossUnder = close CROSSES UNDER Media
    ELSIF MediaCrossOver = 0 THEN
    MediaCrossOver = close CROSSES OVER Media
    ENDIF
    ENDIF
    IF signalSHORT THEN
    IF MyCCI crosses over myccS THEN
    signalSHORT = 0
    CCICrossOver    = 0
    CCICrossUnder   = 0
    MediaCrossOver  = 0
    MediaCrossUnder = 0
    ELSIF (Barindex - CCIbarindex) > BarreCC THEN
    signalSHORT = 0
    CCICrossOver    = 1
    CCICrossUnder   = 0
    MediaCrossOver  = 0
    MediaCrossUnder = 0
    ENDIF
    ENDIF
    IF MyCCI <= 0 THEN
    signalSHORT = 0
    endif
    if onmarket then
    signalSHORT=0
    endif
     
    if signalSHORT>0 then
    CondS = (close crosses under media) AND MediaCrossOver AND MediaCrossUnder
    EntryShort = low
    endif
    if CondS and timeon and Not OnMarket and close < EntryShort then
    SLS= (HIGHEST[30](high)- close) / pipsize
    SELLSHORT 1 contract at market
    set stop ploss SLS
    set target pprofit SLS
    signalSHORT= 0
    EntryShort = 0
    endif
    IF ONMARKET AND TIME >=222000 THEN
    SELL AT MARKET
    EXITSHORT AT MARKET
    ENDIF
    //graph signal
    //graph signalSHORT
    //graph CCICrossOver
    //graph CCICrossUnder
    //graph MediaCrossOver
    //graph MediaCrossUnder
    //graph CCIBarindex
    //graph barindex - CCIbarindex
    #95424 quote
    Gianluca
    Participant
    Master

    Roberto, assolutamente sono io che devo scusarmi con te che approfitto della tua gentilezza!

    Ho sviluppato un idea, avvenuto il doppio rientro si tira fibonacci tra il minimo/massimo ed il massimo minimo relativo + alto avvenuto tra l’uscita ed il break e si compra li!
    Ti consiglio di provarlo!
    in verita’ il sistema funzionerebbe meglio se ciò avvenisse a determinati livelli di prezzo calcolati sull’atr daily ! se riesco a scriverlo lo postero qui

    #95426 quote
    robertogozzi
    Moderator
    Master

    Se puoi anche allegare una foto per capire meglio, l’apprezzerei.

    Grazie,

    #95611 quote
    Gianluca
    Participant
    Master
    #113167 quote
    Gianluca
    Participant
    Master

    @robertogozzi, volevo ancora ringraziarti per l’aiuto datomi in passato vorrei chiederti pero un altro piccolo supporto. il sistema ho provato a configurarlo io come illustrato nella foto pero alcuni trade vengono fatti anche se non sarebbero dovuti avvenire. ti allego il codice ed un esempio.

    defparam cumulateorders = false
    defparam flatbefore = 070000
    once signal=0
    
    
    tradeshort=0
    ///2 BREAKEAVEN///////////
    once breakeaven = 0
    startBreakeven = 60
    PointsToKeep = 50
    ONCE logictrailing=0
    TGL =15
    TGS=70
    
    Media   = Average[3](close)[3]
    BarreMedia   = 40
    BarreCC = 20
    timeon= time> 130000 and time < 185500
    mycc=-200
    myccS=200
    
    tpS=70
    
    ONCE CCIbarindex = 0
    
    ////////////STRATEGIA/////////////////////////////////
    avt=averagetruerange[14]
    ignored, ignored, ignored, ignored, ignored, COMPOM = CALL "Composite momentum"[4, 3, 9]
    filtro=(compom<49) and avt>5.2
    filtros=(compom>-25) and avt>7.1
    MyCCI=cci[136](close)
    
    cc=MyCCI crosses over mycc
    if cc then
    signal=1
    CCIbarindex=BarIndex
    endif
    IF signal THEN
    IF (Barindex - CCIbarindex) > BarreCC THEN
    signal = 0
    SEGNALELONG=0
    ENDIF
    ENDIF
    IF MyCCI >= 0 THEN
    signal = 0
    SEGNALELONG=0
    endif
    if onmarket then
    signal=0
    SEGNALELONG=0
    endif
    
    
    if signal>0 then
    Rialzo  = summation[BarreMedia - 1](close > Media)
    Ribasso = summation[BarreMedia - 1](close[1] CROSSES UNDER Media[1])
    Rialzo2 = (close crosses over media)
    Cond    = Rialzo AND Ribasso AND Rialzo2
    if Cond  then
    SEGNALELONG=1
    FIB=LOWEST[10](LOW)+((HIGHEST[10](HIGH)) - (LOWEST[10](LOW)))*0.52
    GRAPH FIB
    SL= (close - lowest[30](low)) / pipsize
    TPL=((HIGHEST[10](HIGH)) - (LOWEST[10](LOW)))*1.7
    graphonprice tpl+fib
    IF  SEGNALELONG AND timeon and filtro AND CLOSE>MEDIA THEN
    buy 5 contract AT FIB LIMIT
    set stop ploss SL
    set target pprofit TPL//SL*3.2
    signal=0
    endif
    endif
    endif
    
    
    
    //////////SHORT///
    
    once signalSHORT=0
    
    ccS=MyCCI crosses UNDER myccS
    if ccS then
    signalSHORT=1
    CCIbarindex=BarIndex
    endif
    IF signalSHORT THEN
    IF (Barindex - CCIbarindex) > BarreCC THEN
    signalSHORT = 0
    ENDIF
    ENDIF
    IF MyCCI <= 0 THEN
    signalSHORT = 0
    endif
    if onmarket then
    signalSHORT=0
    endif
    
    
    if tradeshort=1 then
    if signalSHORT>0 then
    RialzoS  = summation[BarreMedia - 1](close < Media)
    RibassoS = summation[BarreMedia - 1](close[1] CROSSES OVER Media[1])
    Rialzo2S = (close crosses UNDER media)
    CondS    = RialzoS AND RibassoS AND Rialzo2S
    if CondS and timeon and filtros then
    SLS= (HIGHEST[30](high)-close) / pipsize
    SELLSHORT 5 contract at market
    set stop ploss SLS
    set target pprofit tpS
    signalSHORT=0
    endif
    endif
    ENDIF
    
    IF ONMARKET AND TIME >=213000 THEN
    SELL AT MARKET
    EXITSHORT AT MARKET
    ENDIF
    
    
    
    ///2///////////////////////////////////////////////
    //reset the breakevenLevel when no trade are on market
    if breakeaven>0 then
    IF NOT ONMARKET THEN
    breakevenLevel=0
    ENDIF
    // --- BUY SIDE ---
    //test if the price have moved favourably of "startBreakeven" points already
    IF LONGONMARKET AND close-tradeprice(1)>=startBreakeven*pipsize THEN
    //calculate the breakevenLevel
    breakevenLevel = tradeprice(1)+PointsToKeep*pipsize
    ENDIF
    
    //place the new stop orders on market at breakevenLevel
    IF breakevenLevel>0 THEN
    SELL AT breakevenLevel STOP
    ENDIF
    // --- end of BUY SIDE ---
    
    IF SHORTONMARKET AND tradeprice(1)-close>startBreakeven*pipsize THEN
    //calculate the breakevenLevel
    breakevenLevel = tradeprice(1)-PointsToKeep*pipsize
    ENDIF
    //place the new stop orders on market at breakevenLevel
    IF breakevenLevel>0 THEN
    EXITSHORT AT breakevenLevel STOP
    ENDIF
    endif
    
    ///5logic trailing ale
    // LOGIC TRAILING STOP
    //RESET
    IF NOT ONMARKET THEN
    MAXPRICE = 0
    MINPRICE = CLOSE
    PREZZOUSCITA = 0
    ENDIF
    if logictrailing>0 then
    //SE LONG ALLORA:
    IF LONGONMARKET THEN
    MAXPRICE = MAX(MAXPRICE,CLOSE) //SAVING THE MFE OF THE CURRENT TRADE
    IF MAXPRICE-TRADEPRICE(1)>=TGL*POINTSIZE THEN //IF THE MFE IS HIGHER THAN THE TRAILINGSTOP THEN
    PREZZOUSCITA = MAXPRICE-TGL*POINTSIZE //SET THE EXIT PRICE AT THE MFE - TRAILING STOP PRICE LEVEL
    ENDIF
    ENDIF
    IF SHORTONMARKET THEN
    MINPRICE = MIN(MINPRICE,CLOSE) //SAVING THE MFE OF THE CURRENT TRADE
    IF TRADEPRICE(1)-MINPRICE>=TGS*POINTSIZE THEN //IF THE MFE IS HIGHER THAN THE TRAILINGSTOP THEN
    PREZZOUSCITA = MINPRICE+TGS*POINTSIZE //SET THE EXIT PRICE AT THE MFE + TRAILING STOP PRICE LEVEL
    ENDIF
    ENDIF
    //EXIT ON TRAILING STOP PRICE LEVELS
    IF ONMARKET AND PREZZOUSCITA>0 THEN
    EXITSHORT AT PREZZOUSCITA STOP
    SELL AT PREZZOUSCITA STOP
    ENDIF
    endif
    
    3x3-sbagliato.jpg 3x3-sbagliato.jpg
    #113179 quote
    robertogozzi
    Moderator
    Master

    Precisami alcune cose:

    • è un grafico a 5 minuti del DAX?
    • data e ora della candela con l’entrata errata
    • perché l’entrata è errata?
    #113180 quote
    robertogozzi
    Moderator
    Master

    Un’altra cosa volevo chiederti. Per favore non usare @ quando ti riferisci ad un utente che ricevo sempre ogni comunicazione per i post a cui almeno una volta ho risposto, altrimenti mi arrivano due email identiche.

    Generalmente si usa @ per fare riferimento ad un utente in discussioni cui partecipano molte persone, in modo che il destinatario sappia che quel post è rivolto a lui.

    Grazie 🙂

    #113452 quote
    Gianluca
    Participant
    Master

    si è un dax 5 minuti l’entrata è errata perchè il CCI 136 periodi non è mai rientrato da -200 quindi non mi spiego

    #113456 quote
    robertogozzi
    Moderator
    Master

    Dimmi anche la data e l’ora della candela incriminata.

    #113467 quote
    Gianluca
    Participant
    Master

    Roberto, assolutamente sono io che devo scusarmi con te che approfitto della tua gentilezza! Ho sviluppato un idea, avvenuto il doppio rientro si tira fibonacci tra il minimo/massimo ed il massimo minimo relativo + alto avvenuto tra l’uscita ed il break e si compra li! Ti consiglio di provarlo! in verita’ il sistema funzionerebbe meglio se ciò avvenisse a determinati livelli di prezzo calcolati sull’atr daily ! se riesco a scriverlo lo postero qui

    la candela di quella foto è di venerdi 18 ottobre alle ore 16.55

    #113468 quote
    Gianluca
    Participant
    Master

    Ce ne sono diverse, ad esempio 8 novembre 2019, il cci è stato a -200  nella notte ben oltre le 20 barre. come mai invece è entrato long il sistema alle ore 16.20 ?
    Che sia possibile che la funziona Defparamflatbefore crei problemi? oppure il preload bar infici gli indicatori?Anche il trade del 5 novembre alle 16.55 è errato. E’ vero che il CCI è rientrato da -200 ma il prezzo non è tornato sotto la media 3×3 quindi nemmeno doveva calcolare il prezzo di entrata (50% tra minimo segnato con cci sotto 200 e massimo prima di rientrare sotto la media 3×3.

    (infatti io sto cercando di fare questa modifica che segnalai:

    Roberto, assolutamente sono io che devo scusarmi con te che approfitto della tua gentilezza!

    Ho sviluppato un idea, avvenuto il doppio rientro si tira fibonacci tra il minimo/massimo ed il massimo minimo relativo + alto avvenuto tra l’uscita ed il break e si compra li!
    Ti consiglio di provarlo!
    in verita’ il sistema funzionerebbe meglio se ciò avvenisse a determinati livelli di prezzo calcolati sull’atr daily ! se riesco a scriverlo lo postero qui)

    #113478 quote
    robertogozzi
    Moderator
    Master

    Darò un’occhiata dopo il fine settimana.

    #113492 quote
    Gianluca
    Participant
    Master

    Grazie. è come se non azzerasse il segnale dopo le barre limite

    #113783 quote
    Gianluca
    Participant
    Master

    Ciao, sei per caso riuscito a darci un occhiata?

Viewing 15 posts - 31 through 45 (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...