Trasformare indicatore in ProOrder

Viewing 15 posts - 1 through 15 (of 24 total)
  • Author
    Posts
  • #69200 quote
    Gianco
    Participant
    Senior

    Buongiorno , chiedo gentilmente se si puo trasformare questo indicatore in attivazione di ordine di 1 ( eventualmente variabile )  lotto  quando il prezzo oltrepassa il segmento affiancato dalla freccia nera in direzione long o short in base alla freccia abbinata verde o rossa . Con la possibilità di mettere uno stop e profit settabili .

    Sarei lieto , e ringrazio di cuore .

     

     

    // The Hikkake Pattern, by Daniel Chesler, CMT
    // The 'Fakey' entry
    // coded by Violet
    // 28-11-2017
    //
    
    // For an explanation of the pattern, consult this webpage:
    // http://www.esignallearning.com/education/marketmaster/archive/2012/archive_index.aspx?date=041312
    // Also read this interesting report:
    // https://oxfordstrat.com/trading-strategies/hikkake-pattern/
    //
    // Use it for market timing, but always in conjunction with position sizing and a sensible stoploss !
    // because like every other technique this one may fail
    
    InsideBar = high[1] < high[2] and low[1] > low[2]
    FakeBullBar = low < low[1] and high < high[1]
    FakeBearBar = low > low[1] and high > high[1]
    
    // Long Setup
    if InsideBar and FakeBullBar then
    HikkakeBull = 1 // flag for a potential bullish setup
    InsideBullBarHigh = high[1] // set the high of the insidebar
    InsideBarNumber = barindex - 1
    HikkakeBarNumber = barindex // signal bar, bar number of completed Hikkake setup
    endif
    if HikkakeBull then
    WithinTimeLimit = (barindex - HikkakeBarNumber) <= 3
    if close > InsideBullBarHigh and WithinTimeLimit then
    //setup confirmed if price closes higher then InsideBullBarHigh within 3 bars after pattern completion
    drawarrowup(barindex,low-range/8) coloured(0,255,125)
    drawsegment(InsidebarNumber,InsideBullBarHigh+ticksize,barindex,InsideBullBarHigh+ticksize)
    drawtext("▴",barindex,InsideBullBarHigh-ticksize, dialog,bold,20)
    HikkakeBull = 0 // reset pattern detection flag
    endif
    endif
    
    // Short/Sell setup
    if InsideBar and FakeBearBar then
    HikkakeBear = 1 // flag for a potential bearish setup
    InsideBearBarLow = low[1] // set the low of the insidebar
    InsideBearBarNumber = barindex - 1
    HikkakeBearBarNumber = barindex // signal bar, bar number of completed Hikkake setup on third bar
    endif
    if HikkakeBear then
    WithinTimeLimit = (barindex - HikkakeBearBarNumber) <= 3
    if close < InsideBearBarLow and WithinTimeLimit then
    //setup confirmed if price closes lower then InsideBearBarow within 3 bars after pattern completion
    drawarrowdown(barindex,high+range/8) coloured(255,0,0)
    drawsegment(InsideBearBarNumber,InsideBearBarLow-ticksize,barindex,InsideBearBarLow-ticksize)
    drawtext("▾",barindex,InsideBearBarLow - ticksize, dialog,bold,20)
    HikkakeBear = 0 // reset pattern detection flag
    endif
    endif
    
    //drawcandle(open, high, low,close)
    
    return
    
    #69211 quote
    robertogozzi
    Moderator
    Master

    Devi richiamare un indicatore che NON visualizzi niente sul grafico, ma, al posto delle frecce restituisca del valori, nel caso di seguito 1 quando il segnale è RIALZISTA (freccia verde) e 2 quando è RIBASSISTA (freccia rossa) e dovrà restituire anche il prezzo indicato dal segmento.

    Per fare questo, oltre all’indicatore originale devi installare (solo importarlo o crearlo, senza metterlo sul grafico) quello che io ho modificato ed ho chiamato “Hikkake pattern2”, che poi andrà richiamato dalla strategia così:

    NuovoRisultato,Prezzo = CALL "Hikkake pattern2"

    Ad ogni modo, pur avendo allegato il file .ITF da importare, se vuoi fare copia & incolla questo è il nuovo indicatore:

    // The Hikkake Pattern, by Daniel Chesler, CMT
    // The 'Fakey' entry
    // coded by Violet
    // 28-11-2017
    //
    
    // For an explanation of the pattern, consult this webpage:
    // http://www.esignallearning.com/education/marketmaster/archive/2012/archive_index.aspx?date=041312
    // Also read this interesting report:
    // https://oxfordstrat.com/trading-strategies/hikkake-pattern/
    //
    // Use it for market timing, but always in conjunction with position sizing and a sensible stoploss !
    // because like every other technique this one may fail
    
    risultato = 0
    prezzo    = 0
    
    InsideBar = high[1] < high[2] and low[1] > low[2]
    FakeBullBar = low < low[1] and high < high[1]
    FakeBearBar = low > low[1] and high > high[1]
    
    // Long Setup
    if InsideBar and FakeBullBar then
    HikkakeBull = 1 // flag for a potential bullish setup
    InsideBullBarHigh = high[1] // set the high of the insidebar
    //InsideBarNumber = barindex - 1
    HikkakeBarNumber = barindex // signal bar, bar number of completed Hikkake setup
    endif
    if HikkakeBull then
    WithinTimeLimit = (barindex - HikkakeBarNumber) <= 3
    if close > InsideBullBarHigh and WithinTimeLimit then
    //setup confirmed if price closes higher then InsideBullBarHigh within 3 bars after pattern completion
    //drawarrowup(barindex,low-range/8) coloured(0,255,125)
    //drawsegment(InsidebarNumber,InsideBullBarHigh+ticksize,barindex,InsideBullBarHigh+ticksize)
    //drawtext("▴",barindex,InsideBullBarHigh-ticksize, dialog,bold,20)
    HikkakeBull = 0 // reset pattern detection flag
    risultato = 1
    prezzo    = InsideBullBarHigh+ticksize
    endif
    endif
    
    // Short/Sell setup
    if InsideBar and FakeBearBar then
    HikkakeBear = 1 // flag for a potential bearish setup
    InsideBearBarLow = low[1] // set the low of the insidebar
    //InsideBearBarNumber = barindex - 1
    HikkakeBearBarNumber = barindex // signal bar, bar number of completed Hikkake setup on third bar
    endif
    if HikkakeBear then
    WithinTimeLimit = (barindex - HikkakeBearBarNumber) <= 3
    if close < InsideBearBarLow and WithinTimeLimit then
    //setup confirmed if price closes lower then InsideBearBarow within 3 bars after pattern completion
    //drawarrowdown(barindex,high+range/8) coloured(255,0,0)
    //drawsegment(InsideBearBarNumber,InsideBearBarLow-ticksize,barindex,InsideBearBarLow-ticksize)
    //drawtext("▾",barindex,InsideBearBarLow - ticksize, dialog,bold,20)
    HikkakeBear = 0 // reset pattern detection flag
    risultato = 2
    prezzo    = InsideBearBarLow-ticksize
    endif
    endif
    
    //drawcandle(open, high, low,close)
    return risultato,prezzo

    In un post successivo (per non fare una cosa trfoppo lunga), metterò la strategia.

    #69215 quote
    robertogozzi
    Moderator
    Master

    Questa è la strategia, che dovrai eseguire DOPO avere importato l’indicatore sopra allegato.

    I parametri sono tutti personalizzabili, numero dei lotti, stop loss e profitto.

    Fammi sapere se funziona o meno (io l’ho provata su EurNzd, h4 e sembra funzionare, non ho fatto caso alla profittabilità o meno).

    DEFPARAM CumulateOrders = false
    ONCE Lotti              = 1
    ONCE Profitto           = 60
    ONCE Perdita            = Profitto / 2
    IF OnMarket THEN
       Risultato = 0
    ENDIF
    NuovoRisultato,Prezzo = CALL "Hikkake pattern2"
    Risultato = max(Risultato,NuovoRisultato)
    IF Risultato = 1 AND not OnMarket THEN
       BUY Lotti       CONTRACTS AT Prezzo LIMIT      //Long
       SET TARGET pPROFIT Profitto
       SET STOP   pLOSS   Perdita
    ENDIF
    IF Risultato = 2 AND not OnMarket THEN
       SELLSHORT Lotti CONTRACTS AT prezzo LIMIT      //Short
       SET TARGET pPROFIT Profitto
       SET STOP   pLOSS   Perdita
    ENDIF
    #69236 quote
    Gianco
    Participant
    Senior

    Eccomi Roberto , innanzitutto grazie , sei proprio bravo , ho installato e la sistemazione funziona , ho provato a mettere 80 di profitto e   80/8 e poi 80/5  di perdita per prendere un long andato bene che completo è 115 , ma non mi sembra che l’abbia colto  , mi trovo anche il dettaglio tutto in rosso senza un positivo , ho provato ovviamente con 20 di profit  e  20/5 di stop , e qui andiamo meglio , segna , ma non mi sembra che faccia gli short

    Che mi dici Roberto ? Grazie

    #69250 quote
    Gianco
    Participant
    Senior

    Vedi Roberto dovrebbe fare questi 80 punti  . . . .

    #69252 quote
    robertogozzi
    Moderator
    Master

    Forse intendevi dire che non fa i LONG?!

    Mi pare di vedere vari short sulla tua foto.

    E’ il Dax?, su quale TF?  L’indicatore è predisposto per le normali candele, tu lo hai messo su un grafico in HA, ma lui continua a lavorare con le candele giapponesi normali, quello che è sul grafico lo ignora completamente.

    #69253 quote
    robertogozzi
    Moderator
    Master

    Dalla foto che allego, DAX h1, vedo che fa sia Long che Short (evidenziati con un’ellisse arancio). Però fa anche cose strane che ho evidenziato con un rettangolo verde, che non sono riuscito a capire bene.

    #69258 quote
    Gianco
    Participant
    Senior

    Ciao Roberto , ho riguardato e credo di aver capito qual’è il problema , è semplice , si sormontano delle partenze . . .  Se si potesse far chiudere la partenza precedente quando si completa la candela nuova che crea un’altra partenza sarebbe fantastico .  Immagino che sia difficile , perchè supponiamo che parte un long e a metà strada sta per nascerne un altro . Fin che non completa la candela non so se si forma un’altra partenza ( che poi può essere long o short )  In quel caso pensandoci bene se ho un long precedente e se ne sta creando un altro , potrei far chiudere immediatamente alla prima comparsa del secondo long , ossia il primo tick che crea un nuovo start fa chiudere il precedente .

    Ora abbiamo un nuovo start che NON sappiamo se sarà confermato , però dico io , se lo conferma parte il nuovo se non lo conferma vuol dire “quasi” che è andata bene , ma se parte un altro long che però non raggiunge il target , ho ridotto il target precedente e con il secondo non realizzato magari mi riduco anche il profitto .

    Mi viene in mente una cosa : Parte un primo long , a metà strada sta per farne un altro long , SE è del medesimo percorso attiva il secondo long al completamento del primo . Sarebbe come dire , spostalo , ho impostato il target a 50 è arrivato a 40 e sta per farsene un altro long , non considerare il secondo long fino a completamento del target precedente .   Se invece durante il percorso del primo long trova una partenza dello short chiudi il long e attiva lo short . Però anche qui ci sarebbe un dettaglio , va bene se lo short si realizza davvero , perchè nel completamento della candela può formarsi e non , quindi se per caso durante il primo long a metà strada il tentativo di una partenza short sta per formarsi e NON si forma , sarebbe da dire : SE durante il percorso trovi una nuova apertura contraria , NON chiuderti per X secondi , in modo tale che immetto un time in base al time frame che utilizzo .  Dando una logita di tempo accettabiel per limitare la falsa partenza contraria .

    A dirlo è facile , ma a realizzarlo io prorpio Non so . . . . .

    Scusami Roberto di quello che ho scritto adesso , sembra di chiedere delle pretese , ma in realtà cerco una logica che dia un senso alla realizzazione funzionante , che spesso senza se e senza ma non funzionano .

    Dimenticavo ,  utilizzerei time frame sul 10  15 minuti , essenzialmente , poi se si può raggiungere la realizzazione , con x secondi si possono affrontare anche altri time frame più grandi .  le foto precedenti si avevano le HA che però funziona lo stesso , ti ho allegato 2 nuove foto , nella prima 1h   target 80 e stop 80/8  probabilmente si sormontano e non partono le aperture successive ,  e la seconda con giapponesi  10 minuti stessa cosa .

    attendo tuo consiglio , grazie Roberto

    #69261 quote
    Gianco
    Participant
    Senior

    In sintesi direi così : 1)  Parte un long , target 50 , strada facendo a 40 sta per nascerne un altro : SE stessa direzione , lacia completare il primo a target 50 e appena chiuso parte il secondo .

    2) Parte un long , target 50 , strada facendo a 40 sta per nascerne un altro contrario : attendi ” x ” secondi prima di accettare il contrario , che se c’è per davvero  Chiudi , se invece non c’è prosegui .

    Questo visto nella versione long , poi ovviamente al contrario visto nella versione short .

    Ti chiedo scusa , Roberto , ma se sei della zona vengo a trovarti e ci mangiamo una pizza . . .

    #69269 quote
    robertogozzi
    Moderator
    Master

    Per quanto riguarda i contatti personali, è contrario alla politica del forum fornirli.

    Per quanto riguarda le tue osservazioni cercherò, appena ho qualche decina di minuti di tempo, di studiare un’eventuale soluzione.

    #69307 quote
    Gianco
    Participant
    Senior

    Grazie Roberto , attendo tua magia

    #69348 quote
    robertogozzi
    Moderator
    Master

    Ci sono dei problemi NATURALI, nel senso che ProOrder riesce a capire che siamo a mercato (OnMarket) solo alla barra successiva, per cui se entra nel corso di una barra riuscirà a settare ONMARKET solo alla barra successiva, per cui la strategia pensa di NON essere ancora a mercato e verifica ancora lo status, talvolta conseguendone degli errori di entrata.

    Ho corretto alcuni errori logici che male interpretavano l’andamento dell’indicatore ed ho sostituito SET TARGET PPROFIT e SET STOP PLOSS con ordine pendenti (che durano solo una barra e vanno reimmessi ad ogni barra se l’operazione è ancora aperta).

    Questo è il codice, provalo e fammi sapere (l’indicatore va bene, non va modificato):

    DEFPARAM CumulateOrders = false
    ONCE Lotti              = 1
    ONCE Profitto           = 55
    ONCE Perdita            = Profitto
    IF OnMarket THEN                                        //Ad ogni barra occorre reimmettere gli ordini pendenti
       Risultato = 0
       IF LongOnMarket THEN
          SELL      AT Prezzo + (Profitto / pipsize) LIMIT  //Target Profit
          SELL      AT Prezzo - (Perdita  / pipsize) STOP   //Stop Loss
       ELSE
          EXITSHORT AT Prezzo - (Profitto / pipsize) LIMIT  //Target Profit
          EXITSHORT AT Prezzo + (Perdita  / pipsize) STOP   //Stop Loss
       ENDIF
    ELSE
       NuovoRisultato,NuovoPrezzo = CALL "Hikkake pattern2"
       IF NuovoRisultato THEN
          Risultato = NuovoRisultato
          Prezzo    = NuovoPrezzo
       ENDIF
       IF Risultato = 1 THEN
          BUY Lotti       CONTRACTS AT Prezzo LIMIT                         //Entrare LONG con un ordine pendente
          SELL                      AT Prezzo + (Profitto / pipsize) LIMIT  //Target Profit
          SELL                      AT Prezzo - (Perdita  / pipsize) STOP   //Stop Loss
       ELSIF Risultato = 2 THEN
          SELLSHORT Lotti CONTRACTS AT prezzo LIMIT                         //Entrare SHORT con un ordine pendente
          EXITSHORT                 AT Prezzo - (Profitto / pipsize) LIMIT  //Target Profit
          EXITSHORT                 AT Prezzo + (Perdita  / pipsize) STOP   //Stop Loss
       ENDIF
    ENDIF

    Buon fine settimana.

    #69358 quote
    Gianco
    Participant
    Senior

    Grazie Roberto , lo proverò appena torno , ma ero molto interessato al tuo aiuto che son venuto almeno a  leggere la tua soluzione , ti ringrazio molto intanto e auguro anche a te un buin wk e buon ponte .

    #70023 quote
    Gianco
    Participant
    Senior

    Eccomi Roberto  per  la tua gentile richiesta di darti indicazioni sui risultati  ,     intanto buongiorno

    Come hai detto , parte alla candela successiva , e quello non è un problema ,

    Ho visto anche , purtroppo , che i risultati sono molto scarsi , anzi ,        cosa che però dalle analisi fatte manualmente sono positive , chiaro che si adottano anche logiche umanistiche ,  che il sistema meccanicamente “forse” non può gestire .  Ma la volevo informare di alcune cose positive  che spiego :

    allego foto

    Caricato gli indicatori ed il sistema automatico dal Probacktest ,  i risultati purtroppo sono tristi , ma come da foto immagine 7 , con un perioro di 1000 unità  si vedono una forte serie di ingressi ed uscita fino ad un primo segnale . Poi esegue 3 ingressi e chiusure , ma dove ho messo una ellisse rossa , quell’ingresso non lo esegue che tra l’altro sarebbe uno dei migliori ,  credo che qualcosa dica di NON partire se non ritorna al punto di partenza . . .  e nei casi di movimento deciso non lo prende in considerazione . . . . .   Pensavo di far fare l’apertura del contratto proprio dallo stesso pattern di candele che creano l’indicazione dell’Hikkake originale ,  come dire , anzichè creare l’indicazione della freccia , apri il contratto . . . . perchè ci sono delle occasioni che sono un peccato perderle .

    Però una bellissima cosa è proprio l’indicazione a triangolo sotto che ha fatto Roberto  , che ha un valore importante , perchè attualmente guardando altri grafici , si perde di vista , si può far suonare un allarme come mi riesce da foto allegata immagine 3 ?  In quell’indicatore si formano delle candele di una certa lunghezza ( che io posso impostare in quel sistema che ha diverse candele ) però in questo caso ne abbiamo solo una , ecco , si può al nascere del triangolo o cambiarlo a candela , far si che immetto un allarme e questo mi avvisa ?

    Questo è intanato un aiuto che mi avvisa di una inizio di segnalazione ,  ma resto comunque in attesa , se possibile , di una correzione del procedimento di apertura del contratto , si può Roberto ?   Grazie

    Gian

    #70140 quote
    robertogozzi
    Moderator
    Master

    Il segnale da te cerchiato in rosso nell’immagine 10 l’ha eseguito, non vedi, alle 14:10 (la candela doji) perché solo allora il prezzo ha toccato quello indicato dal segnale (12765.30).

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

Trasformare indicatore in ProOrder


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Gianco @gianco Participant
Summary

This topic contains 23 replies,
has 2 voices, and was last updated by Gianco
7 years, 9 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 04/26/2018
Status: Active
Attachments: 14 files
Logo Logo
Loading...