Discussione: Multi TimeFrame nello stesso Script. E' possibile ?
Visualizzazione Ibrida
-
10-10-13, 20:57 #1
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
Multi TimeFrame nello stesso Script. E' possibile ?
Buonasera a tutti,
in ogni chart al momento è possibile caricare una sola serie di dati, giusto ?
Quindi se aperta una chart con timeframe di un minuto volessi conoscere, per esempio, il prezzo di chiusura del giorno prima come dovrei fare ?
Esiste una funzione già disponibile ?
Se come credo la risposta è no, per eventuali release future, vi chiederei di iniziare a pensare a qualcosa.
Spesso infatti nei trading system si fa uso di calcoli operati su diversi timeframe dello stesso simbolo.
Saluti
Massimo
-
11-10-13, 10:38 #2
Salve,
Al momento attuale non è possibile creare script che lavorino su più timeframe contemporaneamente.
E' già presente nella nostra task list la possibilità di aggiungere più strumenti contemporaneamente sullo stesso grafico, anche con timeframe diversi, e di conseguenza di poter utilizzare questi strumenti anche sullo script.
Max Francario
-
11-10-13, 15:13 #3
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
Salve Max, ok.
Nel frattempo forse ci si può arrangiare così.
Certo sarebbe meglio se fosse possibile creare dei vettori che non vengono aggiornati ad ogni barra,
ma solo all'avverarsi della condizione, perché questo permetterebbe con il ref 1, 2, 3, etc
di andare in questo caso a ripescare il valore del close del giorno prima, o l'altro ieri, etc ....
Visto che Lei è il programmatore di beeTrader, ne approfitto per una domanda che ho in testa dal primo giorno
che ho cominciato ad usare EasyScript.
Perché avete scelto la modalità vettoriale ?
Che tipo di vantaggio apporta rispetto ai linguaggi tradizionali ?
Da profano quale sono mi sembra che questa modalità comporti numerose limitazioni, più che vantaggi.
Sicuramente mi sbaglio e Lei saprà spiegarmi il perché.
Saluti
Massimo
# Assign the indicator values to the PLOTx variables like in the following example: # SET PLOT1 = SimpleMovingAverage(CLOSE, 14) SET A=REF(CLOSE, 1) SET B=DATE SET C=REF(DATE, 1) SET D=CHANGEIF(B != C, A) SET PLOT1=D
-
11-10-13, 15:45 #4
- Data Registrazione
- Dec 2009
- Messaggi
- 813
Io invece da utonto quale sono trovo che questo linguaggio sia MOLTO ma MOLTO piu' intuitivo e semplice da utilizzare per un trader con limitate capacità di programmazione, credo quindi che la scelta del linguaggio vettoriale sia stata dettata in primis da questo motivo, Playoptions ha sempre tentato di rendere semplice e alla portata di tutti qualcosa che nasce complicato per definizione come ad esempio il trading in opzioni! L'esempio del manuale a mio avviso vuole sottolineare proprio questo aspetto che differenzia il linguaggio easyscript da tutti gli altri linguaggi di programmazione:
A titolo di esempio, per calcolare una Simple Moving Average sulla base del prezzo medio di un titolo a 30 periodi, in un linguaggio di programmazione tradizionale come BASIC sarebbe necessario scrivere un programma simile a questo:
For bar = 30 to max
Average = 0
For n = bar - 30 to bar
median = (CLOSE + OPEN) / 2
Average = Average + median
Next
MedianAverage(bar) = Average / 30
Next bar
Con EasyScript® si può ottenere lo stesso risultato scrivendo:
SET MedianAverage = SimpleMovingAverage ((CLOSE + OPEN) / 2, 30)
Ed ora MedianAverage è un nuovo vettore che contiene la Simple Moving Average a 30 periodi del prezzo medio dello strumento in ogni punto.
Non è raro trovare esempi di programmazione vettoriale costituiti da una singola linea di codice che richiedono più di un paio di pagine di BASIC, Java o C++.
Ultima modifica di CIVT; 11-10-13 alle 15:58
-
11-10-13, 16:41 #5
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
Ragazzi non scherziamo !!!
In EasyLanguage è semplicemente:
MedianAverage = Average(Close,9);
in EFS :
MedianAverage = sma(close,9);
L'età della pietra è finita da un pezzo.
Il linguaggio C Sharp, quello si che è complicato.
Nonostante ci tenti da qualche anno non sono ancora riuscito ad apprenderlo.
Saluti
Massimo
-
12-10-13, 13:12 #6
- Data Registrazione
- Jan 2008
- Messaggi
- 1,003
-
11-10-13, 15:57 #7
Salve Massimo,
come avrà notato, da questa release è presente la funzione CHANGEIF che fa esattamente quanto aveva richiesto.
Per venire incontro alle vostre necessità, inoltre, stiamo facendo in modo che dove adesso si è obbligati ad usare un valore numerico, sia possibile utilizzare un vettore, in modo da fornire una maggiore flessibilità al linguaggio.
Relativamente alla scelta del linguaggio di tipo vettoriale, come già altri hanno fatto notare, la facilità di apprendimento per gli utenti alle prime armi è inarrivabile rispetto ad un linguaggio tradizionale.
Ovviamente c'è anche il rovescio della medaglia, e cioè una generale "staticità" del linguaggio.
Proprio per questo, sempre nella nostra task list per il futuro, in questo caso a medio termine, c'è un "pallino" bello grosso ed evidenziato, che recita: "Implementare linguaggio di scripting tramite .NET". Questo significa che, quando sarà implementato questo sistema, gli utenti potranno implementare funzioni, indicatori, segnali e quant'altro in un qualsiasi linguaggio supportato dal framework .NET, a patto di rispettare una specifica interfaccia. Avremo quindi a disposizione due sistemi: da una parte EasyScript per gli utenti "non programmatori", e dall'altra .NET per gli utenti "programmatori".
Max FrancarioUltima modifica di Francario Massimiliano; 11-10-13 alle 16:00
-
16-12-13, 07:41 #8
-
16-12-13, 10:28 #9
- Data Registrazione
- Dec 2009
- Messaggi
- 813
Ciao Family, io tempo fà ho ovviato caricando sullo stesso TF orario le SMA daily, nel caso in esame la SMA 20 Daily dovrebbe corrispondere a circa la SMA 220 oraria e lanalogamente la SMA 60 oraria dovrebbe corrispondere alla SMA 660, l'unico problema è che serve uno storico che va molto indietro con le barre orarie, in questo caso oltre le 660.
Può funzionare?Ultima modifica di CIVT; 16-12-13 alle 10:33
-
16-12-13, 10:37 #10
buongiorno CIVT
-confermo, per il momento non è possibile leggere dallo stesso script TF differenti.
-Il tuo ragionamento è logicamente corretto, per il momento puoi tamponare con quella tecnica. Bravo
PS. Inoltre si può mettere su qualche trucchetto utilizzando le funzioni data e ora , restringendo quindi le condizioni da valutare solo in certi "momenti"..
saluti,
MarcoI 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)