AMIBROKER - Indicatori e formule

Cú Chulainn

BuhaiolaTuMiTradisci
Registrato
2/1/04
Messaggi
6.100
Punti reazioni
739
Vorrei scambiare con voi del forum indicatori (INDICATOR BUILDER) di AMIBROKER che ritenete interessanti.

Grazie a tutti coloro che vorranno postare e scambiare informazioni

;) :)
 
Keltner channel

Codice per Indicator builder:

Mid = MA( (H+L+C)/3, 10); //The 10-Day Moving Average
Hi = Mid + MA((H-L),10); //Upper Keltner Band
Lo = Mid - MA((H-L),10); //Lower Keltner Band

Plot(Mid,"Mid",colorGreen,styleLine);
Plot(Hi,"Hi",colorRed,styleLine);
Plot(Lo,"lo",colorRed,styleLine);
Plot(C,"C",colorBlue,styleLine);



Commento:

molto utile per identificare il trend. Quando il trend è rialzista il titolo (blu) staziona prevalentemente nella parte alta del canale e la linea verde mediana fa da supporto. Quando il trend è ribassista il titolo (blu) staziona nella parte inferiore del canale e la linea verde mediana fa da resistenza.
 

Allegati

  • screenhunter_056.gif
    screenhunter_056.gif
    5,9 KB · Visite: 7.129
TRIPLE TRIX: quando tradare o non tradare

Codice:

function Trix2( array, period )
{
tmp = EMA( EMA( EMA( array, period ), period ), period );
result = (tmp - Ref( tmp , -1 ))/Ref( tmp, -1 ) ;
return result;
}

Trixline = Trix2( (O+C)/2, 5 );
TrixSignal = EMA( Trixline, 3 );

Plot( Trixline, "TRIX(5)", colorRed );
Plot( TrixSignal, "EMA(TRIX,3)", colorBlue );

GoldenCross = Cross( TrixLine, TrixSignal );
TrixFall = Trixline < Ref( Trixline, -1 ) AND Ref( Trixline, -1 ) > Ref( Trixline, -2 );

Buy = GoldenCross;
Sell = TrixFall;
Plot( Flip( Buy, Sell ), "Trade", colorPaleGreen, styleArea | styleOwnScale, 0, 1 );


COMMENTO:

ottimo indicatore per tutti i time frame. Io lo uso a supporto di altri come il CCI e ADX, come conferma e per decodere posizioni LONG (sfondo verdino) o SHORT (sfondo grigio).
 

Allegati

  • screenhunter_058.gif
    screenhunter_058.gif
    30,2 KB · Visite: 7.146
Scritto da Cú Chulainn
Vorrei scambiare con voi del forum indicatori (INDICATOR BUILDER) di AMIBROKER che ritenete interessanti.

Grazie a tutti coloro che vorranno postare e scambiare informazioni

;) :)

ciao Cú Chulainn,
ancora non utilizzo amibroker ma presto avrò un po' di tempo a disposizione e credo di poter contribuire costruttivamente alla tua proposta.

quindi UP

nel frattempo ho letto un po di documentazione di AB e vorrei approfittare di questo spazio per chiedere, a te o a chi voglia rispondere, alcuni chiarimenti sull'utilizzo di AB:
1- si riescono a caricare dati intraday free anche per le azioni italiane?
2- si possono personalizzare le medie mobili per ciascuna azione e mantenerle impostate come se fossero uno studio o si impostano per l'intero database?
3- per l'intraday, il caricamento dati e la esecuzione di scan o explore sono automatiche o devi dare manualmente il comando ogni volta che lo desideri?

sicuro che quando lo utilizzerò mi verranno + dubbi, ma per adesso finisco qui:D

a presto;) :)
aio
 
/* Calcolo dei pivot point e dei supporti e resistenze*/

P = ((H + L + C) / 3);
R1 = ((2 * P) - L);
S1 = ((2 * P) - H);
R2 = ((P - S1) + R1);
S2 = (P - (R1 - S1));

MaxGraph = 5;

Graph0 = P;
Graph1 = R1;
Graph2 = S1;
Graph3 = R2;
Graph4 = S2;

Graph0Style = 4;
Graph1Style = 1;
Graph2Style = 1;
Graph3Style = 1;
Graph4Style = 1;

