Assistenza candela giapponese

Viewing 15 posts - 1 through 15 (of 38 total)
  • Author
    Posts
  • #68015 quote
    unkown0403
    Member
    New

    Roby buongiorno! In questi gg sono un pò martelloso con richieste di aiuto:)…avrei bisogno di capire bene come indicare la candela giapponese. Vorrei creare da solo un indicatore di pin bar. Ho iniziato con le basi che conosco ma ho bisogno della tua assistenza.

    Iniziamo dal corpo candela; ho visto codici in cui viene indicato come: body=abs(close-open). Ma cosa indica “abs” …cosa si intende per valore assoluto? Và aggiunto per forza?

    Poi…il range

    Range=high-low…quindi si dovrebbe indicare: range=abs (high-low)?

    Poi, corpo candela dev’essere almeno 1/3 del suo range in altre parole…range 3 volte corpo. Mi verrebbe da scriverlo così: body=3*range…ma ci vorranno parentesi o probabilmente sto in ogni caso sbagliando.

    Detto ciò determiniamo la pin rialzista; il corpo deve essere compreso nella parte superiore del range. Quanto superiore? Farei compreso oltre il 70% …qui come si induca proprio buio per me…

    L’ombra inferiore non credo si debba indicare in qualche modo dal momento che se il corpo è già 3 volte il range e posto in alto, di conseguenza già l’ombra è creata…correggimi se sbaglio…

    E poi nulla..non credo serva altro per indicare la pin…

    Ultima cosa veloce…vorrei indicare in questo caso che la candela precedente la pin creata sia rossa(ribassista)…per fare qualche test in più…

    Grazie per la tua sacro santa collaborazione!!!

    #68153 quote
    maximus78
    Participant
    Senior

    Ciao, per valore assoluto s’intende l’eliminazione del segno negativo ad un risultato.

    Se close è inferiore a open, close-open darà un risultato negativo, es:

    close=5, open=7 close-open =5-7=-2.

    In questo caso se vuoi il valore assoluto fai :

    abs(close-open) =2

     

    Per il range (high-low) non c’è bisogno di utilizzare abs perchè sarà sempre un risultato positivo, infatti high è sempre maggiore di low.

    per la PIN rialzista (Hammer):

    C1 = close[1]<open[1] // candela precedente ribassista

    C2=open[0]>low[0]+(range*0.70) // apertura corrente nei 2/3 superiori del range

    C3= close[0]>low[0]+(range*0.70)// chiusura corrente nei 2/3 superiori del range

    C4= range[0]>abs(open-close)*3 // range > body di almeno 3 volte

     

    per la PIN ribassista (shooting star):

    C1 = close[1]>open[1] // candela precedente rialzista

    C2=open[0]<high[0]-(range*0.70) // apertura corrente nei  2/3 inferiore del range

    C3= close[0]<high[0]-(range*0.70) // chiusura corrente nei  2/3 inferiore del range

    C4= range[0]>abs(open-close)*4  // range > body di almeno 3 volte

     

    Puoi vedere altri codici di candele qui:

    Candlestick patterns recognition

     

    Max

    robertogozzi thanked this post
    #68169 quote
    unkown0403
    Member
    New

    Max….grazie!! Mi sei stato davvero di grande aiuto! Ottima spiegazione!!

    #68170 quote
    robertogozzi
    Moderator
    Master

    Ottimo lavoro maximus78.

    Per fare riferimento alla candela precedente usa [1] tra parentesi.

    Se l’attuale è una Pin BAR, per verificare che la precedente sia ribassista scrivi

    IF open[1] > close[1] THEN  //ribassista
    IF close[1] > open[1] THEN  //rialzista
    #68196 quote
    unkown0403
    Member
    New

    ..grazie Roby

    #68208 quote
    unkown0403
    Member
    New

    …ragazzi mi sono bloccato!

    non riesco a codificare nel modo che vorrei lo stop e il take profit.

    Parlando sempre di pin rialzista (hammer) vorrei che il take profit fosse o equivalente al range della pin stessa quindi uguale alla sua estensione oppure che fosse il doppio del range della pin stessa.

    Lo avevo provato a scrivere così:

    MYRANGE=HIGH-LOW
    SET TARGET PPROFIT MYRANGE+1…………….. (il+1 è per recuperare lo spread)

    …è sbagliato…..

     

    L’altro quesito riguarda lo stop: vorrei che la posizione si chiudesse in automatico non appena il prezzo scende al di sotto del minimo che ha fatto segnare la pin (che ha dato il segnale)…sempre +1 per lo spread.

    Grazie ragazzi!

    #68212 quote
    robertogozzi
    Moderator
    Master

    Devi convertirlo in pips

    SET TARGET PPROFIT (range * pipsize) + 1

    MYRANGE è superfluo. Ed è RANGE, espresso in differenza di prezzo, che va convertiro in Pips perché PPROFIT richiedi questi.

    Per lo STOP LOSS puoi scrivere

    SET STOP PLOSS (abs(close - low)) * pipsize + 1

    Oppure mettere un ordine pendente (che però scade ad ogni candela e va continuamente reimmesso), esempio per uscire in STOP LOSS da un Long

    SELL AT Low - (1 * pipsize) STOP
    #68213 quote
    maximus78
    Participant
    Senior

    Ecco il codice completo long e short:

    defparam cumulateorders=false
    
    //per la PIN rialzista (hammer):
    C1 = close[1]<open[1] // candela precedente ribassista
    C2=open[0]>low[0]+(range*0.70) // apertura corrente nei 2/3 superiori del range
    C3= close[0]>low[0]+(range*0.70)// chiusura corrente nei 2/3 superiori del range
    C4= range[0]>abs(open-close)*3 // range > body di almeno 3 volte
    
    condlong=c1 and c2 and c3 and c4
    entrylong=high[0]+(1*pointsize)
    stoplosslong=range[0]+(2*pointsize)
    tplong=stoplosslong*2
    
    // long trade
    if not onmarket and condlong then
    buy 1 shares at entrylong stop
    set stop loss stoplosslong
    set target profit tplong
    endif
    
    //per la PIN ribassista (shooting star):
    C5 = close[1]>open[1] // candela precedente rialzista
    C6=open[0]<high[0]-(range*0.70) // apertura corrente nei  2/3 inferiore del range
    C7= close[0]<high[0]-(range*0.70) // chiusura corrente nei  2/3 inferiore del range
    C8= range[0]>abs(open-close)*3  // range > body di almeno 3 volte
    
    condshort=c5 and c6 and c7 and c8
    entryshort=low[0]-(1*pointsize)
    stoplossshort=range[0]+(2*pointsize)
    tpshort=stoplossshort*2
    
    if not onmarket and condshort then
    sellshort 1 shares at entryshort stop
    set stop loss stoplossshort
    set target profit tpshort
    endif
    
    graph entrylong as "entrylong"
    graph entrylong-stoplosslong as "stoploss long"
    graph entrylong+tplong as " take profit long"
    
    graph entryshort as "entryshort"
    graph entryshort+stoplossshort as "stoploss short"
    graph entryshort-tpshort as " take profit short"

    Io utilizzo sempre il comando graph finale per le variabili di acquisto e vendita.

    In questo modo verifico se i trades entrano ed escono ai giusti livelli di prezzo.

    In questo caso, i livelli di prezzo sono quelli sulla candela precedente all’entrata in posizione.

    Max

    #68216 quote
    unkown0403
    Member
    New

    Grazie ragazzi! Super Max!

    Ora devo solo pensare bene a filtrare queste pin…pensavo riguardo all’hammer di stabilire che prima di esso si verifichi un trade short magari indicando che la apertura o chiusura della pin debba essere inferiore rispetto ai 5 o 10 minimi precedenti…senza includere le shadow precedenti e magari anche aggiungere un atr perchè non vorrei mi prendesse quelle pin troppo piccole che spesso sono delle fake…che ne dite? avete qualche altro consiglio?

    #68218 quote
    maximus78
    Participant
    Senior

    Esatto Fabio, devi lavorare sui filtri….per esempio…

    range[0]>averagetruerange[20](close)*1.5 oppure *2

    oppure se vuoi che la Pin rialzista sia in trend in un long trade:

    close>average[N, type](close)

    o controtrend reversal sempre in un long trade..

    close<average[N, type](close)

    Puoi utilizzare anche 2 medie mobili per determinare la situazione del mercato,oppure

    oscillatori di ipercomprato e ipervenduto come RSI, stocastico o williams %R…

    ecc…..

    Max

    #68229 quote
    unkown0403
    Member
    New

    Grazie per le dritte Max!!! Questo weekend provo a sperimentare qualcosina:) a livello di timeframe mi consigli già di abbandonare l’idea di provare a tradarle in quelli più brevi sotto l’ora oppure ne può valere la pena?

    Buona giornata

    #68308 quote
    maximus78
    Participant
    Senior

    No, prova anche quelli, ovviamente settando un adeguato spread.

    Uno spread di 2 pips per esempio su EUR/USD su timeframe di 1 ora ha ovviamente un impatto molto diverso rispetto al timeframe a 1 minuto.

    Le pin candles si formano frequentemente su tutti i timeframes.

    Max

    #68349 quote
    unkown0403
    Member
    New

    Grazie Max! Posso chiederti se esiste una formula di codice (senza aprire un nuovo tred) che, mi faccia aprire una posizione dopo che se ne verifichi prima un’altra…mi spiego meglio;

    Mettiamo che abbia un indicatore di divergenza rsi. L’indicatore è settato per dare segnali +1 div rialz oppure -1 per divergenza ribassista. Non vorrei aprire posizioni ogni volta che il sistema mi identifica un segnale +1 o -1, ma aspettare che dopo il segnale un’altra condizione si verifichi magari dopo un tot di candele. Esempio: segnale divergenza rialz aspetto che si verifichi un incrocio di medie al rialzo…che magari succede dopo 3 o 4 candele…se le medie dovessero però incrociarsi dopo 10 candele allora non vorrei aprire la posizione.

    Non so se si possa codificare qualcosa del genere…

    Buona giornata!!

    #68370 quote
    maximus78
    Participant
    Senior

    Certo che è possibile.

    Devi impostare una variabile che “blocca” il verificarsi di una condizione.

    Ti faccio un esempio con 2 condizioni distinte.

    C1 il prezzo fa un nuovo minimo a 10 periodi.

    C2 avviene un incrocio di 2 medie mobili entro 10 candele dal verificarsi di C1.

    Mylongindex è la variabile che setto quando si verifica C1 e viene richiamata nelle condizioni di acquisto settando il periodo limite di 10 candele.

    Vedrai nel grafico “graph” che le entrate in posizione sono sempre inferiori a 10 candele tra C1 e C2.

    Max

    defparam cumulateorders=false
    c1=low[0]<lowest[10](low)[1]
    c2=average[5](close) crosses over average[10](close)
    
    if c1 then
    mylongindex=barindex
    endif
    
    if (barindex-mylongindex)<10 and not onmarket then
    if c2 then
    buy 1 shares at market
    set stop ploss 50
    set target pprofit 100
    endif
    endif
    
    graph (barindex-mylongindex)
    #68379 quote
    unkown0403
    Member
    New

    Max geniale! Grazie a te ora ho un bel pò di info in più con cui poter sperimentare nuove cose e lavorarci su;) !! Thanks

    Buona domenica!!!

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

Assistenza candela giapponese


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
Summary

This topic contains 37 replies,
has 3 voices, and was last updated by maximus78
7 years, 11 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 04/11/2018
Status: Active
Attachments: No files
Logo Logo
Loading...