punta superiore alla precedente

Viewing 15 posts - 1 through 15 (of 28 total)
  • Author
    Posts
  • #131730 quote
    fabioerliam
    Participant
    Junior

    Buongiorno a tutti,

    chiedo il vs aiuto perché sono bloccato nel costruire un indicatore.

    E’ difficile da spiegare, ma ci proverò…

    Utilizzo solitamente un grafico lineare per fare trading (in questo modo visualizzo sul grafico linee che creano delle punte al rialzo o al ribasso a seconda di come si muove il mercato)

    L’indicatore dovrebbe segnalarmi ogni volta che (mettiamo al rialzo) una punta mi supera la precedente.

    p.s. una punta si crea quando su 2 segmenti il primo sale e il secondo scende

    Sono riuscito a creare un primo indicatore che mi segnala appunto questi vertici (istogramma 1 se viene creata e 0 se invece non c’è)

    Poi da questo ne ho fatto un altro che indicasse il valore del prezzo di chiusura di quella punta. (e non solo 1 o 0)

    Anche in questo caso, istogramma con valori che oscillano in base al prezzo di chiusura. Anche questo istogramma mi restituisce 0 se non vi è alcuna punta (perché è collegato al precedente indicatore),

    ma questa volta al posto che darmi 1 come in precedenza, mi da il prezzo della chiusura.

    Arrivo al punto…questo terzo indicatore (dove mi blocco) dovrebbe segnalarmi 1 se la punta ultima appena creata mi supera al rialzo la precedente (cosa che potrebbe fare utilizzando il secondo indicatore che ho creato basandosi sul prezzo)

    Il codice l’ho scritto così:

    IND=CALL VPUNTA (valore punta)
    IND1=IND>1 (così facendo volevo dirgli di non considerare il valore 0 dove il segnale non c’è)
    RIALZO=0
    IF IND1>IND1[1] THEN
    RIALZO=1
    ENDIF
    RETURN RIALZO

    Il risultato che mi da è sbagliato perchè dandogli l’istruzione ind1>ind1[1] (per dirgli la punta precedente), invece mi considera anche il valore “0” appena precedente e quindi succede sempre che il valore è maggiore della precedente…

    per lui la precedente è quella zero che non riesco a NON fargliela considerare e non so in che modo continuare…

    Servirebbe un’istruzione con la quale il codice mi prenda in esame solo il valore positivo (quello dove c’è il prezzo)…ho provato con l’istruzione ind1=ind>0 (oppure 1), ma niente da fare…

    Credo di aver scritto un bel casino…non so se qualcuno riesca a capire e mi rendo conto che non è facile per come l’ho spiegato, ma credetemi è anche difficile da spiegare=)ahhaahah

    Grazie Roberto o a chi si cimenterà nell’aiutarmi=)

    Buona giornata

    #131753 quote
    robertogozzi
    Moderator
    Master

    Per favore usa sempre il pulsante “Insert PRT code” quando inserisci il codice nei tuoi post per facilitare la lettura degli altri, preferibilmente usando nomi di variabili non esclusivamente in maiuscolo. Grazie 🙂

    NON puoi fare riferimenti alle barre precedenti, perché, come hai constatato, ti considera il valore alla barra precedente, non quello dell’ultima PUNTA.

    Se hai la versione 11.x puoi usare gli ARRAY (o indici o vettori) per creare un nuovo elemento ogni volta che trovi una punta. Però se ti bastano solo le ultime due e non anche le precedenti, puoi utilizzare quanto scritto più sotto per la precedente versione 10.3.

    Se hai la versione 10.3 devi usare due variabili, ad esempio le chiami PUNTAPREC e PUNTA. Quando trovi una nuova PUNTA fai la verifica con PUNTAPREC (senza parentesi quadre, non servono) e poi assegni a PUNTAPREC il valore di PUNTA e attendi la prossima.

    fabioerliam thanked this post
    #131762 quote
    fabioerliam
    Participant
    Junior

    Grazie Roberto!…proverò:)…ho la versione 10.3 con IG…ma esiste il modo per passare alla 11?

    #131763 quote
    fabioerliam
    Participant
    Junior

    comunque per le tue indicazioni per la versione 10.3, non saprei in che modo codificarle…ti spiace scrivermi un esempio?

    Grazie mille

    #131764 quote
    fabioerliam
    Participant
    Junior
    ind=CALL vpunta
    puntaprec=ind[1]
    punta=ind
    RIALZO=0
    IF puntaprec>punta THEN
    rialzo=1
    endif
    return rialzo

    l’ho codificato così, ma non và bene…

    #131766 quote
    fabioerliam
    Participant
    Junior

    ad ogni modo…il massimo sarebbe poter analizzare anche le punte precedenti…non solo le ultime 2

    #131773 quote
    robertogozzi
    Moderator
    Master

    No, NON devi riferirti a barre precedenti, ma a variabili chiamate diversamente per identificare un valore che non è più quello corrente.

    Puoi vedere qui un esempio https://www.prorealcode.com/topic/aiuto-su-codice-indicatore/page/2/#post-89416.

    fabioerliam thanked this post
    #131844 quote
    fabioerliam
    Participant
    Junior

    Roberto perdonami, ma non riesco…il senso l’ho più o meno capito, ma più meno che più=).

    Mi hai detto che devo creare 2 variabili a caso es. punta e puntaprec

    Ma quali sono le condizioni che devono avere queste 2 variabili? 2 numeri a caso? punta=1 e puntaprec=2?

    Poi dovrei scrivere che la prima sia maggiore della seconda? (ovviamente no)…

    E poi come faccio a darle il valore del prezzo se ho già dato loro 2 valori?

    sono nel pallone…aiutoooooo

    #131845 quote
    fabioerliam
    Participant
    Junior
    ind=call vpunta
    punta=ind>1
    if punta>puntaprec then
    rialzo=1
    puntaprec=ind
    
    ENDIF
    RETURN RIALZO
    

    …me ne vergogno da solo…

    #131851 quote
    robertogozzi
    Moderator
    Master

    Esattamente così.

    Però tra la linea 2 e la 3 aggiungi:

    rialzo=0

    altrimenti resta sempre a 1.

    fabioerliam thanked this post
    #131852 quote
    fabioerliam
    Participant
    Junior
    ind=call vpunta
    punta=ind>1
    rialzo=0
    if punta>puntaprec then
    rialzo=1
    puntaprec=ind
    
    ENDIF
    RETURN RIALZO

    fatto, ma così facendo mi da solo un risultato a 1 (all’inizio dello storico)…poi resta sempre tutto a zero

    #131855 quote
    robertogozzi
    Moderator
    Master

    Ti segnala ogni volta che una punta supera la precedente, questo hai scritto.

    Una volta superata se non la risupeta più…. resta così.

    Se vuoi puoi rimettere PUNTAPREC=0 quando ti sembra opportuno e ricomincia.

    #131864 quote
    fabioerliam
    Participant
    Junior

    Si giusto Roberto, ma all’interno di un grafico es. H1 con uno storico di una settimana, mi segna la prima volta che la punta viene superata, ma tutte le altre volte no. Quindi mi basta inserire puntaprec=0 per farlo ripartire una volta che ne vede una in modo che segni anche tutte le altre? Grazie

    #131868 quote
    robertogozzi
    Moderator
    Master

    Si, rimettendo la variabile a 0 riparte di nuovo.

    Non so quando devi rimetterla a zero, le condizioni le sai tu.

    #131869 quote
    fabioerliam
    Participant
    Junior

    Beh, non appena ne identifica una, la segna e poi dovrebbe ripartire da capo…quindi credo vada inserito alla fine. Stasera provo… ti ringrazio per l’aiuto Roberto! Buon pomeriggio

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

punta superiore alla precedente


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
Summary

This topic contains 27 replies,
has 2 voices, and was last updated by fabioerliam
5 years, 10 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 05/15/2020
Status: Active
Attachments: No files
Logo Logo
Loading...