Skarso
Forumer attivo
(Per curiosità, posso chiederti se anche con P.A.T. ce l'hai su?)
PAT è una delle persone + preparate e colte che io conosca . . .
![Pollice su! :up: :up:](/images/smilies/thumbsup.gif)
proprio non ci sono paragoni con un barbiere ignorante e malato di protagonismo . . .
(Per curiosità, posso chiederti se anche con P.A.T. ce l'hai su?)
Ho trovato un paio di errori nel mio codice che nessuno ha segnalato, fortuna che ci siete voi a guardarmi le spalle
Ho implementato la finestra, ma c'è ancora qualcosa che non va nella prima parte!
Edit: forse sono i dati che non sono a posto... vedremo...
PAT è una delle persone + preparate e colte che io conosca . . .![]()
Infatti ho commentato tutta la seconda parte...Ciao ender, ieri sera ho provato il tuo codice. Avrei alcuni suggerimenti.
1. Per vedere se funziona applicherei le regole del foglio di skarso, quindi partirei dalla regola canonica della differenza tra le chiusure DJ per comprare il FIB in chiusura e rivenderlo all'apertura. Mi pare che ora non sia così. La "taratura" del kappa1 secondo me può anche essere fatta successivamente.
Credo che manchi l'orario di entrata nella condizione di buy (ore 17.00?)2. Ho controllato i dati e mi pare che tornino con quelli del foglio di skarso
3. Il backtest del tuo codice compra alla mattina e rivende la mattina successiva. C'è qualcosa che non va o che non capisco io?
Multiple Time Frame supportPurtroppo non sono ancora in grado di modificare il tuo codice scrivendo "bene" come fai tu, altrimenti l'avrei fatto. Per esempio non sono ancora capace di mescolare due serie di dati, una a TF 30 min e una a 15...![]()
Infatti ho commentato tutta la seconda parte...
Credo che manchi l'orario di entrata nella condizione di buy (ore 17.00?)
Ho trovato un paio di errori nel mio codice che nessuno ha segnalato, fortuna che ci siete voi a guardarmi le spalle![]()
Per riempire il vettore ydj_1:
//Colonna F
Predittore_Open = Foreign( "DOW60-30m", "Open" );
Predittore_Open_Daily = IIf( cambiogiorno == 1, Predittore_Open, 0 );
Predittore_Open_Daily = ValueWhen( Predittore_Open_Daily != 0, Predittore_Open_Daily );
ydj_1 = 100 * ( ( Predittore_Open_Daily / Ref( Predittore_Open_Daily, -1 ) - 1 ) );//calcolo lo yield open VS open del DJ
ydj_1 = ValueWhen( ydj_1 != 0, ydj_1 );
dipende dal timeframe che vogliamo usarePer sistemare l'orario:
Buy = inputx < kappa AND TimeNum()==174000;![]()
RicontrolloPer riempire il vettore ydj_1:
//Colonna F
Predittore_Open = Foreign( "DOW60-30m", "Open" );
Predittore_Open_Daily = IIf( cambiogiorno == 1, Predittore_Open, 0 );
Predittore_Open_Daily = ValueWhen( Predittore_Open_Daily != 0, Predittore_Open_Daily );
ydj_1 = 100 * ( ( Predittore_Open_Daily / Ref( Predittore_Open_Daily, -1 ) - 1 ) );//calcolo lo yield open VS open del DJ
ydj_1 = ValueWhen( ydj_1 != 0, ydj_1 );
Errorino....
//Colonna L
inputx = IIf( dvstx == 0, 0, ( ydj_1 - avgrx ) / dvstx );
Il codice non è per nulla ottimizzato per l'esecuzione, ho solo cercato di rendelo il più semplice possibile da leggere.Con rispetto, immagino che le mie modifiche non siano scritte nel modo più elegante possibile
Lascio ovviamente a te le ottimizzazioni nella scrittura del codice.
I miei pasticci sono nel file XXXXX_test_reef.afl
Il tuo non lo tocco. Grazie delle dritte
![]()
Non hai ancora visto il Custom Backtester: Porfolio Backtester Interface ReferenceSolo questo varrebbe l'acquisto di Ami
Ops, siamo su una discussione "Programmazione Excel"![]()
Non avevo sottomano le serie storiche, per cui non avevo ancora scritto il richiamo alla serie storica esterna. L'ho fatto ieri!Io ho guardato il tuo codice.... ma non mi ci sono ritrovato (come mi capita
quasi sempre con il codice di altri... ) ed ho dato la colpa alla frettolosità con cui avevo letto il tutto ed ho lascito perdere.(ok ok ho anche perso un poco di interesse su questo filone per motivi che non è il caso di approndire qui, altrimenti vado troppo OT).
In particolare,
.........dato che il segnale di BUY dipende da "inputx";
........ dato che "inputx" è sostanzialmente funzione del un solo argomento " [FONT="]ydj_1[/FONT]"
............. mi sarei aspettato che esso fosse generato con una funzione "foreign" ai dati del DJIA... e sono rimasto un poco basito quanto mi pare che tu non sia andato oltre l'inizializzazione dell'array con l'istruzione
//Colonna Fydj_1=0;//calcolo lo yield open VS open del DJ
L'inizializzazione va bene.... ma quando riempi questo array con i rendimenti del DJIA?
Giusta domanda, lascio la parola a chi ha proposto il progetto.Però, ripeto, non ho fatto troppa attenzione..... per me di base rimane la domanda "perchè una seduta negativa del DJ dovrebbe essere bullish per il FIB"?
For my 2 cents opinion, se non si risponde a questo, tutto il resto è solo "number crunching"....
Un saluto.
ydj_1 = ValueWhen( ydj_1 != 0, ydj_1 );Per riempire il vettore ydj_1:
//Colonna F
Predittore_Open = Foreign( "DOW60-30m", "Open" );
Predittore_Open_Daily = IIf( cambiogiorno == 1, Predittore_Open, 0 );
Predittore_Open_Daily = ValueWhen( Predittore_Open_Daily != 0, Predittore_Open_Daily );
ydj_1 = 100 * ( ( Predittore_Open_Daily / Ref( Predittore_Open_Daily, -1 ) - 1 ) );//calcolo lo yield open VS open del DJ
ydj_1 = ValueWhen( ydj_1 != 0, ydj_1 );
..... per me di base rimane la domanda "perchè una seduta negativa del DJ dovrebbe essere bullish per il FIB"?
For my 2 cents opinion, se non si risponde a questo, tutto il resto è solo "number crunching"....
eh non hai guardato bene il foglio . . .![]()
in realtà nemmeno io lo sapevo, l’ ho letto su questo thread . . .
però ho verificato ed un ACF( 1 ) di ydj_1 vs yield2 pari a – 0.130 mi è sembrata una buona motivazione x provare . . .![]()