Graph0Color = 7;
Graph1Color = 5;
Graph2Color = 5;
Graph3Color = 9;
Graph4Color = 9;

"R2:"+WriteVal(Graph3);
"R1:"+WriteVal(Graph1);
"PP:"+WriteVal(Graph0);
"S1:"+WriteVal(Graph2);
"S2:"+WriteVal(Graph4);

Cù.. i volumi sui prezzi come li hai fatti?
 
Scritto da FaBTrader
Salve, veramente un'ottima proposta ;)

Non riesco a far funzionare il triple trix (uso amibroker 4.30), potresti ricontrollare cortesemente il codice Cù ? ;)

Magari lo conoscete già, cmq sia ecco un link dove ci sono molti indicatori per AB:

http://www.amibroker.com/library/
http://www.amibroker.com/library/list.php

:)

credo che sia per la versione 4.3, ma dovresti veramente utilizzare le nuove versioni...

comunque ho fatto alcune modifiche e credo che ora funzioni anche con la 4.3:

tmp = EMA( EMA( EMA( (O+C)/2, 5 ), 5 ), 5 );
Trixline = (tmp - Ref( tmp , -1 ))/Ref( tmp, -1 ) ;

TrixSignal = EMA( Trixline, 3 );

Plot( Trixline, "TRIX(5)", colorRed );
Plot( TrixSignal, "EMA(TRIX,3)", colorBlue );

GoldenCross = Cross( TrixLine, TrixSignal );
TrixFall = Trixline < Ref( Trixline, -1 ) AND Ref( Trixline, -1 ) > Ref( Trixline, -2 );

Buy = GoldenCross;
Sell = TrixFall;
Plot( Flip( Buy, Sell ), "Trade", colorPaleGreen, styleArea | styleOwnScale, 0, 1 );
 
Re: Re: AMIBROKER - Indicatori e formule

Scritto da aio
ciao Cú Chulainn,
....a presto;) :)
aio

1- si riescono a caricare dati intraday free anche per le azioni italiane?

Attraverso Quotetracker che si aggancia a Amibroker si possono avere i dati da FINECO (solo per clienti) e directa (directaworld se ci si registra). Il refresh è di 15 secondi per il primo e di 20 per il secondo, per un trading veloce (spikes) è un po' un problema.

2- si possono personalizzare le medie mobili per ciascuna azione e mantenerle impostate come se fossero uno studio o si impostano per l'intero database?

Devi inserire il seguente codice:
if (Name() == "STM.MI")
{
//inserisci qui le medie mobili per STM
}
else if (Name() == "ALZI.MI")// ALLEANZA
{
//inserisci qui le medie mobili per ALLEANZA
}

3- per l'intraday, il caricamento dati e la esecuzione di scan o explore sono automatiche o devi dare manualmente il comando ogni volta che lo desideri?

c'è la funzione scan every xx min. puoi generare allarmi di vario tipo


;)

PS non sono un grande esperto (uso amibroker da qualche mese) magari qualcuno può aggiungere qualche informazione aggiuntiva.
 
Ultima modifica:
Scritto da gianler
/* Calcolo dei pivot point e dei supporti e resistenze*/

P = ((H + L + C) / 3);
R1 = ((2 * P) - L);
S1 = ((2 * P) - H);
R2 = ((P - S1) + R1);
S2 = (P - (R1 - S1));

MaxGraph = 5;

Graph0 = P;
Graph1 = R1;
Graph2 = S1;
Graph3 = R2;
Graph4 = S2;

Graph0Style = 4;
Graph1Style = 1;
Graph2Style = 1;
Graph3Style = 1;
Graph4Style = 1;

Graph0Color = 7;
Graph1Color = 5;
Graph2Color = 5;
Graph3Color = 9;
Graph4Color = 9;

"R2:"+WriteVal(Graph3);
"R1:"+WriteVal(Graph1);
"PP:"+WriteVal(Graph0);
"S1:"+WriteVal(Graph2);
"S2:"+WriteVal(Graph4);

Cù.. i volumi sui prezzi come li hai fatti?

Grazie Gianler,
solo una domanda sull'utilizzo dei PIVOT POINT: si utilizzano quelli della barra precedente (giorno precedente) per la barra successiva?
Credo che su una barra daily in formazione anche i dati calcolati cambino e non avrebbe senso utilizzarli, o sbaglio?

