lunes, 26 de marzo de 2018

stacco per vacanze
ci leggiamo all'inizio di aprile
proteggete la vostra esposizione ( sopratutto la long )
il DJ ha completato la candela impulsiva down del 2/02 ma se rimane sotto il 423.6% la tendenza potrebbe indebolirsi ulteriormente e la prossima area di supporto di una certa consistenza viaggia sui 22mila e rotti


un altra comoda opzione di money management è l'adeguamento dello stoploss
dal 3% iniziale poi man mano che il gain ( virtuale) aumenta è meglio appunto avvicinarlo al prezzo di entrata a mercato e se si riesce poi a trasformarlo in trailingprofit ancora meglio



segnali operativi su Fiat
ts openmese sh
ts 50% base sh da 17.28€

viernes, 23 de marzo de 2018

con stoploss del 3%
una sola operazione long e short al giorno
e tutte e tre condizioni di mm precedenti post attivate contemporaneamente
praticamente cala la resa,aumentano le operazioni e il sistema rimane a mercato quasi metà tempo


stoploss del 3%
una sola operazione long e short al giorno e
if positiondir=1 and condizionenolungo=1 and gain>0.40   then exitlong( nextbar, atopen);endif;
che significa...se sei long e le quotazioni sono inferiori al 10% di rialzo stimato sul mensile e se stai guadagnando + del 0.40% esci dal long( speculare per lo short )



con stoploss al 3%
una sola operazione long e short al giorno e
if positiondir=1 and contalg>20 and gain<1.00 and c<metaoggi then exitlong( nextbar, atopen);endif;
che significa...se sei long e dopo 20 candele a 15 minuti stai guadagnando meno del 1% ed il close è inferiore al 50% intraday esci dal long( speculare per lo short)


con stoploss del 3%
una sola operazione long e short al giorno e
if positiondir=1 and c<metaieri  then exitlong(nextbar,atopen,STOP, 0,"Exit Lg 1");endif;
che significa...se sei long ed un close di una candela a 15 minuti si genera sotto il 50% di ieri chiudi il long(speculare per lo short)

con stoploss fisso del 3%

metto resa ultimo anno senza e con opzioni di money management

senza money management
situazione segnali operativi su Fiat
ts openmese sh
ts 50% base short da 17.28€

jueves, 22 de marzo de 2018

una volta a mercato bisogna tener da conto la corretta gestione del rischio...il money management
praticamente bisogna proteggere la nostra esposizione finanziaria e questo è basilare se si vuole sopravvivere finanziariamente
nel caso del ts 50% sono presenti varie opzioni
la principale è l'introduzione di uno stop loss secco del 3% che si attiva immediatamente appena si apre la posizione
poi vi sono varie stringhe di exitlong/short ed anche un adeguamento progressivo dello stoploss(modifystoploss)
le opzioni di money management non sono la soluzione perfetta...spesse volte diminuiscono la resa del sistema ed aumentano le operazioni negative ma devono essere adottate sopratutto per permettere all'investitore una certa tranquillita emotiva ma anche per rendere il sistema più reattivo ad improvvisi cambiamenti di tendenza
sotto poi vado ad elencare nel dettaglio le principali stringhe
le considerazioni sono le solite...non esiste nessun indicatore/oscillatore che seguito con continuita porti ad un guadagno costante nel tempo..alcuni funzionano meglio in fasi laterali dei mercati...altri quando è presente una tendenza chiara...di conseguenza la cruda realta ...ma che bisogna tener ben presente per salvaguardare la nostra disponibilita finanziaria e sopratutto la tranquillita psicologica..è che il 99% dell'AT è una truffa colossale
l'unica modo "onesto"( l'altro è avere indicazioni riservate) per riuscire ad ottenere risultati positivi costanti nel tempo è usare la statistica
bisogna individuare ...per il sottostante che si vuole tradare...se è presente un comportamento peculiare che si ripresenta nel tempo
per il titolo Fiat il dato statistico da sfruttare è il fatto che si muova in entrambe le direzioni...long e short...con una certa regolarita generando poi ogni mese un range medio vicino al 20%
il ts 50% è appunto costruito su queste informazioni
gli input di entrata a mercato sono principalmente 2...il superamento dei massimi/minimi del giorno precedente e ...per filtrare vari falsi segnali di apertura giornata...il superamento dei massimi/minimi della prima candela a 15 minuti
nel grafico sotto l'esempio della situazione degli ultimi due segnali...long e short
il 19 marzo le condizioni per il long si erano generate alle ore 15.30 al prezzo poi di 17.166€
oggi le condizioni per lo short si son generate alle 13.15 al prezzo poi di 17.28€


