New Money Managment

Viewing 15 posts - 1 through 15 (of 30 total)
  • Author
    Posts
  • #97030 quote
    volpiemanuele
    Participant
    Veteran

    buongiorno,

    vorrei costruire tre money management:

    1. Il sistema entra in posizione di 0.5 e ad ogni gain incrementa di +0.5 e ad ogni loss -0.5 ma dopo un ciclo di N trade (a prescindere se loss o gain) riporta la size a 0.5;
    2. Il sistema entra in posizione di 0.5 e ad ogni gain incremente di +0.5 e al primo loss ritorna a 0.5 o nel caso di N trade (quindi saranno tutti positivi) riporta la size a 0.5;
    3. Il sistema entra in posizione di 0.5 e ad ogni gain incrementa di +0.5 e al primo loss ritorna a 0.5;

    Grazie

    emanuele

    #97033 quote
    robertogozzi
    Moderator
    Master

    Inizio dal più semplice, l’ultimo punto (n. 3):

    Once LottiBase = 0.5
    Once Lotti     = 0
    If Lotti = 0 Then
       Lotti = LottiBase
    Endif
    If not OnMarket Then
       If STRATEGYPROFIT > Profitto Then
          Lotti = Lotti + LottiBase
       Elsif STRATEGYPROFIT < Profitto Then
          Lotti = LottiBase
       Endif
       Profitto = STRATEGYPROFIT
    Endif

    usa la variabile LOTTI per entrare a mercato.

    Con un po’ di tempo ti preparo anche gli altri.

    #97034 quote
    robertogozzi
    Moderator
    Master

    Questo è il n. 2, usa sempre LOTTI per entrare a mercato ed assegna ad NBARRE il numero che preferisci:

    Once LottiBase   = 0.5
    Once Lotti       = 0
    Once NumeroBarre = 0
    Once Nbarre      = 5
    NumeroBarre =  NumeroBarre + 1
    If Lotti = 0 Then
       Lotti = LottiBase
    Endif
    If not OnMarket Then
       If STRATEGYPROFIT > Profitto Then
          Lotti = Lotti + LottiBase
       Elsif STRATEGYPROFIT < Profitto Then
          Lotti = LottiBase
       Endif
       Profitto = STRATEGYPROFIT
    Endif
    If  NumeroBarre >= Nbarre then
       Lotti = LottiBase
    Endif

    edit:    ERRATO, vedere il successivo post https://www.prorealcode.com/topic/new-money-managment/#post-97066

    #97046 quote
    volpiemanuele
    Participant
    Veteran

    Grazie…attendo il primo e faccio tutte le verifiche inserendoli nelle mie varie strategie e ti dico. Leggendo il codice mi torna tutto.

    #97066 quote
    robertogozzi
    Moderator
    Master
    Once LottiBase   = 0.5
    Once Lotti       = 0
    Once NumeroTrade = 0
    Once Ntrade      = 5
    Once Profitto    = 0
    If OnMarket AND Not OnMarket[1] Then
       NumeroTrade = NumeroTrade + 1
    Endif
    If Lotti = 0 Then
       Lotti = LottiBase
    Endif
    If not OnMarket Then
       If STRATEGYPROFIT > Profitto Then
          Lotti = Lotti + LottiBase
       Elsif STRATEGYPROFIT < Profitto Then
          Lotti = LottiBase
       Endif
       Profitto = STRATEGYPROFIT
    Endif
    If  NumeroTrade >= Ntrade then
       NumeroTrade = 0
       Lotti       = LottiBase
    Endif
    #97072 quote
    robertogozzi
    Moderator
    Master

    Ed ecco anche il codice relativo al punto 1:

    Once LottiBase   = 0.5
    Once Lotti       = 0
    Once NumeroTrade = 0
    Once Ntrade      = 5
    Once Profitto    = 0
    If (OnMarket AND Not OnMarket[1]) OR (Not OnMarket AND Not OnMarket[1] AND STRATEGYPROFIT <> Profitto) Then
       NumeroTrade = NumeroTrade + 1
    Endif
    If Lotti = 0 Then
       Lotti = LottiBase
    Endif
    If Not OnMarket AND STRATEGYPROFIT <> Profitto Then
       If STRATEGYPROFIT > Profitto Then
          Lotti = Lotti + LottiBase
       Elsif STRATEGYPROFIT < Profitto Then
          Lotti = min(LottiBase,Lotti - LottiBase)
       Endif
       Profitto = STRATEGYPROFIT
    Endif
    If NumeroTrade >= Ntrade then
       NumeroTrade = 0
       Lotti       = LottiBase
    Endif

    Provali tutti e fammi sapere.

    #97086 quote
    volpiemanuele
    Participant
    Veteran

    Grazie infinite Roberto. Provo tutto  in questi giorni appena ho tempo e ti faccio sapere. Grazie

    #97104 quote
    volpiemanuele
    Participant
    Veteran

    Ciao, ho provato tutte e tre le versioni ma c’e’ qualcosa che non funziona bene. In pratica in tutti e tre i casi in caso di loss non diminuisce la quantità e quando raggiunge il massimo del ciclo ne fa ancora uno per poi riportare alla size minima il trade. Per semplicità ho inserito tutte e tre tipologie dentro una strategia…se fai back test selezionando il tipo fai andare la strategia e controllando i primi ordini di puoi accorgere del problema. Ho provato a fare delle modifiche ma non sono riuscito a risolvere. Allego la strategia con un semplice back test puoi constatare quanto sopra riportato. Strategia su EURUSD H1.

    CONSECNOCYCLE = 0
    CONSECSICYCLE = 1
    CUMULASICYCLE = 0
    #97106 quote
    volpiemanuele
    Participant
    Veteran

    Aggiungo…in pratica aggiorna lo strategyprofit al successivo trade dopo la perdita per cui fa quanto descritto al trade dopo….non so se mi sono spiegato….se verifichi facendo il back è più semplice che spiegarlo….grazie infinite….

    #97113 quote
    robertogozzi
    Moderator
    Master

    Con CONSECNOCYCLE = 1 (punto 3 del tuo quesito) funziona correttamente, ho visto fin dall’inizio, arriva a 4 lotti poui scende ad 1 dopo la perdita.

    Con CONSECSICYCLE = 1   (punto 2 del tuo quesito) ho modificato il codice come segue:

    Once LottiBase   = 1
    Once Lotti       = 0
    Once NumeroTrade = 0
    Once Ntrade      = 5
    Once Profitto    = 0
    If Lotti = 0 Then
       Lotti = LottiBase
    Endif
    If (STRATEGYPROFIT <> Profitto) OR (Not OnMarket AND OnMarket[1]) Then
       NumeroTrade = NumeroTrade + 1
       If STRATEGYPROFIT > Profitto Then
          Lotti = Lotti + LottiBase
       Elsif STRATEGYPROFIT < Profitto Then
          Lotti = LottiBase
       Endif
       Profitto = STRATEGYPROFIT
    Endif
    If  NumeroTrade >= Ntrade then
       NumeroTrade = 0
       Lotti       = LottiBase
    Endif

    Con CUMULASICYCLE = 1   (punto 1 del tuo quesito) ho modificato il codice come segue:

    Once LottiBase   = 1
    Once Lotti       = 0
    Once NumeroTrade = 0
    Once Ntrade      = 5
    Once Profitto    = 0
    If Lotti = 0 Then
       Lotti = LottiBase
    Endif
    If (STRATEGYPROFIT <> Profitto) OR (Not OnMarket AND OnMarket[1]) Then
       NumeroTrade = NumeroTrade + 1
       If STRATEGYPROFIT > Profitto Then
          Lotti = Lotti + LottiBase
       Elsif STRATEGYPROFIT < Profitto Then
          Lotti = min(LottiBase,Lotti - LottiBase)
       Endif
       Profitto = STRATEGYPROFIT
    Endif
    If NumeroTrade >= Ntrade then
       NumeroTrade = 0
       Lotti       = LottiBase
    Endif
    #97157 quote
    volpiemanuele
    Participant
    Veteran

    ciao Roberto e di nuovo grazie. Ho fatto le verifiche di nuovo e secondo me per tutti e 3 i metodi c’e’ qualcosa che non va. Ti allego file Excel dove (in base ai trade della strategia che ti ho inviato) ho ricostruito i lotti con i quali avrebbe dovuto entrare a mercato e ti ho allegato estratto di quanto effettivamente ha effettuato. Come vedi c’e’ qualcosa che non torna. Grazie di nuovo e speriamo di risolvere. Io ho provato a fare qualche modifica ma non ho risolto il problema. Ci provo ma senza esito !!

    #97184 quote
    robertogozzi
    Moderator
    Master

    E’ per me molto impegnativo mettersi a cercare le operazioni effettuate con il file di eXcel e fare confronti.

    Dimmi te 2-3 date ed orari di entrata (usando solo il codice di cui al punto 1, che è quello leggermente più complicato) che risultati dovrebbero avere ed io li confronto.

    Allegami anche l’ultima versione completa del codice che hai provato.

    Questo mi serve per facilitarmi il lavoro, altrimenti posso perderci un sacco di tempo ed ho difficoltà a risponderti. Grazie.

    #97185 quote
    volpiemanuele
    Participant
    Veteran

    Ciao,

    nel file Excel se lo apri ti ho già messo 3/4 operazioni con una colonna scritta da me che cosa sarebbe dovuto accadere e l’estratto del back per lo stesso periodo che mostra le quantità. L’ho fatto per le tre tipologie. Quindi quanto tu mi chiedi l’ho già fatto nell’ottica di ottimizzare i tempi per la soluzione. Se ti serve qualcosa di ancora più specifico fammi sapere. Grazie

    #97186 quote
    volpiemanuele
    Participant
    Veteran

    Ecco ultima versione

    #97194 quote
    robertogozzi
    Moderator
    Master

    Ho visto il 19/2/2015 alle 06:00, apre con 2 lotti ed all’operazione successiva poi riparte da 1 perché c’è una perdita.

    Non ho visto altro perché non è veloce confrontare excel. Indicami 2-3 operazioni in modo semplice (data e ora d’inizio) e spiegami cosa non va secondo te.

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

New Money Managment


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

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

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 04/24/2019
Status: Active
Attachments: 7 files
Logo Logo
Loading...