Allego grafico del tuo indicatore:
 

Allegati

  • screenhunter_065.gif
    screenhunter_065.gif
    8,2 KB · Visite: 6.761
Volumi e medie aggiuntive sui prezzi

Scritto da gianler

....
Cù.. i volumi sui prezzi come li hai fatti?

E' possibile arricchire l'indicatore standard dei prezzi con ulteriori informazioni a piacere, io personalmente utilizzo questo codice (da aggiungere nel codice dell'indicatore price) che comprende volumi per prezzo (Plotvapoverlay) e alcune medie semplici a 5 (giallo) a 14 (rosso) molto utili sul timeframe a 3 minuti:

MA5=MA(Close,5);
Plot(MA5,"FAST",colorYellow,styleLine);
Plot(EMA(MA5,5),"EMAFAST",colorOrange,styleLine);
Plot(MA(Close,14),"SLOW",colorRed,styleLine);
PlotOHLC( Open, High, Low, Close, "OHLC", colorBlue, styleCandle );
PlotVAPOverlay( Param("lines",300,10,1000,1), Param("width",10,1,99,1), ParamColor("color", colorDarkBlue), Param("style",0,0,7,1) );
//--Indicator-End--
 

Allegati

  • screenhunter_066.gif
    screenhunter_066.gif
    23,7 KB · Visite: 6.728
Re: Volumi e medie aggiuntive sui prezzi

Scritto da Cú Chulainn
E' possibile arricchire l'indicatore standard dei prezzi con ulteriori informazioni a piacere, io personalmente utilizzo questo codice (da aggiungere nel codice dell'indicatore price) che comprende volumi per prezzo (Plotvapoverlay) e alcune medie semplici a 5 (giallo) a 14 (rosso) molto utili sul timeframe a 3 minuti:

MA5=MA(Close,5);
Plot(MA5,"FAST",colorYellow,styleLine);
Plot(EMA(MA5,5),"EMAFAST",colorOrange,styleLine);
Plot(MA(Close,14),"SLOW",colorRed,styleLine);
PlotOHLC( Open, High, Low, Close, "OHLC", colorBlue, styleCandle );
PlotVAPOverlay( Param("lines",300,10,1000,1), Param("width",10,1,99,1), ParamColor("color", colorDarkBlue), Param("style",0,0,7,1) );
//--Indicator-End--

ecco il risultato ;)
 

Allegati

  • screenhunter_067.gif
    screenhunter_067.gif
    18 KB · Visite: 4.331
Scritto da Cú Chulainn
credo che sia per la versione 4.3, ma dovresti veramente utilizzare le nuove versioni...

comunque ho fatto alcune modifiche e credo che ora funzioni anche con la 4.3:

tmp = EMA( EMA( EMA( (O+C)/2, 5 ), 5 ), 5 );
Trixline = (tmp - Ref( tmp , -1 ))/Ref( tmp, -1 ) ;

TrixSignal = EMA( Trixline, 3 );

Plot( Trixline, "TRIX(5)", colorRed );
Plot( TrixSignal, "EMA(TRIX,3)", colorBlue );

GoldenCross = Cross( TrixLine, TrixSignal );
TrixFall = Trixline < Ref( Trixline, -1 ) AND Ref( Trixline, -1 ) > Ref( Trixline, -2 );

Buy = GoldenCross;
Sell = TrixFall;
Plot( Flip( Buy, Sell ), "Trade", colorPaleGreen, styleArea | styleOwnScale, 0, 1 );

Grazie Cù, in pratica hai dovuto togliere la prima parte del codice.. ho controllato su fiat e le barre verdi di trade sembrano corrispondere, ad occhio quindi funziona ;)
Cmq proverò anche con la più recente versione 4.50.
Thx :)

Fabio
 
Provato, dipende dalla versione che non supporta determinate cose, pensa, anche nella modifica del price (built-in) la 4.3 non supporta neanche il PlotVAPOverlay (quindi per chi avesse la 4.3 e volesse utilizzare il codice di Cù bisogna togliere questo tratto:

PlotVAPOverlay( Param("lines",300,10,1000,1), Param("width",10,1,99,1), ParamColor("color", colorDarkBlue), Param("style",0,0,7,1) );

:)

