Visual Trader T.S. : Problemi & Soluzioni

TRADERLINK

Nuovo Utente
Registrato
26/3/01
Messaggi
4.241
Punti reazioni
87
Thread momentaneamente riservato ai beta-tester del trading-system di Traderlink VT, che discutono utilizzando il menu "Analisi" -> "Trading System" -> "Forum..." di Visual Trader.

Su questo thread discuteremo con voi dei problemi riscontrati in generale nella versione beta, riguardanti la scrittura dei T.S. e la comprensione del linguaggio di programmazione.
 
Su un mio TS (che purtroppo utilizza molti oscilatori) i segnali rispetto alla versione 4.4.4 sono cambiati.
E' possibile avere una lista di quali oscillatori sono stati modificati rispetto a tale versione?

Riscontro inoltre ancora un vecchio problema di compilazione di oscillatori con un numero di periodi > 174

(124): Errore sulla funzione OscillatoreEsegui.
 
Scritto da berry4u
Su un mio TS (che purtroppo utilizza molti oscilatori) i segnali rispetto alla versione 4.4.4 sono cambiati.
E' possibile avere una lista di quali oscillatori sono stati modificati rispetto a tale versione?

Riscontro inoltre ancora un vecchio problema di compilazione di oscillatori con un numero di periodi > 174

(124): Errore sulla funzione OscillatoreEsegui.


Buongiorno,

in effetti sono stati modificati dei parametri nella nuova versione, ma le modifiche sono state inserite nel manuale.

Di seguito Le invio i nuovi parametri.:

val = NVI(C);
val = MACD(C, 5, 5);
val = OscV(C,2);
val = PriceOsc(C, 9, 5, S);
val = QStick(C, 14, S);
val = STOCHD(C, 14, 10, 10);
val = STOCHK(C, 14, 14);
val = Variaz(C, 0, prev);
val = Vel(C, 30, 0, 10); val = Volatility(C,10);

Cordiali Saluti.

Cinzia.
Staff TraderLink.
 
Ok..

Con la ts2 i segnali sono tornati dov'erano
 
problemi con exitlong

Allego i listati di 2 TS apperentemente identici ma si comportano in modo diverso. Il primo è quello giusto, il secondo fa cose strane ma sarebbe bello capire cosa fa perchè le performance sono più alte. E' stato testato sul DAX.

LISTATO 1

Var: OC (false); // Agggiungere qui le variabili che vi servono
OC=((O/C)>1.01);




if ( (OC =true )) Then
ColorBar(red);
endif;
SECTION_ENTERLONG:

if (OC = true ) Then
EnterLong(Bar, Atclose);
ExitLong(NextBar, AtClose);
endif;

END_SECTION


LISTATO 2

Var: OC (false);
OC=((O/C)>1.01);




if ( (OC =true )) Then
ColorBar(red);

endif;
SECTION_ENTERLONG:

if (OC = true ) Then
EnterLong(Bar, Atclose);

endif;

END_SECTION


SECTION_EXITLONG:

if (OC = true ) Then
ExitLong(NextBar, AtClose);
endif;

END_SECTION


Nessuno dei due mi disegna l'Equity Line almeno sul DAX
 
problemi con exitlong 2

Allego un altro listato, potrebbe essere anche lo stesso problema del precedente.
Ho problemi con la colorazione delle barre, perchè mi colora di giallo se macd>0 anche se è entrato long, mentre mi aspetterei che il giallo compaia solo se sono entrato short, cioè è come se non esistesse l'effetto filtro della SECTION_EXITshort:. Testato su DAX, mi disegna l'Equity line.

P.s. potrei avere dati EOD più lunghi poichè lavoro solo con circa 1 anno di storico?

{******************************************************************************
*** Esempio di Trading System
*** basato sul MACD
*******************************************************************************}
Var: val_macd(0), // Valore del MACD (media mobile base)
Indzona1(0);
// Calcolo dell'MACD base sul titolo
val_macd = MACD(C, 12, 26);

// Creo una zona, sotto al grafico, alta il 10% del grafico stesso.
Indzona1 = CreateViewport(100, true, true);

// Plotto l'oscillatore
PlotChart(val_macd, Indzona1, red, solid, 2);

SECTION_ENTERLONG:
// Acquistiamo se il valore del MACD e' maggiore di zero
if val_macd > 0 then
Colorbar(green);
EnterLong(NextBar, AtOpen); // COMPRA
endif;

