Incremento size dopo tot guadagno in corso

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #104821 quote
    Gianluca
    Participant
    Master

    Ciao come da oggetto vorrei provare ad implementare nei codici la possibilita’ di  comprare un ulteriore/ulteriori N contratti dopo un tot punti di gain in corso. mettendo eventualmente se possibile lo stop in pari sui contratti precedenti.

    Sarebbe possibile?

    io per ora sono riuscito a fare questo ma non è che mi soddisfi molto

     

    provamartingala=v2
    maxorderslong = 2 //max orders per day
    if intradaybarindex=0 then
    countlong = 0
    endif
    if provamartingala=1 then
    if longonmarket and posProfit>25*pipsize and countlong<maxorderslong then
    entro=high+5*pipsize
    buy numberContracts contract at entro stop
    set target pprofit 30
    set stop ploss 40
    endif
    endif
    //counting orders
    if longonmarket and lastindex<>tradeindex then
    countlong=countlong+1
    lastindex=tradeindex
    endif
    ////////////////////////////////////////////////////////////////
    
    #104822 quote
    robertogozzi
    Moderator
    Master

    I contatti puoi accumularli, ma il TP e lo SL sono uguali per tutti, almeno finché non ci sarà la possibilità di fare chiusure parziali.

    #104921 quote
    Gianluca
    Participant
    Master

    ok ed eventualmente si potrebbe mettere uno stop loss al prezzo medio di carico? in modo che diventerebbe zero? ad esempio

     

    compro 1 contratto a 11.000 di dax, il trade va a +50 punti e compro un altro contratto, a quel punto dico al codice di aggiornare lo stop a 11025 in modo che il nuovo stop cumulato sarebbe zero.

    Si potrebbe fare?

    #104927 quote
    robertogozzi
    Moderator
    Master

    Il sistema fa una media per cui è impossibile usare SET STOP LOSS.

    Con un pò di difficoltà dovresti fare te i conti delle differenze tra i prezzi ed usare ordini pendenti STOP per chiudere (tutte) le posizioni.

    #104940 quote
    Gianluca
    Participant
    Master

    si ma non esiste una funzione che dica il prezzo di apertura medio?

    #104942 quote
    robertogozzi
    Moderator
    Master

    In effetti c’è POSITIONPRICE (https://www.prorealcode.com/documentation/positionprice/), quello ti da il prezzo medio, per cui puoi usare quello per usare SET STOP PLOSS, per uno SL di 20 pips (dal prezzo medio) scrivi:

    SET STOP PLOSS 20

    se tu esegui sempre questo comando quando aggiungi contratti, ti aggiorna lo SL.

    Però non so se calcola lo SL in pareggio o in profitto, non credo. Non l’ho mai usato.

    Fai delle prove e con GRAPH magari tieni monitorate alcune variabili che possono servirti per i calcoli e vedi, candela per candela, come cambiano di valore.

    #104950 quote
    Gianluca
    Participant
    Master

    Ok cosi’ potrebbe andare per le uscite

    posProfit = (((close - positionprice) * pointvalue) * countofposition) / pipsize
    prezzousciaccumulo=PositionPrice-20
    IF ONMARKET AND posProfit>0 THEN
    EXITSHORT AT prezzousciaccumulo STOP
    SELL AT prezzousciaccumulo STOP
    ENDIF
    

    invece il codice che ho postato per comprare compra + posizioni del dovuto come posso fare?

    #104960 quote
    robertogozzi
    Moderator
    Master

    Per comprare più posizioni basta che tu esegue nuovamente BUY senza chiudere il precedente acquisto. Ovviamente sulla base di tue condizioni.

    #104962 quote
    Gianluca
    Participant
    Master

    Questa dovrebbe essere la versione buona:

     

    /////////////////////////////////////////
    provamartingala=1
    //////////////
    if provamartingala=1 then
    ONCE positionSize             = 1
    ONCE MaxPositionAccumulo      = 4    // maximum size per trade
    PipsAccumulo=25
    PipNewSl= 20
    AccContract = MIN(MaxPositionAccumulo, positionSize)
    posProfit = (((close - positionprice) * pointvalue) * countofposition) / pipsize
    ////////////
    IF (COUNTOFPOSITION + AccContract) <= MaxPositionAccumulo THEN
    if longonmarket and posProfit>PipsAccumulo*pipsize  then
    buy AccContract contract at market
    endif
    endif
    prezzousciaccumulo=PositionPrice[1]-PipNewSl
    IF ONMARKET AND posProfit>0 THEN
    EXITSHORT AT prezzousciaccumulo STOP
    SELL AT prezzousciaccumulo STOP
    ENDIF
    endif
    #104963 quote
    Gianluca
    Participant
    Master

    Per comprare più posizioni basta che tu esegue nuovamente BUY senza chiudere il precedente acquisto. Ovviamente sulla base di tue condizioni.

    eh no se no compra infiniti contratti e non si ferma mai!

    #104965 quote
    robertogozzi
    Moderator
    Master

    Come no?!

    Sulla base di cosa le accumula, allora?

    #105162 quote
    Gianluca
    Participant
    Master

    deve accumulare ogni tot di guadagno

    #105177 quote
    robertogozzi
    Moderator
    Master

    Il problema è che alla riga 9 il risultato sarà sempre uno, perché POSITIONSIZE non cambia mai, quindi non  ariverà mai al massimo.

    #105221 quote
    robertogozzi
    Moderator
    Master

    Dopo la riga 14 devi incrementare di 1 AccContract, che però dovrai azzerare prima della riga 22.

    La riga 9 puoi toglierla.

    #105234 quote
    Gianluca
    Participant
    Master

    1 AccContract

    Scusami sicuramente non mi sono spiegato bene io. Posto un qualsiasi setup, voglio partire da 1 contratto iniziale ed accumulare fino ad un massimo di 5 (sempre pero’ 1 alla volta) ogni 20pips di guadagno accumulato, comprando il nuovo contratto il nuovo SL dovrebbe essere la media dei prezzi di carico.

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

Incremento size dopo tot guadagno in corso


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Gianluca @altares Participant
Summary

This topic contains 15 replies,
has 2 voices, and was last updated by robertogozzi
6 years, 7 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 08/15/2019
Status: Active
Attachments: No files
Logo Logo
Loading...