Fabio
 
Re: Re: Volumi e medie aggiuntive sui prezzi

Scritto da Cú Chulainn
ecco il risultato ;)

Ciao Cu',
intanto grazie per le formule utilissime soprattutto per chi, come me, sta facendo pratica con Amibr.da pochi giorni poi ti volevo chiedere se era possibile avere la formula dei pivot con anche S3 e R3.
Grazie ancora.
 
Re: Re: Re: Volumi e medie aggiuntive sui prezzi

Scritto da Caniovin
Ciao Cu',
intanto grazie per le formule utilissime soprattutto per chi, come me, sta facendo pratica con Amibr.da pochi giorni poi ti volevo chiedere se era possibile avere la formula dei pivot con anche S3 e R3.
Grazie ancora.

Ciao Caniovin,
lo dovresti chiedere a Gianler, io non so come si calcolano.
(Se mi dai qualche indicazione potrei provarci).

'Notte.
:)
 
Turbo CCI

il Turbo CCI altri non è che un CCI(6) che sovrascrive un CCI(14)...

ecco la formula appena scritta su Amibroker - indicator builder.


// Turbo CCI
PlotGrid( 200, colorBlack );
PlotGrid( -200, colorBlack );
Plot(CCI(14),"CCI(14)",colorBlack,styleLine);
Plot(CCI(14),"" ,colorBlack,styleHistogram);
Plot(CCI(6),"CCI(6)",colorRed,styleLine);

a cui aggiungere le grid -100+100 e 0 (standard)

