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

Viewing 15 posts - 76 through 90 (of 98 total)
  • Author
    Posts
  • #147540 quote
    Ciurno981
    Participant
    Average

    Ah ok, bel problema, ma fa la media dei lotti di entrata quindi se ho due posizioni una aperta alle 11 e una alle 16 sulla prima l’entrata è di 1 lotto e la seconda sarebbe di 2 lotti, modifica la posizione a 1.5 lotti e lascia lo stop loss e il take profit della prima posizione? quindi cambia il guadagno e la perdita ma non lo SL e TP?

    E non ho capito se ad esempio va in stop e lo stop fosse 40 euro, prendo due stop quindi 80 euro o un solo stop quindi 40 euro?

    #147544 quote
    robertogozzi
    Moderator
    Master

    E’ per ogni nuova posizione aggiunta (non per ogni lotto). Che tu aggiunga 1 lotto o 2.5 lotti, sempre $50 sono. Però se esegui BUY (o SELLSHORT) più volte senza chiudera la precedente, ogni volta sono $50 di stop loss aggiuntivi.

    #147546 quote
    Ciurno981
    Participant
    Average

    Ah quindi dimmi se ho capito, se già è aperta una posizione e ne volessi aprire un altra mi chiude quella precedente a stop loss quindi perdo 50 euro? oppure intendi che continua e ovviamente se la prima va in stop anche la seconda va in stop e quindi sarebbe una perdita di 100 euro?!

    Un altra mia domanda la seconda posizione aperta prende lo stop loss e il take profit della prima o ne ha uno suo?

    #147549 quote
    robertogozzi
    Moderator
    Master

    Nessuna posizione viene chiusa, continua fino al target o allo stop, indipendentemente dalle altre.

    Anche la seconda ne ha uno suo.

    Solo se fai il trailing stop devi farlo cumulativo, in quanto non esiste più il prezzo di entrata, ma il prezzo medio (POSITIONPRICE) su cui viene calcolata la performance (POSITIONPERF).

    #147550 quote
    Ciurno981
    Participant
    Average

    Ah sisi allora va bene è come vorrei che fosse che comunque perde 50 e guadagno 150 per ogni posizione, si tanto atr l ho impostato alto perchè non si deve muovere

    #147574 quote
    Ciurno981
    Participant
    Average

    Quindi cosa dovrei aggiungere per avere questa funzione delle posizioni cumulative?

    #147576 quote
    robertogozzi
    Moderator
    Master

    Basta che all’inizio usi:

    DEFPARAM CumulateOrders = TRUE

    e poi esegui normalmente BUY o SELLSHORT senza più verificare se sei già a mercato.

    Se esegui BUY quanto sei short o SELLSHORT quando sei long ti fa automaticamente uno Stop & Reverse.

    #147580 quote
    Ciurno981
    Participant
    Average
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = true// 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
    //
    //////////////////////////////////////////////////////////////////////////////////
    ONCE risk     = 50                               //max. capitale da rischiare
    ONCE PipNum   = risk / pipvalue                    //Numero di Pips in base al rischio
    ONCE lotti    = 1                                  //1 lotto per difetto
    //ONCE MinLotti = 0.5                                //Numero minimo di lotti
    MyATR         = (AverageTrueRange[7](close) / pipsize) * 1.75
    Pips          = max(0,min(PipNum,MyATR))
    Lotti         = PipNum / 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 AND Not OnMarket THEN
    BUY Lotti SHARES AT MARKET
    SET STOP   pLOSS   Pips
    SET TARGET pPROFIT (Pips * 3)
    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 AND Not OnMarket THEN
    SELLSHORT Lotti SHARES AT MARKET
    SET STOP   pLOSS   Pips
    SET TARGET pPROFIT Pips * 3
    ENDIF
    TIMEFRAME (5minute,upDateOnClose)
    //************************************************************************
    //trailing stop function
    trailingstart = 200  //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 MyATR
    graph Lotti
    graph Pips
    graph NewSL

    L ho inserito ma non cambia niente non me lo fa, in queste due foto che ho postato si vede che su una entra a mercato ma sula seconda quando si presentano le stesse condizioni di prima non entra. Perchè?

    39-1.png 39-1.png 40-1.png 40-1.png
    #147590 quote
    robertogozzi
    Moderator
    Master

    Come ti ho scritto, NON devi più verificare di essere a mercato!

    Togli la verifica di OnMarket dalle righe 32 e 47, altrimenti non ti fa nessun accumulo.

    #147612 quote
    Ciurno981
    Participant
    Average
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = true// 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
    //
    //////////////////////////////////////////////////////////////////////////////////
    ONCE risk     = 50                               //max. capitale da rischiare
    ONCE PipNum   = risk / pipvalue                    //Numero di Pips in base al rischio
    ONCE lotti    = 1                                  //1 lotto per difetto
    //ONCE MinLotti = 0.5                                //Numero minimo di lotti
    MyATR         = (AverageTrueRange[7](close) / pipsize) * 1.75
    Pips          = max(0,min(PipNum,MyATR))
    Lotti         = PipNum / 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
    BUY Lotti SHARES AT MARKET
    SET STOP   pLOSS   Pips
    SET TARGET pPROFIT (Pips * 3)
    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
    SELLSHORT Lotti SHARES AT MARKET
    SET STOP   pLOSS   Pips
    SET TARGET pPROFIT Pips * 3
    ENDIF
    TIMEFRAME (5minute,upDateOnClose)
    //************************************************************************
    //trailing stop function
    trailingstart = 200  //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 MyATR
    graph Lotti
    graph Pips
    graph NewSL

    Si l ho tolto ma cosi mi da posizioni perse anche di 200 euro come mai? non cumulava quelle da 50 euro?

    #147621 quote
    robertogozzi
    Moderator
    Master

    I gap…. ci sono i gap. Normalmente si verificano alla riapertura settimanale, se guardi il grafico vedrai che ci sono degli spazi, più o meno grandi, a volte.

    Inoltre i 50 € sono aggiuntivi ogni volta che aggiungi un ordine.

    #147622 quote
    Ciurno981
    Participant
    Average

    Si ma come è possibile che se non metto la funzione cumulativa, con i gap mi da al massimo 49-49.50 euro di stop e 149.-149.50 euro di profit , mentre se le cumulo supera anche i 200 di stop? La differenza mi sembra esagerata

    #147624 quote
    robertogozzi
    Moderator
    Master

    Se fosse uguale che differenza ci sarebbe tra accumulare posizioni e non accumularle?

    Sia sul forum che sul canale YouTube di ProRealTime ci sono vari video che spiegano alcune cose, anche sulla programmazione.

    Se fai una ricerca qui sul forum troverai anche molti esempi e riferimenti.

    Per arrivare a comprendere e padroneggiare l’argomento occorre un grosso impegno di tempo, purtroppo.

    #147625 quote
    Ciurno981
    Participant
    Average

    Si adesso ho capito, pensavo che l accumulo delle posizioni sia perse che vinte si vedeva in modo separate, nel senso che se perdevo 3 posizioni che si erano cumulate io vedo 3 stop da 50 invece si vede un valore unico di 150. Ma invece per quanto riguarda lo spread ho visto che su gbp/Usd il minimo è 0.9 ma ho visto che a volte è  1.5 ma arriva anche a 2.5,c’è un modo per modularlo in base a quanto sta, cioè perché la mia essendo una strategia sui 5 minuti se una volta è 2.5 e altre 0.9 mi sballa tutti i risultati,quindi non posso posizionare uno stop o un profit uguali per tutte e due, non posso ad esempio aggiungere quel valore allo stop loss e invece toglierlo dal profit così facendo sposto i valori del profit e dello stop però mi percorre la stessa distanza da me voluta, ti faccio un esempio se lo spread è 1 pip e io entro Long e compro a 10  il mio stop sta a 7 e il mio profit sta a 19, ovviamente con lo spread quando entro in posizione entro a 9 non a 10 quindi il mio stop a quel punto diventa 2 pips e il profit a 10 pips (non rispettando il mio rischio 1:3) non ce un modo per aggiungere questo valore di spread allo stop loss e toglierlo dal profit per avere la stessa distanza, intendo che se prima entrava a 9 per lo spread il mio stop stava a 7 ma aggiungendo il valore dello spread in quel momento allo stop si sposta a 6 pips e non più 7 e la stessa cosa con il profit che si sposta a 18 non più a 19 avendo sempre il mio rischio rendimento 1:3 è possibile farlo?

    #147626 quote
    robertogozzi
    Moderator
    Master

    No, purtroppo non è possibile sapere lo spread.

    Devi vederlo manualmente, magari poi cerchi di fare una media. Meglio se lo metti un pò più alto.

    Io sul DAX metto fisso 2 pip, anche se dalle 8 alle 17:30 è 1 pip (opero dalle 8 alle 19-20, quindi 2 pip li pago per poco tempo, ma con 2 fisso sono certo che non avrò sorprese).

Viewing 15 posts - 76 through 90 (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...