situazione segnali operativi su Fiat
ts openmese flat
ts 50% base long da 17.166€
poi metto le distinte stringhe di eventuali uscite

miércoles, 21 de marzo de 2018

situazione segnali operativi su Fiat
ts openmese sh
ts 50% base lg da 17.166€
fase di incertezza..openmese 17.45€ e siamo distanti un 1% al 15esimo giorno borsistico

martes, 20 de marzo de 2018

nel dettaglio si nota come il sistema senza filtro trend in caso di mancanza di tendenza e con le due medie che continuano ad incrociarsi dia continui falsi segnali
applicando il filtro invece inibisce la maggior parte dei segnali



metto il codice di un ts come esempio per capire come funziona il filtro trend
ho preso 2 medie ...una lenta ed una veloce
i due report ed equity con e senza il filtro trend

//__________________________Esempio incrocio 2 medie con filtro tendenza________________________// marzo 2018

Var: newday(false), mioopen(0), miomin(0), miomax(0), mioclose(0),metaieri;
Var: wmax,wmin,metaoggi,DMAX,DMIN;
Var: fflat,lg,sh,contalg,contash,contaflat;
Var: cambiatogiorno,prova,contagiornoinessere;
Var: meseprec,meseprec8,meseprec9;
Var: condizionelong,condizioneshort,contalong,contashort,numerogiornilong,numerogiornishort,contalungo,contacorto,entratalong,entratashort;
Var: primadiff,secondiff,terzadiff,totaldiff,totaldiff1;
Var: medialenta,mediaveloce,vp1,vp2;

medialenta = Mov(C,65,S);
mediaveloce = Mov(C,14,S);

/////////////////////////////////////////////////////////////////////////////////////////////////////
newday=GetValues(days,1,mioopen,miomin,miomax,mioclose);
metaieri= miomin+(50*(miomax-miomin))/100;
if isfirstbarday then
   WMAX=H;
   WMIN=L;
   else
   WMAX=iif(H>=WMAX[1],H,WMAX[1]);
   WMIN=iif(L<=WMIN[1],L,WMIN[1]);
   metaoggi=wmax-(wmax-wmin)*0.5;
endif;

//////////////////////___CONTA_Situazione___///////////////////////////////////////////////

if positiondir=0 then fflat=1;endif; if positiondir<>0 then fflat=0;contaflat=0;endif; if fflat=1 and fflat[1]=1 then contaflat=(contaflat[1]+1);endif;

if positiondir=1 then lg=1;endif; if positiondir<>1 then lg=0;contalg=0;endif; if lg=1 and lg[1]=1 then contalg=(contalg[1]+1);endif;

if positiondir=-1 then sh=1;endif; if positiondir<>-1 then sh=0;contash=0;endif; if sh=1 and sh[1]=1 then contash=(contash[1]+1);endif;


//////////////////////////////////////////////////////////////////////////////////////////////
if getmonth<>meseprec9 then contagiornoinessere=0;endif;
meseprec9=getmonth;
cambiatogiorno = GetValues(days, 1, prova, prova, prova, prova);
if cambiatogiorno then contagiornoinessere=contagiornoinessere+1;endif;



