Errore al cambio dei valori (da sempre lo stesso risultato)

Viewing 15 posts - 16 through 30 (of 98 total)
  • Author
    Posts
  • #143987 quote
    Ciurno981
    Participant
    Average

    Esatto infatti io vorrei che il numero dei lotti sia diverso per ogni posizione facendo in modo che il valore dell stop loss sia di 50 euro e il profit 150 indipendentemente dai pips che ci sono quindi per farlo devo per forza cambiare il lotti di entrata. Se voglio farlo come sarebbero le istruzioni? e per gbp/usd qual’è il numero di lotti minimo?

    #143989 quote
    robertogozzi
    Moderator
    Master

    Basta che non metti l’istruzione MAX per il lotto minimo e sei a posto.

    Per i lotti minimi devi verificare sul sito IG o telefonargli, non saprei.

    Comunque su GbpUsd, come per EurUsd, con i mini contratti ogni pip vale 1 €, quindi con 50 € puoi mettere 50 pips di stop con 1 lotto. Se accettano anche mezzo lotto puoi arrivare a 50 pips di stop.

    #144016 quote
    Ciurno981
    Participant
    Average
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = false // Posizioni cumulate attivate
    // Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario "Flat Before" non saranno piazzati nuovi ordini o posizioni.
    DEFPARAM FLATBEFORE = 230100
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario "Flat After"
    DEFPARAM FLATAFTER = 230000
    //
    TIMEFRAME(default)
    // Impedisce al sistema di tradare in giorni specifici della settimana
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
     
    IF Not OnMarket THEN
    SL = 0
    TP = 0
    ENDIF
     
    // Condizioni per entrare su posizioni long
    indicator1 = Average[3](Stochastic[5,3](close))
    c1 = (indicator1 CROSSES OVER 20)
    //
    TIMEFRAME(1 hour,default)
    indicator2 = ExponentialAverage[9](close)
    indicator3 = ExponentialAverage[21](close)
    c2 = (indicator2[1] > indicator3[1])
    //
    TIMEFRAME(default)
    IF (c1 AND c2) AND not daysForbiddenEntry THEN
    IF SL = 0 OR ShortOnMarket THEN
    SL = AverageTrueRange[7](close)*10
    TP = SL * 3
    ENDIF
    BUY 1 SHARES AT MARKET
    SET TARGET PROFIT TP
    SET STOP   LOSS   SL
    ENDIF
     
    // Condizioni per entrare su posizioni short
    indicator4 = Average[3](Stochastic[5,3](close))
    c3 = (indicator4 CROSSES UNDER 80)
    //
    TIMEFRAME(1 hour,default)
    indicator5 = ExponentialAverage[9](close)
    indicator6 = ExponentialAverage[21](close)
    c4 = (indicator5[1] < indicator6[1])
    //
    TIMEFRAME(default)
    IF (c3 AND c4) AND not daysForbiddenEntry THEN
    IF SL = 0 OR LongOnMarket THEN
    SL = AverageTrueRange[7](close)*10
    TP = SL * 3
    ENDIF
    SELLSHORT 1 SHARES AT MARKET
    SET TARGET PROFIT TP
    SET STOP   LOSS   SL
    ENDIF
    TIMEFRAME (5minute,upDateOnClose)
    //************************************************************************
    //trailing stop function
    trailingstart = 20 //trailing will start @trailinstart points profit
    trailingstep = 5 //trailing step to move the "stoploss"
     
    //reset the stoploss value
    IF NOT ONMARKET THEN
    newSL=0
    ENDIF
     
    //manage long positions
    IF LONGONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
    newSL = tradeprice(1)+trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
    newSL = newSL+trailingstep*pipsize
    ENDIF
    ENDIF
     
    //manage short positions
    IF SHORTONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
    newSL = tradeprice(1)-trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
    newSL = newSL-trailingstep*pipsize
    ENDIF
    ENDIF
     
    //stop order to exit the positions
    IF newSL>0 THEN
    SELL AT newSL STOP
    EXITSHORT AT newSL STOP
    ENDIF
    
    buy at -close limit
    risk  = 50                     //max. capitale da rischiare
    lotti = 1                       //1 lotto per difetto
    SL1   = AverageTrueRange[7](close)*10 // 10 volte atr
    SL2   = risk/SL1              //valore di 1 pip
    SL3   = round(SL2)
    Soldi = SL3 * pointvalue        //convertire i pips in valore totale
    Lotti =  Soldi/pipsize            //calcolare la taglie dei lotti (il calcolo è cosi se per pipsize si intende il valore di default di un pip)
    graph SL1
    graph SL2
    graph SL3
    graph Soldi
    graph Lotti
    Graph TP/pipsize coloured(0,0,255,255)
    Graph SL/pipsize coloured(255,0,0,255)
    

    Ho provato a toglierlo ma mi da sempre lo stesso problema, ho postato lo screen di un operazione in cui si è chiusa in profitto di 300 euro nonostante il profit dovrebbe essere 150, non capisco poi come sia andato in profitto se lo stop loss era di 12,3 pips l ha beccato in pieno, vorrei capire perchè sbaglia i lotti e in questo caso perchè non è andata in stop la posizione. Poi se lo stop loss era di 12,3 avrebbe dovuto aprire una posizione di circa 0.5 lotti ma cosi non è stato

    #144024 quote
    robertogozzi
    Moderator
    Master

    Scusami, l’ultima parte del mio post doveva essere puoi arrivare a 50 pips di stop.

    Ci darò un’occhiata tra lunedì e martedì.

    #144025 quote
    Ciurno981
    Participant
    Average

    Ok va bene buon fine settimana ci risentiamo tra lunedi e martedi.

    #144223 quote
    robertogozzi
    Moderator
    Master

    Manca l’allegato, puoi postarlo?

    #144225 quote
    Ciurno981
    Participant
    Average

    Forse mi sbaglierò io ma con l’ombra avrebbe dovuto prendere lo stop. Poi ti volevo dire ho controllato le posizioni i calcoli sembrerebbero giusti ma perchè solo a volte chiude il take profit a 150 altre a 300 o 1000 nonostante il calcolo sia giusto, se fai il back test ci sono due posizioni una dopo l altra che chiude una a 300 e quella dopo 150 pur avendo lo stesso rischio perchè succede?

    #144236 quote
    robertogozzi
    Moderator
    Master

    Su quale strumento e TF l’hai provato?

    In quale data e ora ti risultanto uscite errate?

    Mi servono tutte le informazioni possibili per ricreare essattamente il problema.

    #144237 quote
    Ciurno981
    Participant
    Average

    Scusa non mi aveva caricato l’allegato comunque su gbp/usd timeframe a 5minuti e data e ora li vedi sulla foto

    POsd.png POsd.png
    #144239 quote
    Ciurno981
    Participant
    Average

    Se inserisci il programma e fai backtest noterai come moltissime si chiudono in modo errato e solo poche a 150 che è come dovrebbe essere

    #144421 quote
    robertogozzi
    Moderator
    Master

    Scusa, hai messo un TP di 370.37352 pips (pari ad un profitto di circa 3703.7 se raggiunto il limite). Invece il trailing stop fa fermare il ritracciamento a 30 pips ed esce con un profitto di € 300.

    Se vedi il 13 Marzo 2020 alle 15:30 (per me sono le 16:30), vedi che c’è una bella discesa  ed il trailing stop ti lascia guadagnare di più.

    Non capisco bene quale sia il problema che vuoi evidenziare.

    #144427 quote
    Ciurno981
    Participant
    Average

    Il problema che sto cercando di evidenziare è che io vorrei che quando la posizione prende lo stop perdo 50 euro quando invece prende il profit guadagno 150 euro, per me l’atr non deve muoversi, a me serve solo il valore che mi da quando apro la posizione,non mi interessa che mi segua la posizione, poi adesso sto postando una foto in cui mi ha perso 1500 euro circa e non capisco perchè? io vorrei che mi sia calcolato i lotti di entrata in base ai pips che mi da l’atr per posizionare lo stop a 50 e il profit a 150 e che quindi mi di sempre lo stesso risultato cioè alla fine del test se ha chiuso 100 posizioni  20 in vincita cioè 3000 euro e 80 in perdita cioè 4000 euro.

    Immagine.png Immagine.png
    #144837 quote
    Ciurno981
    Participant
    Average

    Scusa Roberto non so se hai visto il post precedente che ho scritto,ti volevo chiedere se fossi riuscito a risolvere il mio problema?!

    #144879 quote
    robertogozzi
    Moderator
    Master

    Se mi chiedi ancora perché hai perso 1500 € è perché non hai letto il mio post. Tu hai messo, inizialmente, all’apertura della posizione, uno SL altissimo ed è chiaro che se il mercato ti va subito contro senza arrivare alla soglia del trailing stop perdi tutta quella cifra!

    Tu puoi fare tutti i calcoli che vuoi, ma se poi non cambi lo SL iniziale non hai fatto niente e per cambiare lo SL e il TP servono i comandi SET STOP… e SET TARGET…

    Per riepilogare, tu vuoi dargli lo SL iniziale in modo esagerato, però dalla seconda candela vuoi portarlo a 50 € fissi, mi pare impossibile, o quasi, per questi motivi:

    1. GBPUSD vale € 10/pip, quindi 50 euro di perdita sono pari a 5 pip, in pratica perdi quasi sempre perché è difficile che il prezzo (se sei Long, ad esempio), salga su senza fare neppure un così piccolo ritracciamento
    2. rischi, con uno SL così piccolo, che l’ordine venga rifiutato perché troppo prossimo al prezzo corrente (il Dax generalmente chiede almeno 6 pip di distanza, di notte anche 300)

    Comunque qualcosa proverò, appena ho un pò di tempo. Abbi ancora un pò di pazienza.

    #144980 quote
    Ciurno981
    Participant
    Average

    Quello che non capisco io è con quanti lotti apre una posizione? le due foto che le ho caricato su i due poste precedenti se confrontiamo i due stop loss delle due operazioni avremo che una è doppio dell altra su una abbiamo che lo stop è 12 pips, sul secondo lo stop è di 24 pips, io allora mi aspetto dato che il rischio rendimento sia 1:3 che la seconda operazione sia che chiuda in perdita sia che chiuda in guadagno, sia doppia dell’altra operazione ma non è cosi, ok che magari su quella vinta a 300 euro l’atr ha seguito la posizione, ma a maggior ragione non ridicono i conti, se non fosse stato per l ‘atr sarebbe stato 150 mentre sull’altra ho perso 1700, è questo che non capisco con quanti lotti apre una posizione e perch  in modo diverso? cioè su queste due operazioni mi aspettavo che se facendo per esempio la prima l’apriva con 1 lotto perchè può percorrere 12 pips di stop la seconda me l avrebbe dovuta aprire alla metà cioè 0.5 lotti per avere sempre la stessa perdita e guadagno che è quello che voglio io

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

Errore al cambio dei valori (da sempre lo stesso risultato)


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
Ciurno981 @ciurno981 Participant
Summary

This topic contains 97 replies,
has 2 voices, and was last updated by robertogozzi
5 years, 4 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 09/08/2020
Status: Active
Attachments: 20 files
Logo Logo
Loading...