target giornaliero

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #123907 quote
    romanelli4romanelli4
    Participant
    Average

    Buoungiorno,

    ho un ts che inizia a lavorare alle 8.20 e termina alle 20.

    vorrei inserire nel mio ts la seguente variabile:

    quando raggiungi un take profit giornaliero cumulativo di 30 pt chiudi operazione e non effettuare altre operazioni fino al giorno successivo.

    é possibile ?

    Grazie in anticipo.

    massimo

    #123909 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    All’inizio devi dirgli che all’inizio del giorno (quando IntraDayBarIndex = 0) salvi in una variabile il totale della strategia a quel momento ed introduci una variabile per tradare o meno, sempre da riattivare ogni giorno, con:

    ONCE Tradare  = 1      //1=tradare  0=non tradare
    ONCE Profitto = 0
    IF IntraDayBarIndex = 0 THEN
       Profitto = StrategyProfit
       Tradare  = 1
    ENDIF
    

    dopodiché converti X pips (30 o quello che tu vorrai) nella valuta del tuo conto, con:

    ONCE Massimo = 30 * pointvalue
    

    quindi verifichi a quanto è arrivato il profitto della tua strategia e, se superato il Massimo, metti a 0 la variabile Tradare:

    IF (StrategyProfit - Profitto) > Massimo THEN
       Tradare = 0
    ENDIF

    infine, aggiungi alle tue condizioni d’entrata la seguente condizione:

    AND Tradare

    Non l’ho provato. Fammi sapere.

    #123914 quote
    romanelli4romanelli4
    Participant
    Average

    ok grazie mille mi metto al lavoro

    #123935 quote
    romanelli4romanelli4
    Participant
    Average

    Salve Roberto,

    non va,

    continua a tradare fino alle 20

    #123938 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Se c’è un’operazione in corso STRATEGYPROFIT non viene aggiornata fino alla chiusura, per cui può essere che sia aperta e quindi non può verificare il Massimo

    Si può ovviare con POSITIONPERF che ci da la percentuale di profitto di un’operazione in corso.

    Ci studio e nel pomeriggio la posto.

    #123953 quote
    Ciao, prova questo dovrebbe funzionare
    Ti ho inserito anche lo stop nel caso ti servisse.
    
    MaxDailyProfitto = 30 
    MaxDailyLoss     = 30
    
    once Trade=1
    If intradaybarindex=0 then
    MyProfitto=STRATEGYPROFIT
    Trade=1
    endif
    
    If StrategyProfit>=MyProfitto+MaxDailyProfitto or Strategyprofit<=MyProfitto-MaxDailyLoss then
    Trade=0
    endif
    
    if Trade=1 and Condizioni then
    BUY 1 CONTRACT AT MARKET
    endif
    #123980 quote
    romanelli4romanelli4
    Participant
    Average

    Grazie molte

    non va lo stesso

    mi chiude sempre alle 20

    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // 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 = 082000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"
    DEFPARAM FLATAFTER = 200000
    
    MaxDailyProfitto = 30
    MaxDailyLoss = 30
    
    once Trade=1
    If intradaybarindex=0 then
    MyProfitto=STRATEGYPROFIT
    Trade=1
    endif
    
    If StrategyProfit>=MyProfitto+MaxDailyProfitto or Strategyprofit<=MyProfitto-MaxDailyLoss then
    Trade=0
    endif
    
    // Condizioni per entrare su posizioni long
    indicator1 = Average[20](close)
    
    
    c1 = (close[0] CROSSES OVER indicator1[0])
     
    IF Trade = 1 and c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
     
    // Condizioni per entrare su posizioni short
    indicator2 = Average[20](close)
    
    c2 = (close[0] CROSSES UNDER indicator2[0])
     
    IF Trade =1 and c2  THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
     
    // Stop e target
    //SET STOP %LOSS 3
    //SET TARGET PPROFIT 60*pointvalue
     
    
    #123982 quote
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // 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 = 082000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"
    DEFPARAM FLATAFTER = 200000
     
    MaxDailyProfitto = 30
    MaxDailyLoss = 30
     
    once Trade=1
    If intradaybarindex=0 then
    MyProfitto=STRATEGYPROFIT
    Trade=1
    endif
     
    If StrategyProfit>=MyProfitto+MaxDailyProfitto or Strategyprofit<=MyProfitto-MaxDailyLoss then
    Trade=0
    endif
     
    // Condizioni per entrare su posizioni long
    indicator1 = Average[20](close)
     
     
    c1 = (close[0] CROSSES OVER indicator1[0])
     
    IF Trade = 1 and c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
     
     
    MaxDailyProfittoS = 30
    MaxDailyLossS = 30
     
    once TradeS=1
    If intradaybarindex=0 then
    MyProfittoS=STRATEGYPROFIT
    TradeS=1
    endif
     
    Bisogna distinguere le operazioni LONG dalle Short
    Copia questo sicuramente ti funziona.
    
    If StrategyProfit>=MyProfittoS+MaxDailyProfittoS or Strategyprofit<=MyProfittoS-MaxDailyLossS then
    TradeS=0
    endif
    // Condizioni per entrare su posizioni short
    indicator2 = Average[20](close)
     
    c2 = (close[0] CROSSES UNDER indicator2[0])
     
    IF TradeS =1 and c2  THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    #123983 quote
    Bisogna distinguere le operazioni LONG dalle Short
    Copia questo sicuramente ti funziona.
    
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // 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 = 082000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"
    DEFPARAM FLATAFTER = 200000
     
    MaxDailyProfitto = 30
    MaxDailyLoss = 30
     
    once Trade=1
    If intradaybarindex=0 then
    MyProfitto=STRATEGYPROFIT
    Trade=1
    endif
     
    If StrategyProfit>=MyProfitto+MaxDailyProfitto or Strategyprofit<=MyProfitto-MaxDailyLoss then
    Trade=0
    endif
     
    // Condizioni per entrare su posizioni long
    indicator1 = Average[20](close)
     
     
    c1 = (close[0] CROSSES OVER indicator1[0])
     
    IF Trade = 1 and c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
     
     
    MaxDailyProfittoS = 30
    MaxDailyLossS = 30
     
    once TradeS=1
    If intradaybarindex=0 then
    MyProfittoS=STRATEGYPROFIT
    TradeS=1
    endif
     
    If StrategyProfit>=MyProfittoS+MaxDailyProfittoS or Strategyprofit<=MyProfittoS-MaxDailyLossS then
    TradeS=0
    endif
    // Condizioni per entrare su posizioni short
    indicator2 = Average[20](close)
     
    c2 = (close[0] CROSSES UNDER indicator2[0])
     
    IF TradeS =1 and c2  THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    #123989 quote
    romanelli4romanelli4
    Participant
    Average

    Grazie ancora…ma non va

    allego immagine…

    fa una prima operazione poi la chiude e ne riapre una in senso opposto che chiude alle 20

    DAXXXXX_8-5-minuti.png DAXXXXX_8-5-minuti.png
    #123992 quote

    Appena posso controllo mi sembra di vedere che è sul DAX 5 minuti.

    #123993 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Aggiungi in fondo al tuo codice:

    graph Profitto
    graph StrategyProfit
    graph StrategyProfit[1]
    graph OnMarket
    graph PositionPerf

    Profitto deve essere il valore ad inizio giornata della STRATEGYPROFIT, come ho detto all’inizio.

    Fatto il backtest vedrai, nell’apposito riquadro delle variabili, i valori suddetti. Verificali e vedi cosa può esserci che non va.

    Se non riesci a vederlo, l’unica soluzione è postare il codice in modo da poterlo eseguire ed osservare cosa non va.

    #123995 quote

    Se guardi l’ immagine puoi notare che funziona devi distinguere le operazioni Long dalle Short

    Se guadagni o perdi 30 euro il sistema non fà più operazioni nella giornata.

    Gardando la data del 6 marzo 2020 apre la prima operazione Short e perde 18.80 euro ne fà un’altra in giornata sempre Short con guadagno di 157.80 euro perchè il sistema non si blocca non avendo superato la perdita di 30 Euro, prova a modificare il  “MaxDailyLossS” e metti 10 vedrai che la seconda operazione sparisce.

    dax-pr.jpg dax-pr.jpg
    #123997 quote

    Come puoi notare in questa  immagine la seconda operazione non c’è più.

    dax-pr1.jpg dax-pr1.jpg
Viewing 14 posts - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

target giornaliero


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
romanelli4 @romanelli4 Participant
Summary

This topic contains 13 replies,
has 3 voices, and was last updated by Mauro T. "Algorithm System"Mauro T. “Algorithm System”
6 years, 6 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 03/30/2020
Status: Active
Attachments: 3 files
ProRealCode ProRealCode
Loading...