///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if mediaveloce>medialenta then condizionelong=1;endif;
if mediaveloce<medialenta then condizionelong=0;contalong=0;endif;
if mediaveloce<medialenta then condizioneshort=1;endif;
if mediaveloce>medialenta then condizioneshort=0;contashort=0;endif;
if condizionelong=1 then contalong=contalong+1;endif;
numerogiornilong=op(contalong,34,divis);
if condizioneshort=1 then contashort=contashort+1;endif;
numerogiornishort=op(contashort,34,divis);
////////////////////////////////////////////////////////////////////////////////////////////////
                                                                                              //
if condizionelong=1   then entratalong=o;endif;                                               //
if condizioneshort=1  then entratashort=o;endif;                                              //
if Condizionelong=1 and contalungo>1 then entratalong=entratalong[1];endif;                   //
if CondizioneShort=1 and contacorto>1 then entratashort=entratashort[1];endif;                //  tenuta in memoria ultime 2 entrate ( short e long )
If Condizionelong=1 and contalungo=1 then DrawVline (NEWOGG, 0, getdate, green, 1, 0);endif;  //
If Condizioneshort=1 and contacorto=1 then DrawVline (NEWOGG, 0, getdate, red, 1, 0);endif;   //
                                                                                              //
////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
                       //
if condizionelong=1 then contalungo=contalungo+1;endif;                                      //
if condizioneshort=1 then contacorto=contacorto+1;endif;                                     //
if condizionelong=1 then contacorto=0;endif;                                                 //
if condizioneshort=1 then contalungo=0;endif;                                                //
plotchart(entratalong, 0 , green, solid, 1);                                               //
plotchart(entratashort, 0 , red, solid, 1);                                                //
DrawText(NEWOGG,0 , D,entratalong , "last price lg",entratalong, green, 12, 1+4,Alleft);     //
DrawText(NEWOGG,0 , D,entratashort , "last price sh",entratashort , red, 12, 1+4,Alleft);    //

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
primadiff=abs(entratashort-entratalong);
secondiff=abs(entratashort-c);
totaldiff=abs(((primadiff+secondiff)/entratalong)*100);
terzadiff=abs(c-entratalong);
totaldiff1=abs(((primadiff+terzadiff)/entratashort)*100);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

installstoploss(inperc,2.00,"SL", STARTNEXTBAR);
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(NEWOGG,0 , D,getstoploss , "sl",getstoploss , red, 15, 1+4,Alright);
//////////////////////////////////////////____________LONG___________________/////////////////////////////////////////////////////////
if condizionelong=1 { and totaldiff>5} then EnterLong(nextbar,atopen);endif;
//////////////////////////////////////////____________SHORT___________________/////////////////////////////////////////////////////////
if condizioneshort=1 {and totaldiff>5} then EnterShort(nextbar,atopen);endif;


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

vp1 = Createviewport(250);
plotchart(mediaveloce, vp1 , green, solid, 2);
plotchart(medialenta, vp1 , red, solid, 2);

vp2 = Createviewport(250);
Plotchart(totaldiff,VP2,GREEN,solid,2);




situazione segnali operativi su Fiat
ts openmese short
ts 50% base short da 17.014€

lunes, 19 de marzo de 2018

come esempio metto il report ultimo anno del ts 50% iniziale...quello che esce dal long/short solo se si genera un close a 15 minuti sotto/sopra il 50% del giorno precedente
e poi allo stesso ts aggiungo il Filtro che controlla il range ultime due operazioni e dall'ultima entrata al close realtime di ogni candela
si nota dall'equity come nelle fasi laterali il sistema rimane meno a mercato rispetto alla versione iniziale







situazione segnali operativi su Fiat
ts openmese short
ts 50% base long da 17.214€
poi vediamo meglio la situazione varie stringhe ts

jueves, 15 de marzo de 2018

la teoria è abbastanza semplice e logica
si calcola la distanza dall'ultimo segnale long a l'ultimo short ed il risultato si somma alla distanza dall'ultimo segnale generatosi  al close dell'ultima candela a 15 minuti
ad esempio abbiamo questi dati .
ultimo segnale long=17.28€
ultimo segnale short=17.098€
ultima chiusura a 15 min.= 17.178€
il totale è un 1.51%...questo dato indica una tendenza scarsa siccome la distanza tra i segnali opposti ed il close realtime è ridotta
poi si può usare per inibire totalmente il segnale operativo oppure per monetizzare una parte dell'esposizione o anche per adeguare lo stoploss/un trailing profit o anche un take profit