END_SECTION


SECTION_EXITLONG:
// Chiudiamo se il valore del MACD e' minore di zero
if val_macd < 0 then
colorbar(yellow);
ExitLong(NextBar, AtOpen); // Liquida posizione long
endif;

END_SECTION

SECTION_ENTERshort:
// Vendiamo se il valore del MACD e' minore di zero
if val_macd < 0 then
colorbar(red);
Entershort(NextBar, AtOpen); // COMPRA
endif;

END_SECTION


SECTION_EXITshort:
// Chiudiamo se il valore del MACD e' maggiore di zero
if val_macd > 0 then
colorbar(blue);
Exitshort(NextBar, AtOpen); // Liquida posizione
endif;

END_SECTION
 
Re: problemi con exitlong

Scritto da leosusca
Allego i listati di 2 TS apperentemente identici ma si comportano in modo diverso. Il primo è quello giusto, il secondo fa cose strane ma sarebbe bello capire cosa fa perchè le performance sono più alte. E' stato testato sul DAX.

LISTATO 1

Var: OC (false); // Agggiungere qui le variabili che vi servono
OC=((O/C)>1.01);




if ( (OC =true )) Then
ColorBar(red);
endif;
SECTION_ENTERLONG:

if (OC = true ) Then
EnterLong(Bar, Atclose);
ExitLong(NextBar, AtClose);
endif;

END_SECTION


LISTATO 2

Var: OC (false);
OC=((O/C)>1.01);




if ( (OC =true )) Then
ColorBar(red);

endif;
SECTION_ENTERLONG:

if (OC = true ) Then
EnterLong(Bar, Atclose);

endif;

END_SECTION


SECTION_EXITLONG:

if (OC = true ) Then
ExitLong(NextBar, AtClose);
endif;

END_SECTION


Nessuno dei due mi disegna l'Equity Line almeno sul DAX



Ciao leosusca,
in realtà i 2 ts sono differenti nell'esecuzione da parte dell'interprete dei comandi.
Le sezioni servono per differenziare e controllare le istruzioni operative.
Nel primo ts vengono eseguiti sulla stessa barra sia l'istruzione enterlong che exitlong, applicando la prima sulla barra corrente e la seconda sulla barra successiva (nextbar).
Nel secondo ts su una barra verrà eseguita l'enterlong che viene racchiusa nell'apposita sezione. A questo punto la sezione exitlong verrà saltata ed eseguita solo nella barra successiva.
Se quindi vorrai ottenere lo stesso risultato del primo ts dovrai mettere all'interno della sezione exitlong l'istruzione:

SECTION_EXITLONG:

if (OC = true ) Then
ExitLong(Bar, AtClose);
endif;

END_SECTION


Prova così dovrebbe andar bene.
ciao
M.Mazziero
 
Re: problemi con exitlong 2

Scritto da leosusca
Allego un altro listato, potrebbe essere anche lo stesso problema del precedente.
Ho problemi con la colorazione delle barre, perchè mi colora di giallo se macd>0 anche se è entrato long, mentre mi aspetterei che il giallo compaia solo se sono entrato short, cioè è come se non esistesse l'effetto filtro della SECTION_EXITshort:. Testato su DAX, mi disegna l'Equity line.

P.s. potrei avere dati EOD più lunghi poichè lavoro solo con circa 1 anno di storico?

{******************************************************************************
*** Esempio di Trading System
*** basato sul MACD
*******************************************************************************}
Var: val_macd(0), // Valore del MACD (media mobile base)
Indzona1(0);
// Calcolo dell'MACD base sul titolo
val_macd = MACD(C, 12, 26);

// Creo una zona, sotto al grafico, alta il 10% del grafico stesso.
Indzona1 = CreateViewport(100, true, true);

// Plotto l'oscillatore
PlotChart(val_macd, Indzona1, red, solid, 2);

SECTION_ENTERLONG:
// Acquistiamo se il valore del MACD e' maggiore di zero
if val_macd > 0 then
Colorbar(green);
EnterLong(NextBar, AtOpen); // COMPRA
endif;

END_SECTION


SECTION_EXITLONG:
// Chiudiamo se il valore del MACD e' minore di zero
if val_macd < 0 then
colorbar(yellow);
ExitLong(NextBar, AtOpen); // Liquida posizione long
endif;

END_SECTION

