Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Fantastico - funziona molto bene mladen! Grazie mille.
Un paio di richieste se non è troppo disturbo:
1. Mentre le 4 MA sono tutte in sincronia, il prezzo si ritira e tocca una MA designata
(in questo caso la 2a MA più corta, la 15 EMA rossa) vorrei che venisse prodotta una freccia e un allarme.
Poi passerei al più piccolo time frame 1M per cercare un segnale short lì.
Inserisco linee orizzontali e verticali in modo che sia facile individuare dove guardare (punto A) nel backtesting su timeframe 1M più piccolo
2. Posso chiedere al 4 ma synch indy di cercare solo due o tre ma che siano sincronizzati per mostrare la barra dell'istogramma? (si prega di vedere l'allegato condizioni 1m per quello che sto cercando di fare qui)
persona77
Temo che questo indicatore non sia progettato o previsto per mostrare i tocchi di prezzo. Inoltre sono abbastanza sicuro che thera sono già buoni indicatori che stanno facendo esattamente questo tipo di lavoro.
Per quanto riguarda la versione 2 e 3 mas: basta sostituire il "" nel codice dove si vede il confronto che va come "if (ma1<ma2 && ma2<3" ... e così via, con "=" e poi impostare 2 mas agli stessi valori per 3 mas diversi o 2 coppie di mas agli stessi valori per avere 2 mas mostrati dall'indicatore
mladen
Grazie per il suggerimento.
Il mio codice è quasi inutile!
Ho cambiato il > e il < in = ma ho avuto degli errori durante la compilazione.
Cosa devo fare diversamente?
//------------------------------------------------------------------
#proprietà copyright "www.forex-tsd.com"
#proprietà link "www.forex-tsd.com"
//------------------------------------------------------------------
#proprietà indicator_separate_window
#proprietà indicatore_buffer 2
#proprietà indicator_color1 LimeGreen
#proprietà indicator_color2 DarkOrange
#property indicator_width1 2
#property indicator_width2 2
#proprietà indicator_minimum 0
#proprietà indicator_maximum 1
extern int Ma1Period = 5;
extern int Ma1Price = PRICE_CLOSE;
extern int Ma1Method = MODE_EMA;
extern int Ma1Shift = 0;
extern int Ma2Period = 15;
extern int Ma2Price = PRICE_CLOSE;
extern int Ma2Method = MODE_EMA;
extern int Ma2Shift = 0;
extern int Ma3Period = 28;
extern int Ma3Price = PRICE_CLOSE;
extern int Ma3Method = MODE_EMA;
extern int Ma3Shift = 0;
extern int Ma4Period = 45;
extern int Ma4Price = PRICE_CLOSE;
extern int Ma4Method = MODE_EMA;
extern int Ma4Shift = 0;
//
//
//
//
//
doppio histu[];
doppio histd[];
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu); SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(1,histd); SetIndexStyle(1,DRAW_HISTOGRAM);
return(0);
}
int deinit() { return(0); }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars = IndicatorCounted();
se (counted_bars < 0) return(-1);
se (counted_bars > 0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(int i = limite; i >=0; i--)
{
double ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i);
double ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i);
double ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i);
double ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i);
histu = VUOTO_VALORE;
histd = VUOTO_VALORE;
se(ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;
se(ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;
}
return(0);
}
ciao
che dire di renko grafico 2min usando MA?
grazie in anticipo
mladen
Grazie per il suggerimento.
Il mio codice è quasi inutile!
Ho cambiato il > e il < in = ma ho avuto degli errori durante la compilazione.
Cosa devo fare diversamente?
//------------------------------------------------------------------
#proprietà copyright "www.forex-tsd.com"
#proprietà link "www.forex-tsd.com"
//------------------------------------------------------------------
#proprietà indicator_separate_window
#proprietà indicatore_buffer 2
#proprietà indicator_color1 LimeGreen
#proprietà indicator_color2 DarkOrange
#property indicator_width1 2
#property indicator_width2 2
#proprietà indicator_minimum 0
#proprietà indicator_maximum 1
extern int Ma1Period = 5;
extern int Ma1Price = PRICE_CLOSE;
extern int Ma1Method = MODE_EMA;
extern int Ma1Shift = 0;
extern int Ma2Period = 15;
extern int Ma2Price = PRICE_CLOSE;
extern int Ma2Method = MODE_EMA;
extern int Ma2Shift = 0;
extern int Ma3Period = 28;
extern int Ma3Price = PRICE_CLOSE;
extern int Ma3Method = MODE_EMA;
extern int Ma3Shift = 0;
extern int Ma4Period = 45;
extern int Ma4Price = PRICE_CLOSE;
extern int Ma4Method = MODE_EMA;
extern int Ma4Shift = 0;
//
//
//
//
//
doppio histu[];
doppio histd[];
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu); SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(1,histd); SetIndexStyle(1,DRAW_HISTOGRAM);
return(0);
}
int deinit() { return(0); }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars = IndicatorCounted();
se (counted_bars < 0) return(-1);
se (counted_bars > 0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(int i = limite; i >=0; i--)
{
double ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i);
double ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i);
double ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i);
double ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i);
histu = VUOTO_VALORE;
histd = EMPTY_VALUE;
se(ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;
se(ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;
}
return(0);
}persona77
Avresti dovuto sostituire "<" con "" con ">=" (non solo "=")
_____________________
PS: ho dimenticato di dire che 2 MA sono sempre in sincronia
Funziona perfettamente!
Grazie mladen.
Media mobile adattiva di Kaufman
Media mobile adattiva Kaufman (di Alexander Gettinger)
Formulas:
KAMA = KAMA+sc*(Prezzo-KAMA), dove
sc = (er*0.6015+0.0645)*(er*0.6015+0.0645),
er = Abs(Prezzo-Prezzo)/Somma1,
Sum1 = Somma(Abs(Prezzo-Prezzo)) da (i-Lunghezza+1) a i.
Due versioni di regressione lineare (dallo stesso autore)
Kaufman AMA pre-filtrato
Sto preparando il Kaufman AMA (adaptive moving average) per alcune altre cose, e qui c'è una versione che ha un modo molto semplificato di usare (il calcolo dell'ama è diventato una funzione ora). Può anche avere il prezzo per-filtraggio (invece di usare il prezzo grezzo, si può usare il prezzo filtrato (per attivare il filtraggio, impostare PriceFilter a 1)
MA28 (di Alexander Gettinger)
sarebbe, per favore, possibile fare l'indicatore multitimeframe? grazie
Preparando Kaufman AMA (adaptive moving average) per alcune altre cose, ed ecco una versione che ha un modo molto semplificato di utilizzo (il calcolo dell'ama è reso una funzione ora). Può anche avere il prezzo per-filtraggio (invece di usare il prezzo grezzo, può essere usato il prezzo filtrato (per attivare il filtraggio, impostare PriceFilter a 1)