Discussione: If-then-else, for loop, blocchi di istruzioni {}
Visualizzazione Ibrida
-
07-10-13, 22:13 #1I 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)
-
07-10-13, 22:58 #2
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao Marco,
(sono Marco anche io! )
il mio esempio di prima era semplicemente per chiedere come si fa con EasyScript, quando si devono calcolare iterativamente i valori di un vettore, ad assegnare al valore su un certo indice il valore che aveva sull'indice precedente.
-
08-10-13, 11:16 #3
ciao Marco,
prova a fare uno sforzo mentale.
Il linguaggio non è imperativo ma vettoriale.
Ogni riga viene eseguita per tutte le barre e poi si passa alla riga successiva.
Quando tu chiedi di eseguire:
SET Vector = IF(Condition,HIGH, REF(Vector,1))
E come ti ha spiegato Max, il codice viene eseguito per ogni riga di istruzione su tutte le barre...il vettore che vuoi passare come 3° parametro alla funzione IF non esiste ancora... perche dipende da VECTOR , che lo stai ancora calcolando...
Prova a rileggere ciò che ti ho scritto:
SET MyWindowedMAX = MAX(close, 200)
MAX (che è una funzione) calcola "..i valori di un vettore...ed assegnare al valore su un certo indice il valore ...in funzione degli indici precedenti...
Ho riportato MAX perchè è già pronta e fa proprio quello che chiedevi nell'esempio
Ma tu puoi fare una qualsiasi altra funzione come MAX.
La funzione MAX internamente fa proprio quello che dici: PER OGNI Barra, Controlla TUTTE (200 nell'esempio) le barre precedenti e AGGIORNA il Valore DI MAX.
In ogni istante hai accesso alle barre predenti.
Quindi puoi costruire un vettore e Indice per Indice ...via via che trascorre il tempo puoi definire il valore di quell'indice in funzione delle barre precedenti.
Ovviamente non puoi andare a cambiare il valore di un vettore ad un certo indice i quando sei ad un indice > i
Altrimenti vuol dire che quel valore dipende da un evento futuro...e purtroppo ancora non siamo in grado di verificare una condizione nel futuro per prendere un azione nel passato...chissà forse ci arriveremo
ciao,MarcoUltima modifica di Marco Bosco; 08-10-13 alle 11:24
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)
-
08-10-13, 13:00 #4
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ti chiedo scusa nel caso in cui non avessi capito bene:
mi dici di utilizzare un qualcosa del tipo MAX(HIGH, n) ???
Riferendomi all'esempio che avevo postato in precedenza, ti faccio un esempio numerico:
30 30
40 40
60 60
70 70
50 70
60 60
50 60 <----- servirebbe Max a 2 o 3 periodi (se fosse a 4 periodi restituirebbe 70 !!!)
40 60 <----- servirebbe Max a 3 o 4 periodi (se fosse a 5 periodi restituirebbe 70, a 2 darebbe 50 !!!)
30 60 <----- servirebbe Max a 4 o 5 periodi (se fosse a 6 periodi restituirebbe 70, a 3 darebbe 50 !!!)
40 40
50 50
60 60
A sinistra ho riportato un ipotetico vettore degli HIGH, mentre a destra ho riportato i valori del vettore che dovrebbe calcolare la funzione che volevo costruire io.
Allora ti chiedo:
a quanti periodi lo devo settare il Max?Ultima modifica di Smash; 08-10-13 alle 13:21
-
08-10-13, 13:08 #5
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
Ciao ragazzi,
scusate se mi intrometto, ma a mio parere il punto fondamentale è il seguente:
A parte i già utilizzatori di Fiuto e BeeTrader probabilmente già abituati a ragionare in modo vettoriale, quasi tutti gli altri, i nuovi utenti, arrivano da piattaforme che vengono programmate con linguaggi "tradizionali" tipo EasyLanguage, EFS, Java o C++, etc ...
Siamo tutti da anni abituati a ragionare che per ogni barra del grafico vengono passate tutte le linee del programma, e poi si passa alla barra successiva.
Completamente un altro mondo.
Ora arriva questa modalità vettoriale che implica un completo sovvertimento del modo di ragionare e degli schemi di programmazione, che francamente mi , e credo ci, ha totalmente spiazzato.
Spero che il team di beeTrader sia abbastanza saggio e lungimirante dal comprendere questa difficoltà dei nuovi utenti, e che fornisca un supporto alla programmazione adeguato, possibilmente innondando il forum di esempi anche complessi di programmazione da analizzare e comprendere.
Meglio evitare risposte del tipo: provaci da solo che impari meglio.
Altrimenti il rischio è che gli utenti si scoraggino e tornino alla loro vecchia piattaforma.
Cordialmente
Massimo
-
08-10-13, 13:32 #6
- Data Registrazione
- Mar 2011
- Messaggi
- 717
mi permetto solo di scriverti perchè vedo che sei un nuovo utente di questa community, e sinceramente in più di 2 anni che la frequento nessuno mi ha mai risposto con frasi banali come quella che hai citato tu.
Stai pure tranquillo che qui la professionalità è di casa e di qualsiasi cosa tu abbia bisogno chiedi e sarai sicuro che il massimo che si può fare lo faranno.
Ti parlo per esperienza personale.
-
08-10-13, 14:14 #7
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
-
08-10-13, 13:58 #8
Ciao maxmax68,
hai perfettamente ragione!
Tieni anche conto che il SW, e quindi il nuovo linguaggio, non ha nemmeno una settimana di vita...
Lasciamogli il tempo di presentarsi!
Per le ragioni che hai detto conoscendo le persone di PlayOptions, e come avrai modo di conoscerle e farti sorprendere anche tu, credo proprio che saranno già al lavoro per fare quello che hai chiesto.
ciao,
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)
-
08-10-13, 15:01 #9
Caro Massimo, ti ringrazio per le lezioni di marketing ma per la mia ditta è impossibile innondare il forum di esempi.
Che il linguaggio sia totalmente diverso è proprio il motivo per cui deve essere apprezzato beeTrader e ti spiego:
io sono un trdader e non un programmatore, le mie esigenze, che dovrebbero combaciare con le tue, sono di avere un prodotto che dia la possibilità di scrivere ciò che io faccio manualmente.
Se questo l'avessi trovato in altri software non avrei investito tante risorse per costruirne uno mio.
Il cambiamento è epocale, lo stai scrivendo tu e concordo.
La mia frase "prova e impara" voleva essere costruttiva e non inutile come scrivi tu.
Io penso, a sessant'anni, che costruire ed imparare assieme sia meglio.
Sei bravo a programmare, capisci il linguaggio, hai delle idee, bene, allora sei il benvenuto a darci una mano a far crescere gli altri utenti con meno esperienza...se corri dietro a due lepri, non ne prendi nemmeno una.
-
08-10-13, 20:16 #10
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
Caro Tiziano,
qui lei è il padrone di casa,
ma per cortesia non mi metta in bocca cose che non ho detto. Rilegga meglio il mio post.
Non mi permetto di dare lezioni a nessuno,
semplicemente cerco di apportare idee e consigli costruttivi.
Tornando al semplice indicatore che avevo richiesto,
vorrei capire se attualmente con EasyScript sia possibile realizzarlo.
Dalla post di Max Francario poco più sopra, pare che attualmente la risposta sia no (mancanza istruzione changeif).
Inoltre visto che a Milano aveva preso degli impegni precisi in merito alla stesura di programmi fino a 50 righe, mi aspetto che onori gli impegni.
Grazie per l'attenzione.
Saluti
Massimo Rizzi