Molto indicativo nei timeframes veloci (vedere apposito 3d http://www.finanzaonline.com/forum/showthread.php?&threadid=425811)
 

Allegati

  • screenhunter_068.gif
    screenhunter_068.gif
    6,8 KB · Visite: 2.020
'giorno :)

della lista che ho linkato ieri ce ne sono 2 basati su MACD e Stoch che integrano però anche il money management che non guasta.. "Risk and Positionmanagment is more important for successful trading than having only good entries and exits."

intanto eccovi il codice :


"STO & MACD Buy Signals with Money-Management"

( http://www.amibroker.com/library/formula.php?id=123 )

Description:
// This exploration looks for simple Stochastics and MACD buy signals
// to inialize long trades.
// Money-, Risk and Positionmanagment is more important for
// successful trading than having only good entries and exits.
// Therefore, I combined these signals with strict trade-,
// money-management and positionsizing rules.
// These trades are usually of very STnature ( 1 - 20 days ) because
// I used ST Volatility for Money-, Risk-, and positionsizing-managem.
// Feel free to alter these settings to your preferred trading-style
// The exploration can also be customized in terms of Account size,
// personal risk preferences and triggers for STO Indicator.
// STO and MACD can be replaced by your favourite trading-system
// However, the volatility based Moneymanagement and
// positionsizing rules could add a new dimension to your
// trading system.
// Standard account size 10 K ( see column6 )
// Standard risk is 2% of account size for any trade ( see column6)
// Entries, Stops, Profittargets ( PT) & Positionsizes are calculated on // ST Volatility ( ATR ).
// Entries should give a reasonable entry price within the projected
// trading range for the following day.
// Although I had to use Close as basis for the calculations rather than
// Median Price ( as I did in MetaStock ), it shourk work well.
// Stops are designed to keep the trade out of the daily noise.
// Risk and Reward are managed by positionsize, adjusted to the
// stocks ST volatility.
// Stops should only be trailed in the direction of the trade using the
// SF Stop Indicator
// Proft-targets are valid as from day of Trade-Entry. With the help of
// SF Entry,Stop PT indicor, one could "trail" also the PT.
// My advice is, to take some money of the table, once the initial target
// as of trade entry has been hit.
// I recommend strongly, to keep the risk per position at 2% of the
// account-size. If you are more agressive, think about taking
// additional trades rather than increasing the risk / trade.
// I'll experiment with using Adaptive MA's instead of Ema's and post
// the result later as an update.
// Backtesting : Unfortunately, the complete system cannot be
// back-tested in AB, because I can't input the algorithms as
// Systemsettings.
// Author :Stefan - Georg Fuchs
// www.tradeshark.de
// sgfuchs@tradeshark.de

lookback = 14;
buyrange = 20;
sellrange = 80;
stochKworkaround = STOCH(14);
stochDworkaround = EMA( STOCH(14), 3);

BUY = STOCH(14) < buyrange AND CROSS(stochKworkaround, stochDworkaround) or cross( macd(), signal() );

Filter = STOCH(14) < buyrange AND CROSS(stochKworkaround, stochDworkaround) or cross( macd(), signal() );
numcolumns=11;
column0 =STOCH(14) < buyrange AND CROSS(stochKworkaround, stochDworkaround);
column0name = "STOBuy";
column0format = 1;
Column1 = cross( macd(), signal() );
column1name = "MACD Buy";
column1format = 1;
column2 = close;
column2name = "Close";
Column2format = 1.2;
column3 = ema(CLOSE,5)+(ema(ATR(1),10)/4);
column3name = "EntrLong";
column3format = 1.2;
column4 = ema(CLOSE,5)-(ema(ATR(1),10)*1.50);
column4name = "StopLong";
column4format = 1.2;
column5 = (ema(close,5)+(ema(ATR(1),10)*2.5));
column5name = "PT";
column5format = 1.2;
column6 = ((10000)*2/100)/(ema(CLOSE,5)+ (ema(ATR(1),10)/4)-(ema(CLOSE,5)-(ema(ATR(1),10)*1.50)));
column6name = "Max Pos";
column6format = 1;
column7 = (ema(CLOSE,5)+(ema(ATR(1),10)/4)) - (ema(CLOSE,5)-(ema(ATR(1),10)*1.50));
column7name = "Risk";
column7format = 1.2;
column8 = (ema(close,5)+(ema(ATR(1),10)*2.5)) - (ema(CLOSE,5)+(ema(ATR(1),10)/4));
column8name = "Reward";
column8format = 1.2;


This code uses obsolete function
STOCH(14);
that must be replaced with
StochK(14);


-------


l'altro :

"SF Entry,Stop, PT Indicator"

( http://www.amibroker.com/library/formula.php?id=124 )

Description:
//For use with STO MACD Buy signals with Moneymanagement

maxgraph = 5;
graph0 = close;
graph0style=64;
graph0color=2;
graph1 = ema(CLOSE,5)-(ema(ATR(1),10)*1.50);
graph2 = ema(close,5)+(ema(ATR(1),10)*2.5);
graph2style = 1;
graph2color=3;
graph3 = ema(CLOSE,5)+(ema(ATR(1),10)/4);
graph3style = 1;
graph3colour =5;

errata corrige: l'avevo scritto doppio :D


----

Fabio
 
Ultima modifica:
Buondì a tutti..
purtroppo non ho molto tempo da dedicare al trading in questo periodo.. e quel poco di tempo che ho lo sto dedicando ad un TS daily..
i pivot sono calcolati sempre per il giorno successivo.. ecco l'aggiornamento di R3 e S3

/* Calcolo dei pivot point e dei supporti e resistenze*/

P = ((H + L + C) / 3);
R1 = ((2 * P) - L);
S1 = ((2 * P) - H);
R2 = ((P - S1) + R1);
S2 = (P - (R1 - S1));
R3 = ((P - S2) +R2);
S3 = (P - (R2-S2));

MaxGraph = 7;

Graph0 = P;
Graph1 = R1;
Graph2 = S1;
Graph3 = R2;
Graph4 = S2;
Graph5 = R3;
Graph6 = S3;

Graph0Style = 4;
Graph1Style = 1;
Graph2Style = 1;
Graph3Style = 1;
Graph4Style = 1;
Graph5Style = 1;
Graph6Style = 1;

Graph0Color = 7;
Graph1Color = 5;
Graph2Color = 5;
Graph3Color = 9;
Graph4Color = 9;
Graph5Color = 11;
Graph6Color = 11;

"R3:"+WriteVal(Graph5);
"R2:"+WriteVal(Graph3);
"R1:"+WriteVal(Graph1);
"PP:"+WriteVal(Graph0);
"S1:"+WriteVal(Graph2);
"S2:"+WriteVal(Graph4);
"S3:"+WriteVal(Graph6);
 
Scusa gianler, non avevo visto il tuo reply mentre stavo già scrivendo il mio, ben fatto ! :)

Fabio
 
Indietro