SECTION_ENTERshort:
// Vendiamo se il valore del MACD e' minore di zero
if val_macd < 0 then
colorbar(red);
Entershort(NextBar, AtOpen); // COMPRA
endif;

END_SECTION


SECTION_EXITshort:
// Chiudiamo se il valore del MACD e' maggiore di zero
if val_macd > 0 then
colorbar(blue);
Exitshort(NextBar, AtOpen); // Liquida posizione
endif;

END_SECTION




Ciao leosusca,
puoi per cortesia allegare un grafico o indicare le date in cui ti sembra che il ts non lavori correttamente sul Dax?
ciao, grazie.
Maurizio Mazziero
 
Re: Re: problemi con exitlong 2

Scritto da M.Mazziero
Ciao leosusca,
puoi per cortesia allegare un grafico o indicare le date in cui ti sembra che il ts non lavori correttamente sul Dax?
ciao, grazie.
Maurizio Mazziero

Ti allego grafico: per esempio il 15.10.03 entra long e colora le successive barre di blu, tipiche della sezione exitShort.

A presto
 

Allegati

  • immagine222.jpg
    immagine222.jpg
    91,9 KB · Visite: 1.331
Re: Re: problemi con exitlong

Scritto da M.Mazziero
Ciao leosusca,
in realtà i 2 ts sono differenti nell'esecuzione da parte dell'interprete dei comandi.
Le sezioni servono per differenziare e controllare le istruzioni operative.
Nel primo ts vengono eseguiti sulla stessa barra sia l'istruzione enterlong che exitlong, applicando la prima sulla barra corrente e la seconda sulla barra successiva (nextbar).
Nel secondo ts su una barra verrà eseguita l'enterlong che viene racchiusa nell'apposita sezione. A questo punto la sezione exitlong verrà saltata ed eseguita solo nella barra successiva.
Se quindi vorrai ottenere lo stesso risultato del primo ts dovrai mettere all'interno della sezione exitlong l'istruzione:

SECTION_EXITLONG:

if (OC = true ) Then
ExitLong(Bar, AtClose);
endif;

END_SECTION


Prova così dovrebbe andar bene.

Non mi funziona. allego grafico
ciao
M.Mazziero
 

Allegati

  • immagine11.jpg
    immagine11.jpg
    77,7 KB · Visite: 1.316
Re: Re: Re: problemi con exitlong 2

Scritto da leosusca
Ti allego grafico: per esempio il 15.10.03 entra long e colora le successive barre di blu, tipiche della sezione exitShort.

A presto

A mio modesto parere la logica dovrebbe essere che quando tu apri la posizione long vengono processate in sequenza le sezioni enterlong ed exitshort quindi ti la colora la sequenza prima di verde e poi di blu (che è il colore che permane). Allo stesso modo nel caso inverso con rosso e giallo.
Ciao
M.Mazziero
 
Re: Re: Re: problemi con exitlong

Scritto da leosusca

Problema 2 ts differenti:

Allora attendiamo lumi da TRADERLINK.
Ciao
M.Mazziero
 
Re: Re: Re: Re: problemi con exitlong 2

Credo, invece che la logica sia che il sistema processi contemporaneamente la sezione Enterlong e ExitLong (perchè deve processare la exitshort se non è entrato short?).

Ciao
Leo Susca
 
Re: Re: Re: Re: Re: problemi con exitlong 2

Scritto da leosusca
Credo, invece che la logica sia che il sistema processi contemporaneamente la sezione Enterlong e ExitLong (perchè deve processare la exitshort se non è entrato short?).

Ciao
Leo Susca


A meno che non siano state fatte delle modifiche a me risultava che le sezioni processino su barre successive. Infatti per far entrare e uscire il sistema sulla stessa barra utilizzo le istruzioni di enter e di exit al di fuori delle sezioni.

Aspettiamo anche su questa cosa lumi da TRADERLINK.

ciao
M.Mazziero
 
Re: Re: Re: problemi con exitlong

Sul perche' il listato 1 ed il listato 2 danno risultati diversi:

Nel primo listato c'e' scritto:


SECTION_ENTERLONG:
if (OC = true ) Then
EnterLong(Bar, Atclose);
ExitLong(NextBar, AtClose);
endif;
END_SECTION

cioe', con UNA UNICA CONDIZIONE si acquista sicuramente oggi e si vende SICURAMENTE domani.
Invece nel listato 2 c'e' una clausola di uscita CONDIZIONATA:

