Visual Trader T.S. : Problemi & Soluzioni

Scritto da trendinrialzo
ho provato il codice qui sopra ma purtroppo non funziona, sarebbe bello provare il famoso delphic phenomenon su VT se siete riusciti a realizzarlo lo postate perfavore?

Grazie

bè li di errori ne vedo parecchi da quel poco che ho imparato, ma a parte gli errori ci mancano pure le dichiarazioni, tipo, alert cosa è?
poi...
if Setup and NB < X (un numero di barre entro cui ti attendi il rintracciamento) then
questo pezzo nn mi sembra coretto, setup nn è stato assegnato, e poi è da vedere se è giusto farlo così.

in toria sarebbe if setup=true and NB < X ...

ma posso sbagliarmi ;)
 
Scritto da lele2
bè li di errori ne vedo parecchi da quel poco che ho imparato, ma a parte gli errori ci mancano pure le dichiarazioni, tipo, alert cosa è?
poi...
if Setup and NB < X (un numero di barre entro cui ti attendi il rintracciamento) then
questo pezzo nn mi sembra coretto, setup nn è stato assegnato, e poi è da vedere se è giusto farlo così.

in toria sarebbe if setup=true and NB < X ...

ma posso sbagliarmi ;)

ho trovato questa parte di sorgente su questo thread, mi chidevo infatti se poi lo avete sistemato e perfavore me ne rendete partecipe.

Grazie
 
Scritto da trendinrialzo
ho trovato questa parte di sorgente su questo thread, mi chidevo infatti se poi lo avete sistemato e perfavore me ne rendete partecipe.

Grazie


ti capisco, ma se ti devo dire la verità, a fatica riesco a fare il mio perchè mi stufo prima, molte cose nn le so, poi per sapere le cose ke mi mancano mi ci vogliono giorni per attendere le risposte,

mi son fermato da una settimana e passa sul mio perchè mi stressa parecchio star li a trovare soluzioni su cose che nn so.
 
Scritto da trendinrialzo
ho provato il codice qui sopra ma purtroppo non funziona, sarebbe bello provare il famoso delphic phenomenon su VT se siete riusciti a realizzarlo lo postate perfavore?

Grazie

ma a parte i vari errori, il ts sopra nn fa proprio nulla, te cosa pensi ke faccia il codice sopra?

perchè ti interessa quel codice li?


cosa ti hanno detto ke serve?
 
e poi io dei fenomeni nn ne conosco in borsa :D

pure a ronaldo han tolto l'etichetta di fenomeno quindi...:D
 
Scritto da lele2
ma a parte i vari errori, il ts sopra nn fa proprio nulla, te cosa pensi ke faccia il codice sopra?

perchè ti interessa quel codice li?

cosa ti hanno detto ke serve?

se ho ben capito dovrebbe essere uno spezzone del ts delphic phenomenon, ne ho sentito parlare varie volte e mi è venuta la curiosità :yes:
 
vars: Setup(false),Alert(false),NB(0):

if (crossover MM18 – MM40) then
SetuP = True;
NB = 1; (inizia a contare il numero di barre dal crossover)
Endif;

if NB > 0 then NB = NB +1;

if Setup and NB < X (un numero di barre entro cui ti attendi il rintracciamento) then
if C < (mm18) then
alert = true;
Setup = false;
endif;
endif;

If Alert and NB < X and (prezzo sopra MM18) then
(Entra long dove decidi tu);
alert = false;
NB = 0;
enfif;

// Azzeramento dei parametri

if Setup and NB >= X then
Setup = False;
NB = 0;
Endif;

If Alert and NB >= X then
Alert = False;
NB = 0;
Endif;

