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

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

    Nel codice acquista e vende SEMPRE 1, perché quella è la cifra che hai messo con BUY/SELLSHORT.

    Tu puoi fare tutti i calcoli che vuoi, ma se al momento di entrare in posizione ci scrivi 1, quello è! Dovresti usare al posto di 1 la variabile contenente il numero dei lotti calcolati.

    #145074 quote
    Ciurno981
    Participant
    Average

    Quindi se scrivo la formula dei lotti su buy/sell short dovrebbe andare bene?

    #145178 quote
    robertogozzi
    Moderator
    Master

    Questo dovrebbe andare bene:

    // 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
    //
    risk  = 50                                     //max. capitale da rischiare
    lotti = 1                                      //1 lotto per difetto
    MyATR = AverageTrueRange[7](close)*10          // 10 volte atr
    //
    Pips  = Risk / PipValue                        //Ricalcola
    SET STOP pLOSS Pips
    //
    // 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 = MyATR
    TP = SL * 3
    ENDIF
    BUY Lotti 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 = MyATR
    TP = SL * 3
    ENDIF
    SELLSHORT Lotti 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
    //
    //graph Pips
    //Graph TP/pipsize         coloured(0,0,255,255) AS "TP"
    //Graph SL/pipsize         coloured(255,0,0,255) AS "SL"
    //Graph TradePrice - close coloured(0,128,0,255) AS "Gain"
    #145292 quote
    Ciurno981
    Participant
    Average

    Ah ok quindi prende in considerazione sempre 1 lotto qua? e non capisco la riga 21-22 cosa fanno?

    #145293 quote
    robertogozzi
    Moderator
    Master

    Calcolano i Pips, su Mini EURUSD o DAX €1  50 euro saranno 50 pips, su EURUSD normale saranno 5 pips, sul DAX €25 saranno solo 2 pips!

    Si agisce sui pips, ma si può agire anche sui lotti.

    #145354 quote
    Ciurno981
    Participant
    Average

    Ah ok che differenza c’è tra set stop pLOSS “pips” e set stop loss “SL” e quale prende in cosiderazione?

    #145366 quote
    Ciurno981
    Participant
    Average

    E come posso andare ad agire su i lotti?

    #145839 quote
    Ciurno981
    Participant
    Average

    Ti posto due foto per come vorrei che le mie posizioni siano aperte e gestite, in questa foto ci sono due posizioni con due differenti stop loss e due differenti take profit, essendo nata come una strategia discrezionale quindi ero io manualmente a decidere la size, lo stop loss e quindi il take profit ,era tutto facile stabilire sempre la stessa perdita (50 euro) pur avendo il valore in pips differenti (10 e 5 ) come posso scrivere tutto questo sotto forma di istruzioni per far si che il programma faccia quello che facevo io manualmente quindi andare a modulare la quantità e di conseguenza il valore dei pips per far si che abbia sempre stop loss 50 e take profit 150?!

    Immagine-posizione.png Immagine-posizione.png Immagine-posizione-2.png Immagine-posizione-2.png
    #145848 quote
    robertogozzi
    Moderator
    Master

    Con    LOSS devi indicare una differenza di prezzo (es.: 0.0040) che sei disposto a perdere
    Con pLOSS devi indicare i pips (es.: 40) che sei disposto a perdere
    Con $LOSS devi indicare il valore monetario che sei disposto a perdere (nell’unità della valuta del tuo conto, non dei dollari, anche se il simbolo è sempre $ per chiunque)
    Con %LOSS devi indicare quanto sei disposto a perdere in % sul prezzo d’entrata a mercato.

    Dalle foto non si capisce che calcolo vuoi fare.

    Il mio esempio sopra agisce sui pips. Quello che ti avevo fatto prima agiva sui lotti.

    #145901 quote
    Ciurno981
    Participant
    Average

    Quello che volevo mostrarti con le foto che, nonostante i pips di stop siano diversi sulle due posizioni ipotizzando che lo stop sia dato dal valore del MyAtr, il valore dello stop è sempre 50$ perché varia il valore della quantità e di conseguenza il valore di un pips come in foto ed è come vorrei che fosse,indipendentemente da quanto siano i pips di stop ho sempre una perdita di 50$

    #145904 quote
    robertogozzi
    Moderator
    Master

    Quindi andava bene il primo, quello dei lotti.

    Devi solo fare attenzione che il calcolo non scenda sotto il minimo consentito.

    #145907 quote
    Ciurno981
    Participant
    Average

    Eh si il calcolo andava bene ma dopo sul back test non dava i valori di perdita e profitto come dovevano essere, cioè in teoria il calcolo andava bene ma dopo in pratica non era cosi, la perdita deve essere sempre di 50€ e il guadagno di 150€ ma come puoi notare anche tu non corrisponde.

    #145935 quote
    robertogozzi
    Moderator
    Master

    Tu stai facendo confronti con i Futures di PRT ed i Cfd di IG. Sono stumenti diversi ed hanno una diversa gestione dei lotti.

    Inoltre tu stai parlando di trading manuale, dove sei tu a decidere di volta in volta. Con il trading automatico occorre stabilire una formula di calcolo, o la facciamo sui pips, oppure lo facciamo sui lotti.

    #145942 quote
    Ciurno981
    Participant
    Average

    Eh si, so che è diverso da manuale a automatico però non sono casuali c’è la formula per determinare Lo stop e profit e di conseguenza anche la quantità di entrata,perché con ig come funziona?io anche in altre piattaforme avevo visto che era in questo modo come in foto e quindi credevo che anche qui fosse così, non c’è un modo per farlo?!

    #145952 quote
    robertogozzi
    Moderator
    Master

    Come ti ho detto, o si fa il calcolo a lotti, oppure a pips.

    Se metti 5o euro come limite, possono essere 2 pip di stop o 50 pip di stop, dipende dallo strumento su cui operi.

    Come ti ho già detto, (parlo di CFD, tanto il trading automatico per ora si può fare solo con essi) con Dax €1 50 euro di rischio equivalgono a 50 pips, quindi hanno un senso, se la stessa strategia la esegui sul Dax € 25 sono appena 2 pips, quindi non hanno senso e ogni operazione chiuderebbe in stop loss!

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