Massima perdita settimanale

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #86561 quote

    Buongiorno, non riesco a bloccare il sistema in uso dopo una perdita superiore a X Euro ( Per es. 200 Euro).

    Ho questa soluzione per il giornaliero e vorrei trasformarlo in settimanale o mensile in base alle esigenze del trading  in uso.

    Grazie

    Mauro

    // ---parameters 
    MaxDailyProfit=1000 //Max daily profit allowed (in money)
    MaxDailyLoss=1000 //Max daily loss allowed  (in money)
     
    // first time we launch the code, the trading is allowed
    once TradeAllowed=1
     
    // reset the current state of the strateygprofit each new day
    If intradaybarindex=0 then
     MyProfit=STRATEGYPROFIT
     TradeAllowed=1
    endif
     
    // test if the strategyprofit of the day is currently above the daily profit allowed of below the daily loss allowed
    If StrategyProfit>=MyProfit+MaxDailyProfit or Strategyprofit<=MyProfit-MaxDailyLoss then
     TradeAllowed=0
    endif
     
    // initiate a new BUY order
    if TradeAllowed=1 and buyconditions then
     buy 1 lot at market
    endif
    #86633 quote
    robertogozzi
    Moderator
    Master

    Le righe 9-12 non hanno senso per TF che non siano intraday, come dice la parola stessa INTRADAYBARINDEX. Nel caso del giornaliero o settimanale penso quella costante di sistema restituisca sempre zero, quindi le righe verranno SEMPRE eseguite.

    STRATEGYPROFIT viene aggiornato alla chiusura di ogni operazione (non mentre è aperta), per cui, al posto delle righe 9-17 dovresti mettere queste (non ho fatto nessun test, fammi sapere tu se funziona):

    ONCE MaxLoss = 200 //importo max. della perdita
    //
    // dopo una barra di sosta, a causa perdita eccessiva, abilitare nuovamente il trading
    If TradeAllowed=0 then
       TradeAllowed=1
    endif
    //
    // Verificare se dopo la chiusura di un’operazione c’è stata una perdita superiore al massimo consentito
    // nel qual caso impedire il trading
    If Not OnMarket AND OnMarket[1] THEN
       If MyProfit >= (STRATEGYPROFIT + MaxLoss) THEN
          TradeAllowed=0
       endif
    endif
    //
    // Quando non si è a mercato aggiornare MyProfit al valore corrente dopo l’ultima operazione
    If Not OnMarket then
       MyProfit=STRATEGYPROFIT
    endif

    Questa modifica consente di inibire il trading per una barra dopo una perdita consistente e funziona su qualunque TF, che sia 1 minuto o mensile!

    Se vuoi inibire PER SEMPRE l’operatività, interrompendo la strategia, basta che sostituisci

       If MyProfit >= (STRATEGYPROFIT + MaxLoss) THEN
          TradeAllowed=0
       endif

    con

       If MyProfit >= (STRATEGYPROFIT + MaxLoss) THEN
          quit
       endif
    #86647 quote

    Grazie Roberto per la tua puntuale risposta, ma io uso grafici a 1 o 4 ore e vorrei interrompere il sistema non alla successiva barra , ma alla settimana successiva.

    Vorrei mettere una massima perdita settimanale (o mensile ) e riprendere dopo questa interruzione.

    Dovrebbe essere utili nei trading System solo unidirezionali ( Es. Solo Long) .

    Ti Ringrazio ancora

    Mauro

    #86700 quote
    robertogozzi
    Moderator
    Master

    Inserisci questo codice nella tua strategia:

    ONCE MaxLoss      = 200
    ONCE TradeAllowed = 1
    ONCE MyProfit     = 0
    IF DayOfWeek < DayOfWeek[1] THEN
       TradeAllowed = 1
       MyProfit     = STRATEGYPROFIT
    ENDIF
    IF Not OnMarket AND OnMarket[1] THEN
       If MyProfit > (STRATEGYPROFIT + MaxLoss) THEN
          TradeAllowed = 0
       ENDIF
    ENDIF

    Per un mese sostituisci la riga 4 con:

    IF Month <> Month[1] THEN
    #86705 quote

    Grazie come al solito , sembra funzionare ora provo se le strategie migliorano…..

    Sarebbe ottimale interrompere nel momento che arriva alla perdita prestabilita senza aspettare la chiusura della barra …..ma mi sa che con Prorealtime non è possibile.

    Grazie ancora

    Mauro

    #86706 quote
    robertogozzi
    Moderator
    Master

    Puoi usare un TF basso solo per quella parte di codice, ma purtroppo hai uno storico più breve, perché il TF più basso è quello principale.

    #86707 quote

    Si ci avevo pensato ma per ora solo il demo ha Multiframe ……. e il demo ha 100.000 unità , serve a poco….

    Grazie

    #86819 quote

    Ho provato e ho visto migliorare decisamente il Drawdown che era quello che  volevo, poi ho cercato di dividere la perdita tra long e schort ( sempre settimanale o mensile) ma purtroppo non ci sono riuscito….sai se è possibile …..

    ti ringrazio come al solito

    Mauro

    #86847 quote
    robertogozzi
    Moderator
    Master

    Non esiste un comando specifico che te lo indica, va scritto il codice per farlo.

    Quando si esce da un’operazione bisogna stabilire se era SHORT o LONG ed aggiornare il risultato complessivo per ciascun tipo.

    Per sapere quando siamo appena usciti da un’operazione LONG basta verificare di NON essere long attualmente, ma di esserlo stato nella barra precedente (vale anche per gli SHORT, a parte la differenza nei nomi):

    ONCE MyStrategyProfit    = 0      //risultato strategia TOTALE
    ONCE LongStrategyProfit  = 0      //risultato strategia solo per i LONG
    ONCE ShortStrategyProfit = 0      //risultato strategia solo per gli SHORT
    //
    IF NOT LongOnMarket AND LongOnMarket[1] THEN
       LongStrategyProfit = LongStrategyProfit + (STRATEGYPROFIT - MyStrategyProfit)
       MyStrategyProfit   = STRATEGYPROFIT
    ENDIF
    //
    IF NOT ShortOnMarket AND ShortOnMarket[1] THEN
       ShortStrategyProfit = ShortStrategyProfit + (STRATEGYPROFIT - MyStrategyProfit)
       MyStrategyProfit    = STRATEGYPROFIT
    ENDIF
    #86861 quote

    Grazie Roberto domani controllo se migliora.

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

Massima perdita settimanale


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by Mauro T. “Algorithm System”
7 years, 2 months ago.

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