Il sistema non funziona perchè innanzituto VT non riconosce VARS: bisogna scrivere semplicemente var (noterete infatti che la colorazione diviene gialla come dovrebbe essere l'inizio di ogni sezione del codice). La fine della dichiarazioni delle variabili ha i due punti anzichè il punto e virgola.
Inoltre la sintassi di CROSSOVER non è corretta. Utilizzate sempre la guida in linea che in questo caso vi spiega che:
CrossOver(DataArray1, DataArray 2): boolean
dove dataarray1 e dataarray2 sono MM18 e MM40 che però non sono dichiarate nelle variabili né assegnati.
Ci sono inoltre vari errori quali un endif scritto enfif oppure le parentesi tonde anzichè le graffe o // per i commenti.
E' invece accettato scrivere if SETUP omettendo = true che può essere sottointeso e funzionare comunque.
Trovare tutti gli errori vi sarà di utile esercizio.
Cordiali saluti,
em
 
Scritto da lele2
cmq sembra che come valore prenda solo 1 o 2, se metto altri valori il grafico delle pivot nn cambia.

In effetti abbiamo riscontrato un problema di funzionamento nelle funzioni PivotR e PivotS del Trading System. Con la prossima versione sarà sicuramente sistemato.

Scritto da trendinrialzo
ho provato il codice qui sopra ma purtroppo non funziona, sarebbe bello provare il famoso delphic phenomenon su VT se siete riusciti a realizzarlo lo postate perfavore?

Il codice non funziona a causa degli errori riportati qui sopra da Enrico Malverti.
Ad ogni modo abbiamo appena completato il primo di una serie di pacchetti contenenti altri esempi di scrittura di Trading System: contiene quattro diverse varianti di un TS che implementa il Delphic Phenomenon e verrà distribuito automaticamente a tutti gli utenti domani.

Cordiali saluti,
Staff Traderlink
 
Scritto da TRADERLINK
IAd ogni modo abbiamo appena completato il primo di una serie di pacchetti contenenti altri esempi di scrittura di Trading System: contiene quattro diverse varianti di un TS che implementa il Delphic Phenomenon e verrà distribuito automaticamente a tutti gli utenti domani.
Cordiali saluti,
Staff Traderlink

non ho ricevuto nulla, devo scaricare qualche aggiornamento?

Grazie
 
Sul Delphic Phenomenon avevo predisposto questo listato, forse mi rimaneva qualche piccolo problema... poi non ho avuto più il tempo per guardarci.
Può essere ugualmente uno spunto.
Saluti a tutti.
M.Mazziero



{************************************************************************************
© 2003 Maurizio Mazziero
Partner di Trading Library Formazione Srl

Il presente materiale ha esclusivamente finalità didattiche
e non può in alcun modo essere considerato come sollecitazione
alla raccolta del pubblico risparmio. Le tecniche e i risultati
presentati non costituiscono alcuna garanzia per l’eventuale
applicazione delle strategie descritte sui mercati reali.
L’attività speculativa comporta notevoli rischi economici
e chi la esercita lo fa sotto la propria e completa responsabilità.

Trading System: DPh long

La strategia si avvale di 2 medie mobili (1 semplice a 18 periodi
e 1 semplice a 40 periodi). Dopo il loro incrocio al rialzo si
attende che il prezzo ritracci sotto la media mobile a 18 periodi,
il successivo superamento della media costituisce il segnale di
acquisto.
Lo stop loss iniziale è costituito dalla violazione della media
a 40 periodi, una volta che la posizione va in guadagno si
procederà con un trailing stop posizionato al valore intermedio
fra la media a 40 e la media a 18 periodi.
La chiusura di posizione è determinata in trailing stop.

Questa tecnica trae spunto da strategie di autori americani
con ulteriori adattamenti al mercato italiano,
per maggiori approfondimenti è possibile consultare il libro:
IL TRADING FACILE CON LE MEDIE MOBILI
Scot Lowry
Trading Library
************************************************************************************}

Var: Sma18(0), // Media mobile
Sma40(0), // Media mobile
ParSma18(18), // Parametro media mobile
ParSma40(40), // Parametro media mobile
valuebuy(0), // prezzo di acquisto
valuesell(0), // prezzo di vendita
valuetrail(0), // valore del trailing stop
valuestop(0), // valore dello stop loss
truecompra1(0), // Flag di condizione parziale in acquisto
truecompra2(0); // Flag di condizione parziale in acquisto

// Costruzione delle medie mobili


Sma18 = MOV(Close, ParSma18, S);
Sma40 = MOV(Close, ParSma40, S);


SECTION_ENTERLONG:

if Crossover(Sma18,Sma40) then
truecompra1=1; // incrocio media 18 su 40
Colorbar(yellow); // coloro la barra per verifica primo setup
endif;

if sma18<sma40 then // se avviene un incrocio contrario ferma il setup
truecompra1=0;
Colorbar(black);
endif;

if within(H,sma40,sma18) and truecompra1=1 then // il prezzo deve scendere
truecompra2=1; // sotto la media 18
Colorbar(blue);
else
truecompra2=0; // nel caso scenda anche sotto la sma40
Colorbar(black); // si annulla il setup
endif;

if C<sma40 then // anche nel caso la chiusura sia sotto
truecompra2=0; // la sma40 si annulla il setup
Colorbar(black);
endif;

if truecompra1=1 and truecompra2=1 then // deve aprire sotto la media
valuebuy=sma18;
EnterLong(NextBar, valuebuy); // COMPRA al superamento della media a 18
valuestop=sma40; // valore dello stop loss
endif;

if Positiondir=1 then
ColorBar(green);
endif;





END_SECTION


SECTION_EXITLONG:


Colorbar(black); // forza il colore delle barre a nero

truecompra1=0;
truecompra2=0; // Azzeriamo le variabili d'acquisto


ValueTrail=Sma18-((Sma18-Sma40)/2); // valore del trailing stop


if C<Addperc(PositionValue,3) then
ValueSell=Addtick(ValueStop,-3); // Calcola il valore di Sell con lo stop
else
ValueSell=Addtick(ValueTrail,-3); // Calcola il valore di Sell con il trail
endif;

if ValueSell>L then
// se il minimo scende sotto il valore di vendita
ColorBar(red); // colorazione barra di chiusura posizione
ExitLong(Bar,ValueSell); // Liquida posizione long
if Positiondir=1 then // liquida in ogni caso se il valore viene saltato
ExitLong(Bar, Atclose);
endif;
endif;





END_SECTION
 
Scritto da M.Mazziero
Sul Delphic Phenomenon avevo predisposto questo listato, forse mi rimaneva qualche piccolo problema... poi non ho avuto più il tempo per guardarci.
Può essere ugualmente uno spunto.
Saluti a tutti.
M.Mazziero

Grazie,
Trendinrialzo
 
visto ke al momento nn ci sono nuovi esempi volevo chiedere come fare un certo calcolo un po particolare, e sperimentarlo sul ts che ogni tanto tiro avanti:D

allora, poniamo che io sono entrato long al prezzo di 5€

e ke poi gli ho detto di farmi uno stop se il prezzo è minore di 10 tick dal punto di ingresso(stoploss =positionvalue -10).

quanto sopra è già fatto, ora...


io vorrei un nuovo punto di stopprofit ad inseguire....

quindi da quando son dentro ad ogni salita di 10 tick del titolo, il nuovo stop profit deve essere incrementato di 3 tick rispetto al mio valore di ingresso (oppure al mio stop iniziale calcolato su positionvalue come sopra, poi vedo io cosa usare).


esempio, sono long a 5€, primo punto di stop è 5€ meno 10 tick, se il titolo da 5€ va a 5.1, il nuovo stop sarà 5.03 e così via.


questa sarebbe la parte semplice, la difficilotta è la seguente.


se sono dentro a 5€ il primo stop a 5€ - 10 tick, se sale di 10 tick da 5€ chiudi in stop a 5.03, se nn mi stoppa e sale di altri 9 tick da 5.03 chiudi a 5.07;

cerco di spiegare

in pratica il valore di stop di 3 tick lo chiamo (stop1) deve essere incrementato di 1 ogni volta che la condizione si ripresenta, cioè ogni volta ke sale di un certo valore, allo stesso modo, la condizione di salita di 10tick la chiamo (alert1) deve essere decrementata ogni volta ke si ripresenta fino ad arrivare al prezzo di stop1, cioè di parità ke sarà il punto di "massima resa".

allora, entro a 5€, primo stop è il prezzo di ingresso - 10 tick.


il titolo sale di 10 tick(alert1), il nuovo stop sarà 5€ + 3tick=5.03(stop1).

il titolo scende, ma nn tocca 5.03, poi risale fino a 5.03+9tick=5.12€, alert1 stavolta nn è di 10 tcik ma di 9 perchè voglio ke si decrementi ogni volta che si verifica la condizione.

bene, a sto punto stop 1 nn sarà più di 3 tick ma di 4 in quanto io voglio ke stop uno venga incrementato di 1 tick ogni volta ke alert 1 viene attivato.

quindi il nuovo stop se il titolo arriva a 5.12 sarà (5.03+ 4 tick) 5.07.

mettiamo ke continui così, il titolo nn va a 5.07 e sale ancora, stavolta alert 1 nn sarà più di 9 tick ma di 8 tick e stop 1 nn sarà più di 4 tick ma di 5 tick, quindi se da 5.07 il titolo sale a (5.07+ 8 tick ) 5.15, il nuovo stop sarà 5.07 +4 tick= 5.11 e amen:D

la cosa so ke ha qualche problemone costruttivo , so anche ke limita notevolmente il profit di un movimento, ma siccome questa cosa la volevo provare su un grafico di breve, volevo vedere che risultati dava, cmq sia poi è sempre modificabile specie per alert 1 ke invece di ridurre la sua salita in considerazione di stop 1 la si potrebbe ridurre considerando altri parametri, oppure nn ridurla affatto.
 
a ora che mi viene in mente, si potrebbe fare pure un'altra cosetta per eliminare il primo problema relativo all'incrocio di alert1 con stop 1, in pratica gli si dovrebbe dire, se il titolo nn ha stoppato sui primi 2 punti di nuovo stop cioè a 5.03 e 5.07 alla prossima resetta alert 1 e fallo ripartire con 10 tick invece di decrementarlo come al solito, e così via.

ma forse complico parecchio, se avete altre soluzioni + semplici dite pure, le idee nascono ma nn è detto che siano buone.
 
ho provato il listato sul Delphic Phenomenon di M.Mazziero,
plottando le medie e lo stop,........
e casualmente provandolo su bnl ho notato che il sistema entra in acquisto su un massimo che non si è verificato, il 12/02/04
 

Allegati

  • bnl.gif
    20,5 KB · Visite: 168
Grazie ocirne64, grazie per il tuo intervento.
Come dicevo potrebbero esserci dei problemi, cmq l'acquisto mi sembra venga fatto giustamente al valore della media mobile, chiaramente non di oggi (che potrai avere solo a chiusura avvenuta) ma di ieri. Ciò ti espone a dei possibili falsi segnali.
Un modo per avere minori segnali ma più stabili potrebbe forse essere quello di richiedere che la candela debba avere la chiusura al di sopra della media, ad es:

if truecompra1=1 and truecompra2=1 and C>sma18 then
EnterLong(NextBar, AtOpen);
valuestop=sma40; // valore dello stop loss
endif;

ma allora è un altro film; potrebbe essere il Delphic variante ocirne64. Perché no?
Cordialità
M.Mazziero
 
ho scritto una sciocchezza...................................
me ne sono reso conto,
l' acquisto è corretto.


saluti
 
Scritto da trendinrialzo
non ho ricevuto nulla, devo scaricare qualche aggiornamento?

Grazie

Purtroppo c'è stato un problema tecnico con la procedura automatica che avevamo predisposto.
Ora lo abbiamo sistemato e gli esempi dovrebbero essere arrivati correttamente "a destinazione": è sufficiente eseguire un nuovo scarico dati per chi è utente End Of Day o, per chi è abbonato al servizio RealTime, essere connesso.

Cordiali saluti,
Staff Traderlink
 
Scritto da lele2
se sono dentro a 5€ il primo stop a 5€ - 10 tick, se sale di 10 tick da 5€ chiudi in stop a 5.03, se nn mi stoppa e sale di altri 9 tick da 5.03 chiudi a 5.07

Una possibile (semplice) implementazione del ragionamento, lasciando perdere la modifica espressa nel post seguente che non è complessa da effettuare ma complicherebbe inutilmente l'esempio, potrebbe essere la seguente:
Codice:
Var: stop1(0), stop1qta(3),
     alert1(0), alert1qta(10);

SECTION_ENTERLONG:
   EnterLong(Bar, AtClose); //XXX

   stop1qta = 3;
   stop1 = stop1qta;
   
   alert1qta = 10;
   alert1 = alert1qta;
END_SECTION

SECTION_EXITLONG:
   if C <= AddTick(PositionValue, stop1) then
      ExitLong(NextBar, AtOpen); //XXX
   elseif C >= AddTick(PositionValue, alert1) then
      Inc(stop1qta);
      Inc(stop1, stop1qta);

      Dec(alert1qta);
      Inc(alert1, alert1qta);
      
      if alert1 <= 0 then
         // XXX
      endif;
   endif;
END_SECTION

Da notare sono le righe commentate con XXX: essendo solo un esempio di specifica delle condizioni di uscita abbiamo chiaramente omesso di specificare una qualche condizione di entrata; inoltre è possibile che ci sia un problema nel ragionamento stesso di lele2 (oppure cercando di capirlo un passaggio è stato perso :P): cosa succede se a forza di decrementare alert1 questo scende sotto al valore 0?

Cordiali saluti,
Staff Traderlink
 
Scritto da TRADERLINK
Una possibile (semplice) implementazione del ragionamento, lasciando perdere la modifica espressa nel post seguente che non è complessa da effettuare ma complicherebbe inutilmente l'esempio, potrebbe essere la seguente:
Codice:
Var: stop1(0), stop1qta(3),
     alert1(0), alert1qta(10);

SECTION_ENTERLONG:
   EnterLong(Bar, AtClose); //XXX

   stop1qta = 3;
   stop1 = stop1qta;
   
   alert1qta = 10;
   alert1 = alert1qta;
END_SECTION

SECTION_EXITLONG:
   if C <= AddTick(PositionValue, stop1) then
      ExitLong(NextBar, AtOpen); //XXX
   elseif C >= AddTick(PositionValue, alert1) then
      Inc(stop1qta);
      Inc(stop1, stop1qta);

      Dec(alert1qta);
      Inc(alert1, alert1qta);
      
      if alert1 <= 0 then
         // XXX
      endif;
   endif;
END_SECTION

Da notare sono le righe commentate con XXX: essendo solo un esempio di specifica delle condizioni di uscita abbiamo chiaramente omesso di specificare una qualche condizione di entrata; inoltre è possibile che ci sia un problema nel ragionamento stesso di lele2 (oppure cercando di capirlo un passaggio è stato perso :P): cosa succede se a forza di decrementare alert1 questo scende sotto al valore 0?

Cordiali saluti,
Staff Traderlink

grazie, provo a guaradarlo, come fa a scendere sotto zero?

prima incontra lo stop ke viene incrementato e mi sbaglio?

cmq sia è solo una idea che ha sicuramente necessità di essere modificata in qualche punto, a parte questo....



volevo sapere che istruzione è Buy, infatti mi da errore se la uso come variabile, dove è posta la guida relativa a questa istruzione?

nn l'ho trovata.
 
Scritto da lele2
grazie, provo a guaradarlo, come fa a scendere sotto zero?

prima incontra lo stop ke viene incrementato e mi sbaglio?

Infatti abbiamo detto che è un possibile problema: non abbiamo fatto tutti i conti per vedere se lo sia davvero oppure no ma volevamo solo far notare che è una faccenda su cui riflettere per scrivere un TS corretto al 100%.

Scritto da lele2
volevo sapere che istruzione è Buy, infatti mi da errore se la uso come variabile, dove è posta la guida relativa a questa istruzione?

E' un vecchio sinonimo della funzione EnterLong mantenuta per compatibilità con vecchi Trading System.
Eì una funzione da non utilizzare poichè, oltre a non gestire correttamente lo short, verrà probabilmente tolta del tutto in un prossimo futuro.

Cordiali saluti,
Staff Traderlink
 
Indietro