x Matteo
ti metto il codice sorgente sulle tue indicazioni di ieri
entrata a mercato con le due condizioni(superamento massimi/minimi di ieri,superamento massimi/minimi 1ª candela 15 min.)
sl del 3%
niente spostamento stoploss
inserimenti filtro del 5% ( ma per ora solo visivo...non nelle stringhe)
report a 14 anni

//__________________________Matteo 13 marzo 2018________________________//

Var: input1,input2;
Var: newday(false), mioopen(0), miomin(0), miomax(0), mioclose(0),metaieri;
Var: wmax,wmin,metaoggi,DMAX,DMIN;
Var: fflat,lg,sh,contalg,contash,contaflat;
Var: cambiatogiorno,prova,contagiornoinessere;
Var: Pr_Ingr(0), Max_Gain(0), Max_Gain_perc(0), Gain(0){,condizioneA,condizioneB};
Var: meseprec9;
Var: condizionelong,condizioneshort,contalong,contashort,numerogiornilong,numerogiornishort,contalungo,contacorto,entratalong,entratashort;
Var: primadiff,secondiff,terzadiff,totaldiff,totaldiff1,vp1;

/////////////////////////////////////////////////////////////////////////////////////////////////////
if IsFirstBarDay then input1=H;endif;
if IsFirstBarDay then input2=L;endif;
{plotchart(input1, 0 , green, dot, 1);
plotchart(input2, 0 , red, dot, 1); }
/////////////////////////////////////////////////////////////////////////////////////////////////////
newday=GetValues(days,1,mioopen,miomin,miomax,mioclose);
metaieri= miomin+(50*(miomax-miomin))/100;
if isfirstbarday then
   WMAX=H;
   WMIN=L;
   else
   WMAX=iif(H>=WMAX[1],H,WMAX[1]);
   WMIN=iif(L<=WMIN[1],L,WMIN[1]);
   metaoggi=wmax-(wmax-wmin)*0.5;
endif;

{PlotChart(metaoggi,0, gray, dot, 1);
Plotchart(metaieri,0,blue,solid,1);
DrawText(NEWOGG,0 , D,metaoggi , "50% intraday",metaoggi , red, 12, 2+2,Alright);
DrawText(NEWOGG,0 , D,metaieri , "50% ieri",metaieri , white, 14, 3+2,Alleft);}

//////////////////////___CONTA_Situazione___///////////////////////////////////////////////

if positiondir=0 then fflat=1;endif; if positiondir<>0 then fflat=0;contaflat=0;endif; if fflat=1 and fflat[1]=1 then contaflat=(contaflat[1]+1);endif;

if positiondir=1 then lg=1;endif; if positiondir<>1 then lg=0;contalg=0;endif; if lg=1 and lg[1]=1 then contalg=(contalg[1]+1);endif;

if positiondir=-1 then sh=1;endif; if positiondir<>-1 then sh=0;contash=0;endif; if sh=1 and sh[1]=1 then contash=(contash[1]+1);endif;

//////////////////////////////////////////////////////////////////////////////////////////////
if getmonth<>meseprec9 then contagiornoinessere=0;endif;
meseprec9=getmonth;
cambiatogiorno = GetValues(days, 1, prova, prova, prova, prova);
if cambiatogiorno then contagiornoinessere=contagiornoinessere+1;endif;
/////////////////////////////////// Gain /////////////////////////////////////////////////////
if Positionvalue<>0 then
   Pr_Ingr = positionValue;
   if Positiondir=1 then
      if (C>Max_Gain) or (Max_Gain=0) then
         Max_Gain = C;
Max_Gain_perc = ((Max_Gain-Pr_ingr)*100)/Pr_Ingr;
      endif;
      Gain = ((C-Pr_ingr)*100)/Pr_Ingr;
   else
      if (C<Max_Gain) or (Max_Gain=0) then
