Controllo ed esecuzione

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

    Ciao a tutti,

    con prorealtime è possibile in una strategia per esempio H1 dire al sistema di fare un check ogni 30 minuti e se la condizione si avvera allora esegui X ordine?

    Spero di essermi spiegato.

    Grazie

    #69986 quote
    robertogozzi
    Moderator
    Master

    Non è possibile attualmente, ma lo sarà entro qualche mese, appena sarà rilasciata la nuova versione MTF (Multi Time Frame) che consentirà, appunto, di usare amche timeframe diversi nella stessa strategia.

    Attualmente solo ProScreener lo consente.

    E’ in fase di test, a quanto riferisce Nicolas.

    Puoi leggere qualcosa nel forun inglese https://www.prorealcode.com/topic/betatesting-multitimeframe-support-automatic-trading/.

    #70367 quote
    ironshirow
    Participant
    Average

    Ciao Roberto,

    ti ringrazio.

    Per risolvere questa cosa potrei contare le candele in determinato timeframe?

    Per esempio se avessi timeframe 15 min potrei dire al sistema di contare 4 candele?

    Ciao

    #70369 quote
    robertogozzi
    Moderator
    Master

    Dovresti lanciare la strategia nel TF a 15 minuti, però le condizioni sarebbero falsate, perché una Media o un Macd ecc… restituiscono valori diversi su TF diversi, per cui può darsi che sul 5 minuti il Macd superi lo ZERO, ma sull’orario no, quindi rischieresti di entrare a mercato nel momento sbagliato!

    In pratica non si può fare, tanto varrebbe fare una strategia per i 15 minuti.

    #70371 quote
    ironshirow
    Participant
    Average

    Ciao,

    ok ma se io volessi calcolare il minimo e massimo toccato in un dato lasso di tempo potrei contare le 4 candele con time frame a 15m e avrei 1h come conteggio,no?

    Ciao

    #70372 quote
    robertogozzi
    Moderator
    Master

    Si, certo, questo si basta che moltiplichi i periodi per il numero di TF piccoli che si sono dentro quello più grande (in 1 ora ce ne sono 4 da 15, oppure 12 da 5 oppure 60 da 1 minuti, ecc…):

    Quindi, per vedere i minimi e massimi tra le 9 e le 11 di ogni giorno su uh TF orario dovresti scrivere:

    IF time = 110000 THEN
       Massimo = highest[2](high)
       Minimi  = lowest[2](low)
    ENDIF

    mentre su un TF di 15 minuti

    IF time = 110000 THEN
       Massimo = highest[8](high)
       Minimi  = lowest[8](low)
    ENDIF
    #70373 quote
    robertogozzi
    Moderator
    Master

    Però gli oscillatori/indicatori NON danno lo stesso risultato moltiplicando i periodi. Una Average[10] su un TF orario non è come Average[40] su un TF a 15 minuti, anche se ogni ora è 4 barre!

    #70996 quote
    ironshirow
    Participant
    Average

    Ciao Roberto,

    grazie.

    Avrei un paio di domande:

    1. quando ci sono le condizioni di acquisto e successivamente di vendita non riesco a capire come dire al sistema di fare l’operazione solo una volta e non ripeterla N volte finchè ci sono le condizioni nelle barre successive.
    2. Viste le mie difficoltà nella programmazione cosa devo fare se volessi far sviluppare dei codici? Posso chiedere qui? a te?

    Grazie

    #71007 quote
    robertogozzi
    Moderator
    Master

    Per evitare il rientro si può usare

    DEFPARAM CumulateOrders = false

    all’inizio della strategia. Questo impedisce, anche se ci sono le condizioni, che vengano aperti ulteriori ordini.

    In alternativa, quando stabilisci le condizioni per entrare LONG/SHORT puoi aggiungere la verifica se sei già a mercato o meno

    IF MieCondizioni AND Not OnMarket THEN
       BUY/SELLSHORT........
    ENDIF

    Per la programmazione puoi cercare qualcosa qui https://www.youtube.com/channel/UCj1ZsVjiKQQH1XzIMENQTyQ
    Oppure leggere la documentazione (la trovi in formato PDF), con qualche lacuna, oppure puoi leggere i codici di strategie/indicatori/screeners per vedere di apprendere qualcosa.

    Il linguaggio è veramente semplice, se tu riuscissi a farti delle nozioni anche veramente basilari, del linguaggio BASIC saresti in poco tempo in grado di codificare qualcosa.

    Per quanto riguarda il forum…. devi tu fare qualche domanda e qualcuno magari ti risponderà.

    Certamente se chiederai a cosa serve IF…ENDIF oppure FOR…NEXT, in tal caso non avrai molte risposte, perché sono cose talmente basilari che devi impararle da solo, o con l’aiuto di persone a te vicine (colleghi, amici, parenti).

    Nicolas thanked this post
    #71112 quote
    ironshirow
    Participant
    Average

    Ciao Roberto,

    grazie per tutte le informazioni.

    La strategia che sto testando “a mano” è quella di entrare all’inizio di un nuovo trend con alcune condizioni particolari legate all’RSI.

    La cosa per me importante è che per quell’unico trend devo entrare e uscire una volta sola e non continuare in ogni candela.

    DEFPARAM CumulateOrders = false lo sto già utilizzando ma permette solo di non accumulare le posizioni mentre io devo fare in modo che per tutto il trend non venga rieseguito l’ordine anche se c’è la condizione.

    Grazie

    #71254 quote
    ironshirow
    Participant
    Average

    Ciao Roberto,

    scusa ma ho fatto una domanda banale che nessuno mi risponde?

    Ciao

    #71263 quote
    robertogozzi
    Moderator
    Master

    Non ho notato la domanda, qual’è?

    #71269 quote
    ironshirow
    Participant
    Average

    Scusa hai ragione dovevo essere più esplicito.

    Mi riferivo al DEFPARAM CumulateOrders = false che lo uso ma non fa al caso mio perchè ho bisogno di eseguire 1 ordine solo per “trend” quindi mi chiedevo quale parametro posso utilizzare.

    La strategia che sto iniziando ad implementare prevede l’uso di 2 indicatori:

    RSI e SAR

    Praticamente ogni volta che l’RSI raggiunge un determinato valore in un trend determinato con il parabolic sar devo entrare in long o short una volta sola ed uscire al raggiungimento di X punti.

    Vorrei capire come posso dire al sistema di entrare una volta solo per trend.

    Ciao

    #71289 quote
    robertogozzi
    Moderator
    Master

    Questo è un esempio con due medie mobili, dovrai adattarlo alle tue esigenze, il concetto è comunque valido indipendentemente dagli indicatori e dai settaggi che utilizzi tu

    ONCE Trading = 1                                   //inizialmente deve potere tradare
    
    // calcolare le medie
    Media1  = average[20](close)                       //prima media mobile
    Media2  = average[100](close)                      //seconda media mobile
    Rialzo  = Media1 > Media2                          //determinare se la media veloce è al rialzo (sopra la lenta)
    Ribasso = Media1 < Media2                          //determinare se la media veloce è al ribasso (sotto la lenta)
    
    // verificare c he si possa tradare ancora al cambio di segnale, da RIALZO a RIBASSO o viceversa
    IF Rialzo THEN                                     //se le medie sono al RIALZO...
       IF Ribasso[1] THEN                              //...e prima erano al RIBASSO...
          Trading = 1                                  //...si può di nuovo tradare per il cambio di segnale
       ENDIF
    ELSIF Ribasso THEN                                 //(come sopra, ma invertito per il RIBASSO)
       IF Rialzo[1] THEN
          Trading = 1
       ENDIF
    ENDIF
    
    // entrare LONG
    IF Rialzo AND Trading AND Not OnMarket THEN       //si entra se siamo al RIALZO, non siamo a mercato e non è già stata fata un'altra operazione LONG in precedenza
       BUY 1 CONTRACT AT MARKET
       Trading = 0                                    //non tradare ancora fino al prossimo cambio di segnale
    ENDIF
    
    // entrare SHORT
    IF Ribasso AND Trading AND Not OnMarket THEN     //si entra se siamo al RIBASSO, non siamo a mercato e non è già stata fata un'altra operazione SHORT in precedenza
       SELLSHORT 1 CONTRACT AT MARKET
       Trading = 0                                   //non tradare ancora fino al prossimo cambio di segnale
    ENDIF
    
    // Stop Loss e Target Profit
    SET TARGET pPROFIT 20
    SET STOP   pLOSS   10
Viewing 14 posts - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.

Controllo ed esecuzione


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
ironshirow @ironshirow Participant
Summary

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

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