2 Attachment (s) sto cercando di filtrare alcuni segnali che hanno trovato ATR un po 'troppo visitato

ha avuto una semplice idea da confrontare

(alto-basso)chiudi * 1000

Ho modifio un codice ma non funziona bene ...

c'è un bug nel fine settimana; ottenere dati falsi ...

aiuto di pls ....

(se puoi pensare di aggiungere un po 'più di funzionalità ma un livello di avviso ..)

Grazie




***************************

// ----------------------------------------------- -------------------
//| Intervallo in% .mq4 |
//| |
//| |
// ----------------------------------------------- -------------------
#property copyright free
link #property gratuito

#property indior_separate_window
#property indior_buffers 1
#property indior_color1 DodgerBlue
//---- parametri di input
extern int AtrPeriod = 1;
//---- buffer
double AtrBuffer [];
doppio TempBuffer [];
// ----------------------------------------------- -------------------
//| Funzione di inizializzazione interna personalizzata |
// ----------------------------------------------- -------------------
int init ()
{
stringa short_name;
//---- 1 buffer aggiuntivo utilizzato per il conteggio.
IndiorBuffers (2);
//---- linea interna
SetIndexStyle (0, DRAW_HISTOGRAM);
SetIndexBuffer (0, AtrBuffer);
SetIndexBuffer (1, TempBuffer);
//---- nome per DataWindow e l'etichetta della finestra secondaria interna
short_name = intervallo in% AtrPeriod );
IndiorShortName (SHORT_NAME);
SetIndexLabel (0, SHORT_NAME);
//----
SetIndexDrawBegin (0, AtrPeriod);
//----
ritorno (0);
}
// ----------------------------------------------- -------------------
//| Media gamma reale |
// ----------------------------------------------- -------------------
int start ()
{
int i, counted_bars = IndiorCounted ();
//----
se (Barslt; = AtrPeriod) return (0);
//---- zero iniziale
if (counted_barslt; 1)
for (i = 1; ilt; = AtrPeriod; i ) AtrBuffer [Bars-i] = 0.0;
//----
i = Bar-counted_bars-1;
mentre (IGT; = 0)
{
doppio alto = Alto [i];
doppio basso = Basso [i];
if (i == Bars-1) TempBuffer [i] = alto-basso;
altro
{
double prevclose = Close [i 1];
TempBuffer [i] = (MathMax (alto, prevclose) -MathMin (basso, prevclose))Close [i 1] * 1000;
}
io--;
}
//----
if (counted_barsgt; 0) counted_bars--;
int limit = Bars-counted_bars;
for (i = 0; ilt; limit; i )
AtrBuffer [i] = iMAOnArray (TempBuffer, Bar, AtrPeriod, 0, MODE_SMA, i);
//----
ritorno (0);
}
// ----------------------------------------------- -------------------

https://www.forexmad.com/attachments...0571487221.mq4

https://www.forexmad.com/trading-sys...-training.html