sospensione sistema dopo tot. profitti/perdite e riattivazione

Forums ProRealTime forum Italiano Supporto ProOrder sospensione sistema dopo tot. profitti/perdite e riattivazione

Viewing 7 posts - 1 through 7 (of 7 total)
  • #43232

    Buonasera a tutti, scusate la domanda che può sembrare banale,

    come faccio a sospendere  il sistema dopo che ho raggiunto un certo profitto (anche con più trades) od una certa perdita giornaliera?

    Per esempio, il mio sistema su timeframe intraday (es:15 minuti), fa 5 trades durante una giornata e raggiunge un profitto totale di 100 € oppure una perdita totale di 50 € alle 16:15.

    Quando raggiunge quei valori vorrei che il sistema chiuda tutte le opeazioni in essere e si sospenda fino all’inizio della candela giornaliera successiva (00:00) in cui si riattiva automaticamente.

    Quit e strategy profit interrompono il sistema senza riattivarlo.

    Qualcuno sa come aiutarmi per favore?

    Grazie mille in anticipo

    Massimo

    #43300

    Max, non l’ho mai fatto, ma a naso devi usare il parametro STRATEGYPROFIT che ti calcola il profitto fatto sin dal’inizio del tuo sistema.

    Quindi quando inizia la tua giornata, per esempio alle 080000, imposti:

    IF CURRENTIME > 000000 AND CURRENTIME < 080000 THEN

    STRATEGYPROFIT = INIZIO

    ENDIF

    Poi nella parte di codice che usi per aprire i trade, imposti per esempio che apri l’operazione solo se il tuo guadagno giornaliero non ha superato, per esempio, 100 euro:

    IF STRATEGYPROFIT – INIZIO < 100

    Capito? praticamente il giochino e’ stabilire tutti i giorni la tua variabile “INIZIO” che registra il guadagno del tuo sistema da quando l’hai fatto partire (tipo 10 mila euro). Poi quando superera’ 10100 euro non apre piu’ operazioni.

    Poi devi ricordarti di resettare la variabile “INIZIO” scrivendo:

    IF CURRENTIME > 180000 THEN

    INIZIO = 0

    ENDIF

    nel caso la tua giornata finisse alle 18. Perche’ se non la resetti il giorno dopo “INIZIO” sara’ ancora il tuo livello di patrimonio del giorno prima mentre deve sempre essere quello del giorno odierno.

    Prova e vedi se funziona

    #44144

    Ciao, Lorenzo, grazie per l’aiuto, ma non ho capito bene,

    dove inseriresti i codici che mi hai scritto  in questo sistema di “esempio”, considerando ad esempio inizio giornata forex alle 00:01:00 e fine giornata alle 23:59:00?

     

    // condizioni

    c1=close>close[1]
    c2=close<close[1]

    if not longonmarket and c1 then
    buy 1 share at market
    endif

    if longonmarket and c2 then
    sell at market
    endif

    if not shortonmarket and c2 then
    sellshort 1 shares at market
    endif

    if shortonmarket and c1 then
    exitshort at market
    endif

     

    Attendo tue notizie, grazie

    Max

    #44158

    Cosi ti dovrebbe funzionare…

    Nelle condizioni di apertura ho sostituito NOT LONGONMARKET e NOT SHORTONMARKET con NOT ONMARKET perche’ senno’ ti si aprono posizioni opposte contemporaneamente e fa un pastrocchio.

    Sostituisci 10 con il massimo guadagno che decidi.

     

    IF (CurrentTime = 000000) THEN
    INIZIO = STRATEGYPROFIT
    ENDIF

     

    // condizioni

    c1=close>close[1]
    c2=close<close[1]

    if not ONMARKET and c1 AND STRATEGYPROFIT – INIZIO < 10 AND (CurrentTime > 000001) AND (CurrentTime < 235959) then
    buy 1 share at market
    endif

    if longonmarket and c2 then
    sell at market
    endif

    if not ONMARKET and c2 AND STRATEGYPROFIT – INIZIO < 10 AND (CurrentTime > 080000) AND (CurrentTime < 235959) then
    sellshort 1 shares at market
    endif

    if shortonmarket and c1 then
    exitshort at market
    endif

     

    #44190

    Ciao,

    ho testato con backtest e in demo ma non purtroppo non va….bo, non saprei come fare, ho provato anche a sostituire “currenttime” con “time” ma mi da lo stesso risultato, continua a tradare anche oltre il profitto stabilito.

    Ho fatto anche una richiesta al supporto di prorealtime, vediamo cosa dicono….poi ti faccio sapere.

    Se hai altre idee dimmi pure…

    Grazie mille comunque

    Massimo

     

    #44371

    Ciao Lorezo, mi hanno risposto i tecnici di prorealtime, mi hanno scritto:

    Il codice che deve mettere all’ inizio :

    if intradaybarindex=0 then
    trading=1
    myprofit=strategyprofit
    endif

    if strategyprofit-myprofit> 100 or strategyprofit-myprofit< -50 then
    trading=0
    endif

    Poi dove aggiungere la condizione “trading=1 ” nelle sue condizione d’apertura de posizione.

    Ho testato e funziona per ora, ha raggiunto 110 $ di profitto e si è fermato, vediamo domani se riparte.

    Buona giornata

    Maxx

    #44399

    Max ciao. Ottimo.

    Accidenti, intradaybarindex mi mancava !

    Grazie 😀

Viewing 7 posts - 1 through 7 (of 7 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login