target giornaliero

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #123907 quote
    romanelli4
    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
    robertogozzi
    Moderator
    Master

    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
    romanelli4
    Participant
    Average

    ok grazie mille mi metto al lavoro

    #123935 quote
    romanelli4
    Participant
    Average

    Salve Roberto,

    non va,

    continua a tradare fino alle 20

    #123938 quote
    robertogozzi
    Moderator
    Master

    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
    romanelli4
    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
    romanelli4
    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

    #123992 quote

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

    #123993 quote
    robertogozzi
    Moderator
    Master

    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.

    #123997 quote

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

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

target giornaliero


Supporto ProOrder

New Reply
Author
Summary

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

Topic Details
Forum: Supporto ProOrder
Language: Italian
Started: 03/30/2020
Status: Active
Attachments: 3 files
Logo Logo
Loading...