FTSEMIB e altri Indici, Materie Prime 37.0

xinian70

Analista T.Olistico
Registrato
23/8/11
Messaggi
32.462
Punti reazioni
873
Un po' di Storico....

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:
buongiorno a tutti. :)

tra l'altro i dati deludenti della germania dovrebbero favorire prossimi più corposi interventi della bce. o no? :o
 
certo ..le tir le immettono nella centrale del latte di torino con annessi
e connessi :wall::wall::wall:
animo ragazzi e e mi raccomando ..studiate anche

Ciao massi, mi riservo di studiare meglio la situazione ma secondo me:
- al momento si va verso una diluizione di TI che ne può comportare una riduzione di valore;
- se poi l'obiettivo è quello di rendere più difficile - leggasi onerosa - un'OPA, ci può stare che il titolo abbia prospettive di un rally (non nel brevissimo).
 
Buongiorno!!!!

Sono tutti ancora di la:cool::cool::cool::cool::cool:
 
XIN!

Grazie ANCHE per il lavorone che fai sul fol

:bow::bow::clap::clap:
 
mia personale view basata su sensazioni e non su AT, quindi da prendere assolutamente con le molle, in teoria:

- venerdì statisticamente "rosso"
- veniamo da giorni di lateralità
- veniamo da giorni di underperformance rispetto agli altri indici
- segnali short

anche se può sembrare un paradosso, per i motivi scritti sopra credo fortemente in una chiusura verde che spiazzi un po' tutti..
 
Il dax sono sempre più convinto di vederlo a 10500 e poi anche 10200 a questi livelli in base a come vi arriverà stop e reverse long
 
Chissà se qualcuno mi risponderà....

Per titare le linee, per supporti e resistenze...calcolate le 3 battute da manuale sullo stesso livello?
Su che tf operate per le linee?

Grazie
 
Chissà se qualcuno mi risponderà....

Per titare le linee, per supporti e resistenze...calcolate le 3 battute da manuale sullo stesso livello?
Su che tf operate per le linee?

Grazie

dipende dall'orizzonte temporale che ti proponi :rolleyes:
 
buongiorno, ero di là tutta sola.. nn riuscivo a inviare mex, mancava ancora una pagina x finire.. :'(
bene riprendiamo la conversazione.. ;) quando si crolla? :D
 
Il setup di Min rimane attivo con stop a 22100 minimo di ieri! Non abbiamo bisogno di chiusure orarie, basta lo sforamento!
 
Indietro