SECTION_EXITLONG:
if (OC = true ) Then
ExitLong(NextBar, AtClose);
endif;
END_SECTION

questa sintassi ha due problemi:
1) C'e' scritto "NextBar". Maurizio Mazziero ha giustamente corretto in "bar", dato che l'exit sta gia' girando sulla barra successiva.

2) Ma rimane la condizione "if (OC = true )" e dato che stiamo girando sulla barra successiva non e' detto che la condizione sia ancora vera. Di fatto spesso non lo e', e quindi l'exit non avviene subito sulla barra successiva, ma sulla successiva per cui la condizione "OC = True" e' vera.

Cosi' "a spanne" (ammetto di non averla provata nel ts...) direi che la clausola di uscita deve essere:

SECTION_EXITLONG:
ExitLong(NextBar, AtClose);
END_SECTION

cioe' PERENTORIA, senza condizioni: siamo gia' sulla barra successiva, siamo LONG, quindi chiudiamo la posizione senza altre condizioni.


cordialita'
Mauro Pratelli
TraderLink
Rimini
 
Re: problemi con exitlong 2

Scritto da leosusca


<<<
Listato in cui, quando si è in Short, disegna comunque la candela di giallo (della condizione exitlong, quindi errata):
>>>

{******************************************************************************
*** Esempio di Trading System
*** basato sul MACD
*******************************************************************************}
Var: val_macd(0), // Valore del MACD (media mobile base)
Indzona1(0);
// Calcolo dell'MACD base sul titolo
val_macd = MACD(C, 12, 26);

// Creo una zona, sotto al grafico, alta il 10% del grafico stesso.
Indzona1 = CreateViewport(100, true, true);

// Plotto l'oscillatore
PlotChart(val_macd, Indzona1, red, solid, 2);

SECTION_ENTERLONG:
// Acquistiamo se il valore del MACD e' maggiore di zero
if val_macd > 0 then
Colorbar(green);
EnterLong(NextBar, AtOpen); // COMPRA
endif;

END_SECTION


SECTION_EXITLONG:
// Chiudiamo se il valore del MACD e' minore di zero
if val_macd < 0 then
colorbar(yellow);
ExitLong(NextBar, AtOpen); // Liquida posizione long
endif;

END_SECTION

SECTION_ENTERshort:
// Vendiamo se il valore del MACD e' minore di zero
if val_macd < 0 then
colorbar(red);
Entershort(NextBar, AtOpen); // COMPRA
endif;

END_SECTION


SECTION_EXITshort:
// Chiudiamo se il valore del MACD e' maggiore di zero
if val_macd > 0 then
colorbar(blue);
Exitshort(NextBar, AtOpen); // Liquida posizione
endif;

END_SECTION

L'anomalia è stata verificata e risolta.
Il problema risiede sul fatto che la sezione EXITLONG, viene eseguita anche se si è Short, pertanto è un Bug del programma.

Comuque l'ExitLong non veniva fatto, poichè c'è un controllo successivo, ma veniva colorato la barra di giallo.

Pertanto:
Problema risolto col prossimo aggiornamento.

Grazie ancora per la Segnalazione

Cordiali Saluti
Staff Traderlink
 
come si fa a togliere l'icona del ts sul grafico???
 

Allegati

  • icona ts.png
    icona ts.png
    1,2 KB · Visite: 462
Scritto da lele2
come si fa a togliere l'icona del ts sul grafico???

Buongiorno,

per il momento questa icona non si toglie.

Cordiali Saluti.

Cinzia.
Staff TraderLink.
 
informazione

if media21 < media8
then
EnterLong(Bar, Atclose); // COMPRA
endif;


END_SECTION


SECTION_EXITLONG:
// Vendiamo se il sar scende sotto le medie
if
val_sar > media21

then
ExitLong(Bar, atclose); // Liquida posizione long
endif;
END_SECTION
scritto cosi da il via a troppe operazioni anxiche ad una sola
allego grafo
 

Allegati

  • domsar.gif
    55,9 KB · Visite: 397
Re: informazione

Scritto da lipana

...............
scritto cosi da il via a troppe operazioni anxiche ad una sola
allego grafo
................
Molto difficile seguire cosi' la cosa... ha possibilita' di postare il TS per intero, in modo da applicarlo in locale e fare delle prove ?

cordialita'

Mauro Pratelli
TraderLink
Rimini
 
Indietro