esecuzione ordini con più condizioni

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #228849 quote
    alessiopippo
    Participant
    Junior

    Buondì, cercherò di spiegarmi…. ho una strategia , che compera al verificarsi delle mie condizioni , uno stop loss e un tp in percentuale e un trailing stop semprre in percentuale. ipotizziamo che questa strategia che chiameremo “A”, apre la posizione e il target sia 2%…il prezzo si muove fino a 1% e poi torna indietro o raggiunge lo stop o il tp non importa, questo avviene entro un tempo “x”….. in questo lasso di tempo la strategia risulta “Onmarket”. ecco io vorrei aggiungere un uscita ulteriore ,per esempio quando RSI incrocia dall’altro il valore 80, e quindi basta aggiungere la condizione dell’rsi alle condizioni di uscita e otteniamo la strategia “b”, potrebbe verificarsi che la mentre la strategia originale “A” entra e rimane Onmarket per 10 giorni, la strategia “b” entra e poi esce dopo  3 giorni…. e questo va bene… ma io non voglio che , anche se si riverificano le condizioni di acquisto nel lasso di tempo in cui la strategia “a” sarebbe onmarket, la strategia entri ancora a mercato….. deve non entrare fino a che la strategia “a” è a mercato…… esempio piu facile se ho un tp di 200 punti la strategia “a” entra e esce una volta…. se la stessa strategia il tp lo metto a 10 magari entra e esce 8 volte….ecco questo non lo deve fare deve entrare prendersi i 10 punti e poi non entrare piu fino a che la strategia sarebbe stata onmarket se il tp fosse stato 200.

    spero di essermi spiegato……

    grazie

    #228850 quote
    robertogozzi
    Moderator
    Master

    Quando scrivi “per esempio quando RSI incrocia dall’altro il valore 80“, ALTRO sta per ALTO, oppure dall’ALTRO LATO, cioè dal BASSO (che è il lato opposto ad 80)?

    Poi vorrei fare una precisazione, una strategia NON PUO’ avere posizioni contrarie aperte contemporaneamente, quindi mettiamo la condizione che l’RSI apre la strategia B, automaticamente la A viene chiusa.

    Quindi relativamente a quanto hai scritto “potrebbe verificarsi che la mentre la strategia originale “A” entra e rimane Onmarket per 10 giorni, la strategia “b” entra e poi esce dopo 3 giorni“, questo non può accadere, la strategia A viene chiusa per aprire la B.

    #228899 quote
    alessiopippo
    Participant
    Junior

    Ciao Roberto, mi sono spiegato male, anzi malissimo…. la faccio Piu semplice, ho messo il codice di una strategia fatta proprio al volo, solo long e una foto.

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    indicator1 = Average[200](close)
    c1 = (close CROSSES OVER indicator1)
    indicator2 = Average[100](close)
    c2 = (close CROSSES under indicator2)
    
    IF c1  THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Stop e target
    SET STOP %LOSS 1.5
    SET TARGET %PROFIT 3
    

    se eseguo il codice, sopra il 6 aprile 2023 viene aperta una posizione e viene chiusa il 24 maggio 2023 (trade 1A) nel riquadro centrale della foto.

    ora faccio una “modifica” nella strategia :inserisco una condizione di uscita c2.

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    indicator1 = Average[200](close)
    c1 = (close CROSSES OVER indicator1)
    indicator2 = Average[100](close)
    c2 = (close CROSSES under indicator2)
    
    IF c1  THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    IF c2  THEN
     sell 1 CONTRACT AT MARKET
    ENDIF
    // Stop e target
    SET STOP %LOSS 1.5
    SET TARGET %PROFIT 3
    

     

     

    e succede che  il 6 aprile mi apre la posizione e me la chiude giustamente il 26 aprile quando è soddisfatta la condizione di uscita c2 (trade 1).

    poi siccome si ripresentano le condizioni per un buy apre il trade 2, il 5 maggio e lo chiude il 19 maggio, riquadro superiore della foto.

    la modifica funziona ma non è quello che voglio, io vorrei che la modifica eseguisse il trade 1 ma non il 2, cioè deve aprire la posizione quando si verificano le condizioni di acquisto, ma se  chiude la posizione perché si verifica c2, anche se si verificano le condizioni di acquisto non deve riaprire posizioni per tutto il tempo che la strategia ” senza modifica” ,cioè senza la condizione di uscita c2, sarebbe stata onmarket

    vorrei sapere se c’è un modo, inserendo un flag, o il codice di ordini simulati,  per fare questa cosa , ovvio io adesso ho scritto una strategia stupida ma era per cercare di far capire quello che voglio….

     

    non si può mettere in un unico codice una strategia(strat1) che esegue ordini “reali” e una strategia (strat2)che esegue ordini “simulati”,  quando si verificano le condizioni di acquisto, prima di  andare long, controlla la strat2,quella simulata, se la simulata non è onmarket allora compera, se invece è onmarker non compera. o se non è onmarker alla barra precedente se interferisce con il “primo” ordine long

    #228980 quote
    alessiopippo
    Participant
    Junior

    credo di esserci riuscito…. ovvio che  ci sarà di sicuro un modo piu elegante e preciso ma  cosi funziona, lo metto nel caso interessasse a qualcuno

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    indicator1 = Average[200](close)
    c1 = (close CROSSES OVER indicator1)
    indicator2 = Average[100](close)
    c2 = (close CROSSES undeR indicator2)
    //once flag=0
    IF c1 and flag=0  THEN
    BUY 1 CONTRACT AT MARKET
    flag=1
    
    ENDIF
    if c1[1] and onmarket then
    c=tradeprice
    stoploss=(c-(1.5/100*c))
    targetprofit=(c+(3/100*c))
    flag=1
    endif
    IF c2  THEN
    sell 1 CONTRACT AT MARKET
    ENDIF
    // Stop e target
    SET STOP %LOSS 1.5
    SET TARGET %PROFIT 3
    
    if low < stoploss or high>targetprofit  then
    flag=0
    endif
    graph flag
    graphonprice stoploss
    graphonprice targetprofit
    graphonprice tradeprice
    
    robertogozzi thanked this post
Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.

esecuzione ordini con più condizioni


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by alessiopippo
1 year, 11 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 02/27/2024
Status: Active
Attachments: 2 files
Logo Logo
Loading...