FTSEMIB e altri Indici, Materie Prime 76.0

  • Ecco la 60° Edizione del settimanale "Le opportunità di Borsa" dedicato ai consulenti finanziari ed esperti di borsa.

    Questa settimana abbiamo assistito a nuovi record assoluti in Europa e a Wall Street. Il tutto, dopo una ottava che ha visto il susseguirsi di riunioni di banche centrali. Lunedì la Bank of Japan (BoJ) ha alzato i tassi per la prima volta dal 2007, mettendo fine all’era del costo del denaro negativo e al controllo della curva dei rendimenti. Mercoledì la Federal Reserve (Fed) ha confermato i tassi nel range 5,25%-5,50%, mentre i “dots”, le proiezioni dei funzionari sul costo del denaro, indicano sempre tre tagli nel corso del 2024. Il Fomc ha anche discusso in merito ad un possibile rallentamento del ritmo di riduzione del portafoglio titoli. Ieri la Bank of England (BoE) ha lasciato i tassi di interesse invariati al 5,25%. Per continuare a leggere visita il link

xinian70

Analista T.Olistico
Registrato
23/8/11
Messaggi
32.462
Punti reazioni
873
Un po' di Storico....
76 - 75 - 74 - 73 - 72 - 71 - 70

69 - 68 - 67 - 66 - 65 - 64 - 63 - 62 - 61 - 60

59 - 58 - 57 - 56 - 55 - 54 - 53 - 52 - 51 - 50

49 - 48 - 47 - 46 - 45 - 44 - 43 - 42 - 41 - 40

39 - 38 - 37 - 36 - 35 - 34 - 33 - 32 - 31 - 30

29 - 28 - 27 - 26 - 25 - 24 - 23 - 22 - 21 - 20

19 - 18 - 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10

9 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1


Il TS ADX/ADM

L’ADX o Average Directional Index
è un ottimo indicatore di medio periodo però
indica solo la forza del trend e non la sua direzione.

Il valore dell’ADX può essere compreso tra 0 e 100. Tipicamente un trend caratterizzato da un ADX al di sotto del 20 è considerato debole, mentre sopra 25 è da considerarsi forte.

Molto più utili gli indicatori +DI (Positive Directional Indicator) ed il -DI (Negative Directional Indicator), considerando la loro media a 14 giorni: +DI14 in verde e -DI14 in rosso.

I loro incroci deteminano la la direzione del trend.

+DI14 > -DI14+FlatZone = LONG
+DI14 < -DI14-Flatzone = SHORT

FLAT nella fascia -Flatzone+Flatzone dell'incrocio

la Flatzone era -10% +10% nelle vecchie versioni , ora è calcolata anche essa in base a dei backtest periodici

L'ADM o Average Daily Movement è un indicatore Intraday basato sulla volatilità

vengono dati ogni giorno 2 entry (Long o Short) e 3 Take Profit (Long e Short)



Operativamente:

si entra long/short se alla chiusura oraria (alle 10, alle 11, ecc) il valore dell’indice è superiore/inferiore all’entry long/short giornaliero
poi
se non arriva il TP xx entro chiusura
se siamo in trend (vedi ADX) si va in over e il giorno dopo si chiude se entra il segnale di reverse
se siamo controtrend (ADX contrario) si chiude in chiusura mercato

per esempio…

al segnale io entro long con 3 posizioni (3 contratti, ecc…)

la 1° pos va in take profit sul TP1 (alla battuta)
la 2° sul TP2 (alla battuta) una volta fatto il TP1 (candela oraria) si alza lo stop loss sull’entry
la 3° sul TP3 (alla battuta) una volta fatto il TP2 (candela oraria) si alza lo stop loss sul TP1

- se ADX è FLAT o LONG, se non ha raggiunto uno dei target si porta la posizione in over…..
il giorno dopo al raggiungimento del TP1 si vendono tutte le posizioni e si aspettano i segnali nuovi, se invece non arriva l’ex-tp1 ma entra l’entry contraria si chiude tutto e si reversa.
- se ADX è SHORT meglio chiuderla in giornata

Varianti intraday

i livelli sono da considerare come resistenze/supporti
una volta superata una resistenza diventa supporto, e viceversa….

per esempio il 21/04/2015