Max_Gain = C;
Max_Gain_perc = ((Pr_ingr-Max_Gain)*100)/Pr_Ingr;
       endif;
       Gain = ((Pr_ingr-C)*100)/Pr_Ingr;
   endif;
else
    Pr_ingr = 0;
Max_Gain = 0;
Gain = 0;
endif;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if c>highd(1)  and c>input1 then condizionelong=1;endif;
if  c<lowd(1)  and c<input2 then condizionelong=0;contalong=0;endif;
if c<lowd(1)   and c<input2 then condizioneshort=1;endif;
if c>highd(1)  and c>input1 then condizioneshort=0;contashort=0;endif;
if condizionelong=1 then contalong=contalong+1;endif;
numerogiornilong=op(contalong,34,divis);
if condizioneshort=1 then contashort=contashort+1;endif;
numerogiornishort=op(contashort,34,divis);
////////////////////////////////////////////////////////////////////////////////////////////////
                                                                                              //
if condizionelong=1   then entratalong=o;endif;                                               //
if condizioneshort=1  then entratashort=o;endif;                                              //
if Condizionelong=1 and contalungo>1 then entratalong=entratalong[1];endif;                   //
if CondizioneShort=1 and contacorto>1 then entratashort=entratashort[1];endif;                //  tenuta in memoria ultime 2 entrate ( short e long )
If Condizionelong=1 and contalungo=1 then DrawVline (NEWOGG, 0, getdate, green, 1, 0);endif;  //
If Condizioneshort=1 and contacorto=1 then DrawVline (NEWOGG, 0, getdate, red, 1, 0);endif;   //
                                                                                              //
////////////////////////////////////////////////////////////////////////////////////////////////

if condizionelong=1 then contalungo=contalungo+1;endif;                                        //
if condizioneshort=1 then contacorto=contacorto+1;endif;                                       //
if condizionelong=1 then contacorto=0;endif;                                                   //
if condizioneshort=1 then contalungo=0;endif;                                                  //
plotchart(entratalong, 0 , green, solid, 1);                                                   //
plotchart(entratashort, 0 , red, solid, 1);                                                    //
DrawText(NEWOGG,0 , D,entratalong , "last price lg",entratalong, green, 12, 1+4,Alleft);       //
DrawText(NEWOGG,0 , D,entratashort , "last price sh",entratashort , red, 12, 1+4,Alleft);      //
/////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
primadiff=abs(entratashort-entratalong);
secondiff=abs(entratashort-c);
totaldiff=abs(((primadiff+secondiff)/entratalong)*100);
terzadiff=abs(c-entratalong);
totaldiff1=abs(((primadiff+terzadiff)/entratashort)*100);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
installstoploss(inperc,3.00,"SL", STARTNEXTBAR);
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(NEWOGG,0 , D,getstoploss , "sl",getstoploss , red, 15, 1+4,Alright);


//////////////////////////////////////////____________LONG___________________/////////////////////////////////////////////////////////
if condizionelong=1   then EnterLong(nextbar,atopen);endif;

if condizioneshort=1  then Entershort(nextbar,atopen);endif;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

vp1 = Createviewport(550);
Plotchart(totaldiff,VP1,GREEN,solid,2);
DrawHLine (NEWOGG, vp1, 5, red, 2, 0);



situazione segnali operativi su Fiat
ts openmese flat
ts 50% base sh da 17.098€

miércoles, 14 de marzo de 2018

Mick.
il normale resa totale e resa short
quello col filtro resa totale e resa short




