Risultati da 1 a 10 di 29

Visualizzazione Ibrida

  1. #1
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,169
    Citazione Originariamente Scritto da BMM Visualizza Messaggio
    detto così sembra quasi che sia un limite

    quando saranno aggiunti i cicli sulla base vettoriale sarà una potenza
    Hai ragione modifico la frase!
    ..se corri dietro a due lepri, non ne prendi nemmeno una.

  2. #2
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve,
    nella release di oggi verrà aggiunta una funzione specifica per l'iterazione barra per barra:

    BARLOOP ( initialValue, offset, operator, operand, minimumValue, maximumValue )
    Tutti i parametri, ad eccezione di initialValue, possono essere delle qualsiasi espressioni valide in EasyScript.

    - Il parametro initialValue rappresenta il valore iniziale da utilizzare nel calcolo: può essere un qualsiasi valore numerico.
    - Il parametro offset specifica il numero di barre trascorse a cui voglio riferirmi, deve essere un valore positivo.
    - Il parametro operator identifica l'operatore matematico da utilizzare, tra ADD, SUBSTRCT, MULTIPLY e DIVIDE (vedi funzione LOOP).
    - Il parametro operand specifica il secondo operando dell'operazione matematica da eseguire, e può essere una qualsiasi espressione (valore numerico, risultato di un'altra funzione, ecc.).
    - I parametri minimumValue e maximumValue rappresentano l'eventuale range minimo e massimo dei valori in uscita dalla funzione. Se non è necessario limitare il valore minimo o massimo del risultato, è possibile utilizzare NAN. NAN è una nuova costante, che reppresenta "Not A Number", cioè un valore non numerico, utile quando quel particolare valore non deve essere utilizzato.


    Il seguente esempio di EasyLanguage:

    // Alla prima barra viene caricato in EntryLB un valore iniziale di 20
    -
    if CurrentBar = 1 Then EntryLB = 20;
    -
    // Quindi si carica in YestEntryLB il valore di EntryLB precedente, che verrà poi modificato
    // nelle istruzioni successive. Ed è questo il grande limite di beeTrader di cui parlavo.
    // beeTrader questo attualmente non lo può fare, o almeno io non ho ancora trovato il modo.
    -
    YestEntryLB = EntryLB;
    -
    // Quindi viene modificato EntryLB che dovrà essere utilizzato per calcolare
    // alla "prossima" barra il valore della linea precedente. Non possibile nel vettoriale !!!
    EntryLB = YestEntryLB * (1 + DeltaHistVol);
    EntryLB = MaxList(EntryLB, MinLB);
    EntryLB = MinList(EntryLB, MaxLB);
    può essere quindi tradotto in:

    SET EntryLB = BARLOOP(20, 1, MULTIPLY, (1 + DeltaHistVol), MinLB, MaxLB)
    Restituisce un valore numerico calcolato progressivamente, barra per barra. Il calcolo utilizza 20 come valore iniziale. Il numero 1 rappresenta il valore della barra precedente, che viene moltiplicato per (1 + DeltaHistVol), e limitato entro il range MinLB e MaxLB.


    Max Francario

  3. #3

    Data Registrazione
    Apr 2010
    Messaggi
    800
    Ottimo......
    Aspettiamo la nuova Release con trepidazione...
    --- Trend my Friend ---

  4. #4
    L'avatar di Andrea Cagalli
    Data Registrazione
    Oct 2010
    Località
    Svizzera
    Messaggi
    3,995
    Citazione Originariamente Scritto da Thalos Visualizza Messaggio
    Ottimo......
    Aspettiamo la nuova Release con trepidazione...
    Spegni beeTrader e riavvia!

  5. #5

    Data Registrazione
    Apr 2010
    Messaggi
    800
    Ok scaricato,
    ora bisogna mettere insieme tutti i pezzi del Puzzle e dovrebbe venire fuori il listato corretto e funzionante...
    --- Trend my Friend ---

  6. #6

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    Salve,
    nella release di oggi verrà aggiunta una funzione specifica per l'iterazione barra per barra:

    BARLOOP ( initialValue, offset, operator, operand, minimumValue, maximumValue )
    Tutti i parametri, ad eccezione di initialValue, possono essere delle qualsiasi espressioni valide in EasyScript.

    - Il parametro initialValue rappresenta il valore iniziale da utilizzare nel calcolo: può essere un qualsiasi valore numerico.
    - Il parametro offset specifica il numero di barre trascorse a cui voglio riferirmi, deve essere un valore positivo.
    - Il parametro operator identifica l'operatore matematico da utilizzare, tra ADD, SUBSTRCT, MULTIPLY e DIVIDE (vedi funzione LOOP).
    - Il parametro operand specifica il secondo operando dell'operazione matematica da eseguire, e può essere una qualsiasi espressione (valore numerico, risultato di un'altra funzione, ecc.).
    - I parametri minimumValue e maximumValue rappresentano l'eventuale range minimo e massimo dei valori in uscita dalla funzione. Se non è necessario limitare il valore minimo o massimo del risultato, è possibile utilizzare NAN. NAN è una nuova costante, che reppresenta "Not A Number", cioè un valore non numerico, utile quando quel particolare valore non deve essere utilizzato.


    Il seguente esempio di EasyLanguage:



    può essere quindi tradotto in:

    SET EntryLB = BARLOOP(20, 1, MULTIPLY, (1 + DeltaHistVol), MinLB, MaxLB)
    Restituisce un valore numerico calcolato progressivamente, barra per barra. Il calcolo utilizza 20 come valore iniziale. Il numero 1 rappresenta il valore della barra precedente, che viene moltiplicato per (1 + DeltaHistVol), e limitato entro il range MinLB e MaxLB.


    Max Francario
    Salve Max,
    sto tentando di usare la nuova funzione per tradurre il codice in EasyScript,
    ma mi sono incastrato su un messaggio d'errore.
    Ho scritto il seguente codice:
    # Volatilità Thalos
    INPUTS: @MaxLB(60), @MinLB(20)
    SET HistVol= SDV(CLOSE, 30, 1, SIMPLE)
    SET YestHistVol = REF(HistVol, 1)
    SET DeltaHistVol = (HistVol - YestHistVol)/HistVol
    SET EntryLB = BARLOOP (20 , 1, MULTIPLY , (1 + DeltaHistVol),@MinLB, @MaxLB)
    ....
    ma mi segnala Error Division by Zero per la linea
    SET DeltaHistVol = (HistVol - YestHistVol)/HistVol
    e non riesco a trovare il modo di superare l'intoppo.
    Potresti suggerirmi come fare ?
    Grazie
    Saluti
    Massimo
    P.S.
    Ho provato anche con:
    SET DeltaHistVol = IF ( (YestHistVol <> 0) , (HistVol - YestHistVol)/HistVol , 0)
    ma segnala sempre errore Division by zero
    Ultima modifica di maxmax68; 22-10-13 alle 01:20

  7. #7
    L'avatar di Marco Bosco
    Data Registrazione
    Sep 2012
    Località
    Pistoia
    Messaggi
    419
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Salve Max,
    sto tentando di usare la nuova funzione per tradurre il codice in EasyScript,
    ma mi sono incastrato su un messaggio d'errore.
    Ho scritto il seguente codice:
    # Volatilità Thalos
    INPUTS: @MaxLB(60), @MinLB(20)
    SET HistVol= SDV(CLOSE, 30, 1, SIMPLE)
    SET YestHistVol = REF(HistVol, 1)
    SET DeltaHistVol = (HistVol - YestHistVol)/HistVol
    SET EntryLB = BARLOOP (20 , 1, MULTIPLY , (1 + DeltaHistVol),@MinLB, @MaxLB)
    ....
    ma mi segnala Error Division by Zero per la linea
    SET DeltaHistVol = (HistVol - YestHistVol)/HistVol
    e non riesco a trovare il modo di superare l'intoppo.
    Potresti suggerirmi come fare ?
    Grazie
    Saluti
    Massimo
    P.S.
    Ho provato anche con:
    SET DeltaHistVol = IF ( (YestHistVol <> 0) , (HistVol - YestHistVol)/HistVol , 0)
    ma segnala sempre errore Division by zero

    Buongiorno maxmax68,
    ho notato che Massimiliano ha risposto ad una domanda analoga che si trova a questo post:

    http://www.playoptions.it/vbforum/sh...5890#post65890

    buona giornata,
    Marco
    I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L’insieme dei due costituisce una forza incalcolabile. (Albert Einstein)

  8. #8
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Salve Max,
    sto tentando di usare la nuova funzione per tradurre il codice in EasyScript,
    ma mi sono incastrato su un messaggio d'errore.
    Ho scritto il seguente codice:
    # Volatilità Thalos
    INPUTS: @MaxLB(60), @MinLB(20)
    SET HistVol= SDV(CLOSE, 30, 1, SIMPLE)
    SET YestHistVol = REF(HistVol, 1)
    SET DeltaHistVol = (HistVol - YestHistVol)/HistVol
    SET EntryLB = BARLOOP (20 , 1, MULTIPLY , (1 + DeltaHistVol),@MinLB, @MaxLB)
    ....
    ma mi segnala Error Division by Zero per la linea
    SET DeltaHistVol = (HistVol - YestHistVol)/HistVol
    e non riesco a trovare il modo di superare l'intoppo.
    Potresti suggerirmi come fare ?
    Grazie
    Saluti
    Massimo
    P.S.
    Ho provato anche con:
    SET DeltaHistVol = IF ( (YestHistVol <> 0) , (HistVol - YestHistVol)/HistVol , 0)
    ma segnala sempre errore Division by zero
    Si, ho provato anch'io con l'artifizio indicato da Max ma non ha funzionato però puoi risolvere in maniera meno elegante con un altro artificio ovvero basta che aggiungi alla definizione della HistVol una piccola ininfluente quantità infinitesimale in modo che il risultato sia sempre diverso da zero e non ci sono problemi poi di divisione al denominatore nella successiva definizione della DeltaHistVol.

    la riga diventa quindi
    SET HistVol= SDV(CLOSE, 30, 1, SIMPLE)+0.0001
    tutto il resto rimane invariato

    Apo
    Ultima modifica di Apocalips; 22-10-13 alle 11:16
    ....non si desidera ciò che è facile ottenere (Ovidio)....

  9. #9
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,169
    Citazione Originariamente Scritto da Apocalips Visualizza Messaggio
    Si, ho provato anch'io con l'artifizio indicato da Max ma non ha funzionato però puoi risolvere in maniera meno elegante con un altro artificio ovvero basta che aggiungi alla definizione della HistVol una piccola ininfluente quantità infinitesimale in modo che il risultato sia sempre diverso da zero e non ci sono problemi poi di divisione al denominatore nella successiva definizione della DeltaHistVol.

    la riga diventa quindi
    SET HistVol= SDV(CLOSE, 30, 1, SIMPLE)+0.0001
    tutto il resto rimane invariato

    Apo
    Bella mossa Apo!
    ..se corri dietro a due lepri, non ne prendi nemmeno una.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Contattaci

Chiama gli esperti
+39 0425 792923

Chiamaci
Email

Richiedi informazioni via E-MAIL
info@playoptions.it

Scrivici
Nostri Uffici

Vieni a trovarci
45100 Rovigo

Contattaci

Serve Aiuto?

Contattaci per maggiori informazioni.

Denis MorettoSpecialista Finanziario
Contattaci
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.