ottimizzazione automatica variabili

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #192831 quote
    leo di menno
    Participant
    Average

    salve, ipotizzando di avere 100 condizioni tipo c1,c2,c3 etc fino a c100, ho provato a mettere nella riga if: cx e poi aggiungere la x sulla schermata ottimizzazione variabili per far cercare alla macchina quale condizione delle 100 sia la migliore, cosi facendo il prt mi da errore e non accetta di testare solo la x restando invariata la c, ho anche provato a chiamare le variabili solo con numeri ma sempre errore lo stesso, come potrei fare per automatizzare i test? grazie

    #192836 quote
    robertogozzi
    Moderator
    Master

    Se vuoi ottimizzarne una per volta devi metterne una per volta in IF.

    #192877 quote
    GraHal
    Participant
    Master

    Che ne dici di impostare una “condizione Flag” per ciascuna delle condizioni C1 e ottimizzare Flag?

    Se C1 Allora
    Flag = 1
    Se C2 Allora
    Flag = 2
    Se C3 …. etc etc

    Ti sembra un peccato rinunciare alla tua idea  leo di menno soprattutto se hai messo insieme 100/molte condizioni in un’unica Strategia?

    #193483 quote
    leo di menno
    Participant
    Average

    ciao, non so usare la funzione flag, potresti farmi un esempio per favore?

    #193485 quote
    GraHal
    Participant
    Master

    È più facile se pubblichi il tuo codice e poi provo la mia idea su un esempio funzionante?

    Dico sopra perché per essere sicuro del mio codice, dovrei prima testare il mio codice.

    Quindi potrei anche far funzionare la mia idea sul tuo codice?

    #193486 quote
    GraHal
    Participant
    Master

    Ecco un esempio (di utilizzo di Flag) del nostro gentile e cordiale programmatore interno Roberto.

    https://www.prorealcode.com/topic/once-function-combined-with-a-stop/#post-163209

    #193488 quote
    GraHal
    Participant
    Master

    usa un flag (una variabile, indipendentemente dal nome, che viene utilizzata per segnalare qualcosa). Questo flag dovrebbe essere impostato su 0 quando non è sul mercato, quindi impostato su 1 ogni volta che c11 è true.

    Quindi puoi effettuare l’ordine stop mentre questo flag è vero:

    if not OnMarket then
       Flag = 0
    endif
    c1 = OnMarket and (barindex tradeindex <= 45)
    IF Flag = 0 then
       c11 = close >= (tradeprice + 14*pipsize) //you may use HIGH instead of CLOSE, PIPSIZES makes your code portable
       Flag = 1
    endif
    If not onmarket then
       buy 5 contract at market
    endif
    if Flag then
       sell at Fulllongstop stop
    endif
    #193500 quote
    robertogozzi
    Moderator
    Master

    Prova con questo sistema (non so quante variabili accetta l’ottimizzatore, tenendo presente che ognuna ha 2 valori, 0 e 1, quindi saranno 2^N combinazioni):

    // ottimizza Var1, Var2,... VarN con i soli valori 0 e 1 (con 0 la condizione è disabilitata, con 1 è abilitata)
    //
    Cond1 = close > average[100,0](close)      AND Var1   //il prezzo deve essere > della Sma100
    Cond2 = Rsi[14](close) CROSSES OVER 50     AND Var2   //Rsi incrocia al rialzo la linea mediana
    Cond3 = summation[3](close > close[1]) = 3 AND Var3   //nelle ultime 3 candele il prezzo di chiusura è sempre più alto
     .
     .
    CondN = close > open                       AND VarN   //la candela corrente deve essere rialzista
    //
    Cond  = Cond1 OR Cond2 OR Cond3... OR CondN           //se basta che una condizione sia vera
    Cond  = Cond1 AND Cond2 AND Cond3... AND CondN        //se tutte le condizioni devono essere vere
    Cond  = Cond1 OR (Cond2 AND Cond3),....               //puoi usare OR, AND per combinarle a piacere
    GraHal thanked this post
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

ottimizzazione automatica variabili


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

This topic contains 7 replies,
has 3 voices, and was last updated by robertogozzi
3 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 05/06/2022
Status: Active
Attachments: No files
Logo Logo
Loading...