ultimi mesi...il sistema potrebbe rimanere a mercato solo nelle fasi con il filtro sopra il 5%( cerchi blu )
Michelangelo...sto provando questo filtro...calcolo la distanza tra l'ultimo segnale short e long e la chiusura aggiornata ogni candela...esempio= ultimo segnale long=17.28€...ultimo segnale short=17.098€ e la distanza tra 17.098 e il close di ogni candela a 15 minuti...sommo le due distanze ed ora alle 10.30 ho un totale di 1.97%...poca percentuale significa assenza di tendenza perchè appunto i livelli di prezzo tra entrate long e short son vicini e lo scostamento realtime dall'ultimo segnale è di poca entita
poi gli ho detto...entra a mercato solo se questo dato è maggiore di 5% e sembra che migliori un pò la situazione...il ts rimane meno a mercato...dal 38% al 24%...cala naturalmente la resa  e le operazioni sbagliate passano da 840 a 540
interessante ...da come mostra l'equity ...il flat nelle fasi laterali



situazione segnali operativi su Fiat
ts openmese flat
ts 50% base sh da 17.098€

martes, 13 de marzo de 2018

x Corrado
ti metto la situazione del ts 50% base da inizio anno
le condizioni principali perchè scatti il long sono 2 : che a 15 minuti si chiuda una candela sopra i massimi del giorno precedente e che si chiuda una candela sempre a 15 minuti sopra i massimi della prima candela intraday( praticamente possiamo fare colazione tranquilli perchè il segnale non può scattare prima delle 0930)
per lo short naturalmente segnali speculari
nel grafico sotto tutti i segnali da inizio 2018...si alternano le due distinte entrate
sotto viene misurata l'estensione massima ed in realtime di ogni distinto segnale( si nota un range massimo di circa il 30% a gennaio e poi molti segnali deboli di poco range a fine febbraio...quando gli indicatori sono sotto la linea dello zero significa che lo sviluppo del segnale è negativo...vedi l'ultimo segnale short chiuso stamane)
questo è lo scheletro base del ts 50%...poi bisogna aggiungere le stringhe di money management..sl/uscite long e short/spostamento stop loss...ed ogni utente le deve adattare alle proprie esigenze finanziarie ma sopratutto emotive
le opzioni di money management sono forzature e spesso dan fastidio al naturale svolgimento del segnale di base ma bisogna inserirle per prevenire repentini cambi di situazione di tendenza
aumentano le operazioni negative ma permettono al sistema di essere più reattivo
ma come dicevo sono scelte oggettive...un utente può tranquillamente affrontare perdite virtuale del 4/5/6 % ed oltre senza battere ciglio...un altro andare in stress mentale con solo un 1% di draw down



segnali operativi su Fiat
ts openmese flat
ts 50% base short da 17.064€
fase di congestione con volumetria scarsa

lunes, 12 de marzo de 2018

viernes, 9 de marzo de 2018

jueves, 8 de marzo de 2018

situazione segnali operativi su Fiat
ts openmese short...molto probabile che becchi il 2º sl a causa della distanza di entrata del 1º segnale rispetto al livello negativo del 3%
ts 50% base long da 16.632€

miércoles, 7 de marzo de 2018

martes, 6 de marzo de 2018

sul ts openmese è scattato lo stoploss e poi è rientrato short a causa della distanza tra il livello 3% e l'entrata effettiva dello short
il ts 50% base è long da 16.632€
situazione segnali operativi su Fiat
ts openmese short
ts 50% base short...tra poco se chiude una 15 minuti sopra 16.552€ si gira long

lunes, 5 de marzo de 2018

situazione segnali operativi su Fiat
ts openmese short da 16.45€
ts 50% base short da 17.526

viernes, 2 de marzo de 2018

bene...Fiat è tornata a fare quello in cui riesce bene...tendenze ampie


situazione segnali operativi su Fiat
ts openmese flat...entra stamane con un close candela sotto 16.9265€...un pò troppo basso per ora
ts 50% base short da 17.526€

jueves, 1 de marzo de 2018

un pò meglio il range del segnale short in atto rispetto ai precedenti...per ora un 2.65%...speriamo si sblocchi questa fase di congestione


marzo 2018 in partenza
situazione segnali operativi su Fiat
ts openmese flat...apertura mese 17.45€
ts 50% base sh da 17.526€


 oggi scadenze tecniche..le ultime di settembre risolte a 13.60€ vediamo alle 1200