ha fatto
1 – entry long
2 – entry short (stop loss & reverse)
3 – tp1 short
4 – ex-entry short (nuovo entry long)
5 – ex-entry long (nuovo tp1 long)

Calcolo dei livelli intraday

ADM è la media su N-giorni della volatilità giornaliera (Max-Min) , la media a N giorni…
io ora lo calcolo periodicamente in base a dei backtest e lo trovate in alto a sinistra nel grafico , nelle prime versioni del TS usavo il valore di 30 giorni, che è abbastanza valido
,altri usano altri valori..

i livelli di entrata vengono calcolati in questo modo



i livelli di entrata vengono calcolati in questo modo:

la teoria standard dice di usare un break-out level = 0.382 (Price Break) , io ultimamente lo sto calcolando ogni giorno in base alla volatilità

(chiusura giorno precedente + Price Break*ADM Ndays) ci dà l’Entry Long
(chiusura giorno precedente – Price Break*ADM Ndays) ci dà l’Entry Short

DayC = chiusura giorno precedente
C = prezzo corrente

Entry Long = C>((DayC)+((Price Break)*(ADM Ndays)));
Entry Short = C<((DayC)-((Price Break*(ADM Ndays)));

ho notato che però quando aumenta la volatilità il price break posto a 0,382 genera diversi falsi segnali
pertanto dalla versione 3.0 sto sperimentando questa formula…

Price Break=(0,382+0,382*((ADM 10 days-ADM Ndays)/ADM Ndays))


I target invece vengono così calcolati….

Target 1 Long = (0.45*ADM)+Entry Long;
Target 2 Long = (0.95*ADM)+Entry Long;
Target 3 Long = (1.95*ADM)+Entry Long;
Target 1 Short = Entry Short-(0.45*ADM);
Target 2 Short = Entry Short-(0.95*ADM);
Target 3 Short = Entry Short-(1.95*ADM);

-----------------------------------------------------------------------------------

Implementazioni su piattaforme Standard:


ADM v. 2. 0 per Amibroker by Murali krishna

http://www.wisestocktrader.com/indicators/4059-ultimate-volatility-trading-system-v-2.txt


ADM per VisualTrader by Strong

Codice:
{******************************************************************************
* ADM by Strong.
*
* Versione 1 fix 1 del 18/04/2014
*
* Filtro ingressi ATTIVO
*
******************************************************************************}

Var:
newDay(false), // CAMBIO GIORNO
numDay(0),     // STORICO GIORNI PER CALCOLO ADM
lastRange,lastClose,HistoryRange,HistoryClose, // VALORI END OF DAY
num(0),den(0),adm(0),STORICO_ADM(30), // ADM
targetLong(0),targetShort(0), // TARGET X USCITA
stopLossLong(0),stopLossShort(0), // STOPLOSS
flagLong(false),flagShort(false),   // SINGOLA OPERAZIONE GIORNALIERA
buf, // TEMPORANEA
zonaPlotting;

//
// ************************ CALCOLO INDICATORE ADM *****************************
//
newDay=GetValues (days, 1, buf,buf,buf,buf);
if newDay then

  // FLAG PER GESTIRE UNA OPERAZIONE LONG E SHORT AL GIORNO
  flagLong=true;
  flagShort=true;

  lastRange=EOD.R[1];
  lastClose=EOD.C[1];

  num = num + lastRange*lastClose;
  den = den + lastClose;

  // GESTIONE DEL NUMERO DI GIORNI PER IL CALCOLO DELL'INDICATORE
  if numDay >= STORICO_ADM then

    historyRange=EOD.R[STORICO_ADM];
    historyClose=EOD.C[STORICO_ADM];
    num = num - historyRange*historyClose;
    den = den - historyClose;

  endif;

  // CALCOLO ADM
  adm = num/den;

  inc(numDay);

endif;

//
// ************************ LONG ***********************************************
//
if LastBar = false and adm > 0 and flagLong and positionlong = false then

   // FILTRO SUGLI INGRESSI
   //   if (C>H[1] or B[1]) and W and  C > lastclose+ (0.382*adm) then
   if (C > lastclose + (0.5*adm)) then
   //   if C > C[1]+ (0.382*adm) then
     colorbar(green);
	  // CancelExitLong("target 0.5");
     enterlong(nextBar,atopen);
     stopLossLong = 0.5 * adm;
     targetLong = adm * 0.5;
     flagLong = false;
	endif;

endif;

SECTION_EXITLONG:

  // STOPLOSS DINAMICO
  //exitlong(NextBar,positionvaluethisbar + targetLong , limit, 3 , "Target 0.5");

  // STOPLOSS STATICO
  //  if C < positionvaluethisbar - stopLossLong then

    //exitlong(nextbar,atopen);
  //endif;

  // USCITA A FINE GIORNATA
  //if t = 1700 then
  //  exitlong(bar,atclose);
  //endif;	

END_SECTION



//
// ************************ SHORT **********************************************
//
if LastBar = false and adm > 0 and flagShort < 1 and positionshort = false then

   // FILTRO SUGLI INGRESSI
	//   if (C < L[1] or W[1]) and B and C < lastclose - (0.382*adm) then
	if (C < lastclose - (0.5*adm)) then
	//if  C < C[1] - (0.382*adm) then
	
     colorbar(red);

	  //CancelExitshort("Target 0.5");
     entershort(nextBar,atopen);

     stopLossShort = 0.5 * adm;
     targetShort = adm * 0.5;

     flagSHort=false;

   endif;

endif;

SECTION_EXITSHORT:

  //STOPLOSS DINAMICO
  // exitshort(NextBar, positionvaluethisbar - targetShort, limit, 3, "Target 0.5");

  //STOPLOSS STATICO
  //if C > positionvaluethisbar + stopLossShort then
    //exitshort(nextbar,atopen);
  //endif;	

  // USCITA A FINE GIORNATA
  //if t = 1700 then
  //  exitshort(bar,atclose);
  //endif;	

END_SECTION



//
// ************************ PLOTTING *******************************************
//

// DISEGNA  I VALORI DI INGRESSO SUL GRAFICO PRINCIPALE
PlotChart(lastclose + adm*0.5 , 0, lime, solid, 1);
PlotChart(lastclose - adm*0.5 , 0, red, solid, 1);

PlotChart(lastclose + adm*0.5 + adm*0.45 , 0, green, Dot, 1);
PlotChart(lastclose - adm*0.5 - adm*0.45 , 0, fuchsia, Dot, 1);

PlotChart(lastclose + adm*0.5 + adm*0.95 , 0, green, Dot, 1);
PlotChart(lastclose - adm*0.5 - adm*0.95 , 0, fuchsia, Dot, 1);

PlotChart(lastclose + adm*0.5 + adm*1.95 , 0, green, Dot, 1);
PlotChart(lastclose - adm*0.5 - adm*0.95 , 0, fuchsia, Dot, 1);

// CREA AREA DI PLOTTING
//zonaPlotting = CreateViewport(200, true, true);

// DISEGNA  I VALORI DI CALCOLO SULLA AREA DI PLOTTING (FACOLTATIVO)
//PlotChart(historyRange, zonaPlotting, blue, solid, 1);
//PlotChart(lastRange, zonaPlotting, red, solid, 1);


ADM by Strong. (Modificato da Webb Ellis Settembre 2015)


Codice:
{*************************************** ***************************************
* ADM by Strong. (Modificato da Webb Ellis Settembre 2015)
*
* Versione 1 fix 1 del 18/04/2014
*
* Filtro ingressi ATTIVO
*
**************************************** **************************************}

Var:
newDay(false), // CAMBIO GIORNO
numDay(0), numDay10(0), // STORICO GIORNI PER CALCOLO ADM
lastRange,lastClose,HistoryRange,History Close,historyrange10,historyclose10, // VALORI END OF DAY
num(0),num10(0),den(0),den10(0),adm(0),S TORICO_ADM(26), ADM10(10),DIF(0),
PRICEBREAK(0),pricebreak1(0), // ADM
targetLong(0),targetShort(0), // TARGET X USCITA
stopLossLong(0),stopLossShort(0), // STOPLOSS
flagLong(false),flagShort(false), // SINGOLA OPERAZIONE GIORNALIERA
buf, // TEMPORANEA
zonaPlotting;

//
// ************************ CALCOLO INDICATORE ADM *****************************
//
// AGGIUNGO CALCOLO PRICEBREAK


newDay=GetValues (days, 1, buf,buf,buf,buf);
if newDay then

// FLAG PER GESTIRE UNA OPERAZIONE LONG E SHORT AL GIORNO
flagLong=true;
flagShort=true;

lastRange=EOD.R[1];
lastClose=EOD.C[1];

num = num + lastRange*lastClose;
den = den + lastClose;

num10 = num10 + lastRange*lastClose;
den10 = den10 + lastClose;


// GESTIONE DEL NUMERO DI GIORNI PER IL CALCOLO DELL'INDICATORE
if numDay >= STORICO_ADM then

historyRange=EOD.R[STORICO_ADM]; //adm 26 gg
historyClose=EOD.C[STORICO_ADM];
num = num - historyRange*historyClose;
den = den - historyClose;

endif;

// CALCOLO ADM
adm = num/den;

inc(numDay);



// GESTIONE DEL NUMERO DI GIORNI PER IL CALCOLO DELL'INDICATORE da 10gg
if numDay10 >= adm10 then

historyRange10=EOD.R[adm10]; //adm 10gg
historyClose10=EOD.C[adm10];
num10 = num10 - historyRange10*historyClose10;
den10 = den10 - historyClose10;

endif;

// CALCOLO ADM
adm10 = num10/den10;

inc(numDay10);
Pricebreak = 0.266+(0.266*(adm10-adm)/adm); //per long
Pricebreak1 = 0.382+(0.382*(adm10-adm)/adm); // per short
endif;



//
// ************************ LONG **************************************** *******
//
if LastBar = false and adm > 0 and flagLong and positionlong = false then

// FILTRO SUGLI INGRESSI
// if (C>H[1] or B[1]) and W and C > lastclose+ (0.382*adm) then
//if (C > lastclose + (0.5*adm)) then
// if C > C[1]+ (0.382*adm) then
if (C > lastclose + (pricebreak*adm))
and (t>0959) // si entra dalle 10 in poi
// and (C<lastclose + adm*pricebreak + adm*0.45) //minore del TP1
and C>C[1] then //in crescendo
colorbar(green);
// CancelExitLong("target 0.5");
enterlong(nextBar,atopen);
stopLossLong = 0.5 * adm;
targetLong = adm * 0.5;
flagLong = false;
endif;

endif;

SECTION_EXITLONG:

// STOPLOSS DINAMICO
//exitlong(NextBar,positionvaluethisbar + targetLong , limit, 3 , "Target 0.5");

// STOPLOSS STATICO
// if C < positionvaluethisbar - stopLossLong then

//exitlong(nextbar,atopen);
//endif;

// USCITA A FINE GIORNATA
//if t = 1700 then
// exitlong(bar,atclose);
// endif;

// if C > (lastclose + adm*0.266 + adm*0.95) then //uscita al TP2
// exitlong(bar,atclose);
// endif;
END_SECTION



//
// ************************ SHORT **************************************** ******
//
if LastBar = false and adm > 0 and flagShort < 1 and positionshort = false then

// FILTRO SUGLI INGRESSI
// if (C < L[1] or W[1]) and B and C < lastclose - (0.382*adm) then
//if (C < lastclose - (0.5*adm)) then
//if C < C[1] - (0.382*adm) then
if (C < lastclose - (pricebreak1*adm))
and (t>0959) //oltre le 10
//and (C>(lastclose - adm*pricebreak1 - adm*0.45)) //maggiore del tp1
and C<C[1] then // in decrescita
colorbar(red);

//CancelExitshort("Target 0.5");
entershort(nextBar,atopen);

stopLossShort = 0.5 * adm;
targetShort = adm * 0.5;

flagSHort=false;

endif;

endif;

SECTION_EXITSHORT:

//STOPLOSS DINAMICO
// exitshort(NextBar, positionvaluethisbar - targetShort, limit, 3, "Target 0.5");

//STOPLOSS STATICO
//if C > positionvaluethisbar + stopLossShort then
//exitshort(nextbar,atopen);
//endif;

// USCITA A FINE GIORNATA
//if t = 1700 then
// exitshort(bar,atclose);
//endif;
// uscita per TP1
//if C < (lastclose - adm*0.266 - adm*0.95) then //uscita al TP2
// exitshort(bar,atclose);
// endif;

END_SECTION



//
// ************************ PLOTTING **************************************** ***
//

// DISEGNA I VALORI DI INGRESSO SUL GRAFICO PRINCIPALE
PlotChart(lastclose + adm*pricebreak, 0, lime, solid, 1);
PlotChart(lastclose - adm*pricebreak1, 0, red, solid, 1);

PlotChart(lastclose + adm*pricebreak + adm*0.45 , 0, green, Dot, 1);
PlotChart(lastclose - adm*pricebreak1 - adm*0.45 , 0, fuchsia, Dot, 1);

PlotChart(lastclose + adm*pricebreak + adm*0.95 , 0, green, Dot, 1);
PlotChart(lastclose - adm*pricebreak1 - adm*0.95 , 0, fuchsia, Dot, 1);

PlotChart(lastclose + adm*pricebreak + adm*1.95 , 0, green, Dot, 1);
PlotChart(lastclose - adm*pricebreak1 - adm*1.95 , 0, fuchsia, Dot, 1);

// CREA AREA DI PLOTTING
//zonaPlotting = CreateViewport(200, true, true);

// DISEGNA I VALORI DI CALCOLO SULLA AREA DI PLOTTING (FACOLTATIVO)
//PlotChart(historyRange, zonaPlotting, blue, solid, 1);
//PlotChart(lastRange, zonaPlotting, red, solid, 1);




ADM per ProrealTime by domedome61


Codice:
admn=((high[26]-low[26])+(high[25]-low[25])+(high[24]-low[24])+(high[23]-low[23])+(high[22]-low[22])+(high[21]-low[21])+(high[20]-low[20])+(high[19]-low[19])+(high[18]-low[18])+(high[17]-low[17])+(high[16]-low[16])+(high[15]-low[15])+(high[14]-low[14])+(high[13]-low[13])+(high[12]-low[12])+(high[11]-low[11])+(high[10]-low[10])+(high[9]-low[9])+(high[8]-low[8])+(high[7]-low[7])+(high[6]-low[6])+(high[5]-low[5])+(high[4]-low[4])+(high[3]-low[3])+(high[2]-low[2])+(high[1]-low[1]))/26
El=(close[1]+(0.266*admn))
es=(close[1]-(0.266*admn))
el1=((0.45*admn)+el)
el2=((0.95*admn)+el)
el3=((1.95*admn)+el)
es1=(es-(0.45*admn))
es2=(es-(0.95*admn))
es3=(es-(1.95*admn))


RETURN el ,es,el1,el2,el3,es1,es2,es3




ADM per ProrealTime - TimeFrame Orario - by domedome61


Codice:
AAA=(DHigh(1)-DLow(1))
admn=(AAA[26]+(AAA)[25]+(AAA)[24]+(AAA)[23]+(AAA)[22]+(AAA)[21]+(AAA)[20]+(AAA)[19]+(AAA)[18]+(AAA)[17]+(AAA)[16]+(AAA)[15]+(AAA)[14]+(AAA)[13]+(AAA)[12]+(AAA)[11]+(AAA)[10]+(AAA)[9]+(AAA)[8]+(AAA)[7]+(AAA)[6]+(AAA)[5]+(AAA)[4]+(AAA)[3]+(AAA)[2]+(AAA)[1])/26
AAB=(DCLOSE(1))
El=(AAB+(0.266*admn))
es=(AAB-(0.266*admn))
el1=((0.45*admn)+el)
el2=((0.95*admn)+el)
el3=((1.95*admn)+el)
es1=(es-(0.45*admn))
es2=(es-(0.95*admn))
es3=(es-(1.95*admn))


RETURN el,es,el1,el2,el3,es1,es2,es3


ADM per Tradingview by aldebaran74


Codice:
study("Adm", overlay=true)
gg = input(title="Giorni", type=integer, defval=26, minval=1) 
bg = input(title="Barre al giorno", type=integer, defval=9, minval=1) 
pb = input(title="Price break", type=float, defval=0.266, minval=0.1)

barre = gg*bg
newbar =  change(time("D")) != 0 ? 1 : 0
adm = (sum ((security(tickerid, "D", high[1])-security(tickerid, "D", low[1]))*newbar, barre)) / gg
//non ho ancora trovato un metodo migiore per far capire che serve un valore per ogni giorno
chiusuraieri = security(tickerid, "D", close[1])
compra = chiusuraieri + adm*pb
vendi = chiusuraieri - adm*pb
plot (compra, color=green, title="LONG", linewidth=2)
plot (vendi, color=red, title="SHORT", linewidth=2)
plot (compra+(0.45*adm), color=green, title='tg1')
plot (compra+(0.95*adm), color=green, title='tg2')
plot (compra+(1.95*adm), color=green, title='tg3')
plot (vendi-(0.45*adm), color=red, title='tg1')
plot (vendi-(0.95*adm), color=red, title='tg2')
plot (vendi-(1.95*adm), color=red, title='tg3')

ADM per T3 Webank by Swing64

Codice:
//periodo = 26

ranges = 0
for i = 1 to periodo
ranges = ranges + (dhigh(i)-dlow(i))
next
ADM=ranges/periodo

EntryShort = dclose(1) - ADM*0.266
TS1 = EntryShort-0.45*ADM
TS2 = EntryShort-0.95*ADM
TS3 = EntryShort-1.95*ADM

EntryLong = dclose(1) + ADM*0.266
TL1 = EntryLong+0.45*ADM
TL2 = EntryLong+0.95*ADM
TL3 = EntryLong+1.95*ADM

return TL3 AS "Long3", TL2 AS "Long2", TL1 AS "Long1",EntryLong AS "Entry Long",EntryShort AS "Entry Short",TS1 AS "Short1",TS2 AS "Short2",TS3 AS "Short3"
-----------------------------------------------------------------------------------

Il TS di medio-lungo periodo (X4)


il CMX o Complex Momentum Index

il CMX o Complex Momentum Index, è un indicatore proprietario che analizza le proprietà fisiche delle armoniche che compongono l’andamento dell’indice.
La formula al momento è segreta.
Rappresenta in un “certo modo” l’andamento ombra dell’indice..



quando CMX supera la linea dello 0 da sotto a sopra l’indice riceve un impulso long (freccia azzurra verso l’alto)

quando CMX supera la linea dello 0 da sopra a sotto l’indice riceve un impulso short (freccia fucsia verso il basso)

Per le inversioni si usa accoppiato all’ X+4 (Ciclo Ombra di medio-lungo periodo)



quando CMX supera verso l’alto X+4 del 15% inversione long di medio-lungo periodo (freccia verde verso l’alto)

tra -15% e + 15% è FLAT (cerchio o elisse color giallo chiaro)

quando CMX supera verso il basso X+4 del 15% inversione short di medio-lungo periodo (freccia rossa verso il basso)
 
Ultima modifica:
ho l'impressione ci dovremo abituare a tradare secondo la sterlina
vedo molta correlazione in giro .. persino i kanis si adeguano
 
preso longhino
1/3 a 0,1475
 
entry short partita
 

Allegati

  • 2016-10-07 16_02_29-FTMIB_ 16368.58 ▼−0.75% - FTSEMIB - TradingView.jpg
    2016-10-07 16_02_29-FTMIB_ 16368.58 ▼−0.75% - FTSEMIB - TradingView.jpg
    131,4 KB · Visite: 49
tranki.....mo i kanis rientrano....
 
io mi sono ricomprato un pizzico di intesa a 1,986
 
fatto l'inventario ...sono stracarico di long ...invece di stare alla finestra, ho premuto il buy ..consentitemi almeno il ritorno alla positivita' che ivi almeno uno scarico ...abbiate comprensione
 
se non fosse per i triangoli americani comincerei a pensare ad una serie di rassicuranti rettangoli che ci portino senza problemi alle elezioni americane con i valori correnti.......che ne pensate? Scontata come ipotesi?
 
ma allora eri tu ieri che ci sbarravi i 550 ...miseriaccia ho chiesto a destra e a manca e te ne vieni fuori adesso :p


ops... scusasse
:)

Ma io esco presto... già a 280 (index) mi chiamo fuori !

Anzi, se me li fai fare subito, da li mi rimetto long
 
questa fa davvero paura

household oct 2016.JPG
 
mi sono perso qualcosa?
viene giu tutto come una pera
 
Indietro