Indicatori multi timeframe - pagina 276

 

mtf demarker

qualcuno ha un indicatore mtf demarker funzionante?

grazie

 
jackt:
qualcuno ha un indicatore mtf demarker funzionante? grazie

Potete provare questa versione, funziona con DeMarker standard.

File:
 
matfx:
Puoi provare questa versione, funziona con DeMarker standard.

Non funziona. ho messo 2 mtf demarker su un grafico h4. impostazioni periodo 2, tf 1440 e periodo 3, tf 1440. entrambi mostrano lo stesso grafico.

 

demarcatore con allarme

ciao:

Io sono uso ieri indicatore demarcatore, che è grande!

può fare questo indicatore con allarme?

per esempio:

se MTF_Demarker (0) > 0.7 e MTF_Demarker(15)>0.7 BUY e allarme

se MTF_Demarker (0) < 0.3 e MTF_Demarker(15)<0.3 VENDERE e allarme

grazie in anticipo!

 

Fare indicatori MTF

Mi chiedevo se qualcuno potesse mostrarmi come fare indicatori MTF. Posso fare la codifica di base ma non so come convertire un indicatore standard in MTF. Ho un sacco di cose che voglio fare e voglio imparare a farlo da solo. Grazie in anticipo.

EDIT: Non importa. L'ho capito.

 
jturns23:
Mi chiedevo se qualcuno potesse mostrarmi come rendere gli indicatori MTF. So fare la codifica di base ma non so come convertire un indicatore standard in MTF. Ho un mucchio che voglio fare e voglio imparare a farlo da solo. Grazie in anticipo. EDIT: Non importa. L'ho capito.

Cominciate a leggere i primi post. La sua spiegazione è facile.

 

Mtf_wpr

Sto testando il mio sistema con l'indicatore MTF_WPR è molto utile.

qualcuno può allegare un allarme a questo indicatore?

per esempio:

se MTF_WPR(tf=0)>-20 & MTF_WPR(tf=15)>-20 allora COMPRA & ALLARME

se MTF_WPR(tf=0)<-80 & MTF_WPR(tf=15)<-80 allora VENDERE & ALLARME

thx

 
matfx:
Puoi provare questa versione, funziona con DeMarker standard.
jackt:
non funziona. ho messo 2 mtf demarker su un grafico h4. impostazioni periodo 2, tf 1440 e periodo 3, tf 1440. entrambi mostrano lo stesso grafico.

in MTF DeMarker.mq4 (3.0 KB) basta aggiungere il controllo del periodo nella linea83:

ExtDeMarkerMapBuffer=iCustom(NULL,TimeFrame, "DeMarker",ExtDeMarkerPeriod,0,y);

File:
 
fxbs:
in MTF DeMarker.mq4 (3.0 KB) basta aggiungere il controllo del periodo nella linea83: ExtDeMarkerMapBuffer=iCustom(NULL,TimeFrame, "DeMarker",ExtDeMarkerPeriod,0,y);

grazie mille. funziona!

 

Qualche idea sul perché non si aggiorna?

Ciao. Mi scuso per non aver mostrato la grafica o il caricamento dell'indi. Credo che non mi sia ancora permesso di postare file. Mi dispiace quindi devo tagliare e incollare il codice invece.

Questo indi chiamato QQE_Alert_MTF_v5a è un MTF QQE. Non si aggiorna. Ho provato il Period () mod per farlo aggiornare ma senza fortuna. Se lo metti su un grafico a 1 minuto e imposti l'indicatore per 15 minuti, lasciandolo girare per un po' puoi vedere cosa succede.

Ho dovuto accorciare l'indi perché ho superato il limite di caratteri di FXTSDMB, su questo. La seconda parte è nella prossima risposta.

Mi scuso per averla resa difficile. Grazie.

QQE_Alert_MTF_v5a

#proprietà indicator_separate_window

#proprietà indicator_levelcolor Red

#proprietà indicator_levelstyle 0

#proprietà indicator_buffers 3

#proprietà indicator_color1 Blue

#proprietà indicator_color2 CLR_NONE

#Proprietà indicatore_colore3 Nero

#proprietà indicator_width1 2

#proprietà indicator_level1 50.0

double g_ibuf_76[];

double g_ibuf_80[]

double g_ibuf_84[]

double g_ibuf_88[]

double g_ibuf_92[];

double g_ibuf_96[];

double g_ibuf_100[]

doppio g_ibuf_104[];

extern int Smoothing = 5;

extern int TimeFrame = 0;

extern string ALERTS = "------------------------------------------------------";

extern bool CrossFiftyAlert = FALSE;

extern bool CrossFiftyEmail = FALSE;

extern bool CrossLineAlert = FALSE;

extern bool CrossLineEmail = FALSE;

extern bool BothAlert = FALSE;

extern bool BothEmail = FALSE;

extern string MESSAGES = "------------------------------------------------------";

extern string FiftyUpMessage = "QQE ha attraversato la linea 50 UP !!!";

extern string FiftyDownMessage = "QQE ha attraversato 50 linee in basso!!!";

extern string QQECrossUpMessage = "QQE ha incrociato le linee SU !!!";

extern string QQECrossDownMessage = "Linee QQE incrociate DOWN !!!";

extern string BothUpMessage = "Le linee di QQE sono incrociate e la linea 50 è rotta verso l'alto!!!";

extern string BothDownMessage = "Le linee di QQE sono incrociate e la linea 50 si è rotta verso il basso!!!";

extern string SOUNDS = "------------------------------------------------------";

extern string FiftyUpSound = "alert.wav";

extern string FiftyDownSound = "alert.wav";

extern string QQECrossUpSound = "alert.wav

extern string QQECrossDownSound = "alert.wav

extern string BothUpSound = "alert.wav

extern string BothDownSound = "alert.wav

extern string DOT_VISIBILITY = "------------------------------------------------------";

extern bool FiftyUpDot = FALSE;

extern bool FiftyDownDot = FALSE;

extern bool QQECrossUpDot = FALSE;

extern bool QQECrossDownDot = FALSE;

extern bool BothUpDot = FALSE

extern bool BothDownDot = FALSE;

extern string DOT_COLORS = "------------------------------------------------------";

extern color FiftyUpColor = DodgerBlue;

extern color FiftyDownColor = Crimson;

extern color QQECrossUpColor = Teal;

extern color QQECrossDownColor = Rosa;

il colore esterno BothUpColor = Blu;

extern color BothDownColor = Rosso;

extern string DOT_DISTANCE = "------------------------------------------------------";

extern int Distance = 30;

int gi_unused_336 = 0;

int gi_unused_340 = 0;

int gi_344 = 0;

int init() {

stringa ls_unused_8;

stringa ls_20;

IndicatorBuffers(8);

SetIndexBuffer(0, g_ibuf_80);

SetIndexBuffer(1, g_ibuf_84);

SetIndexBuffer(2, g_ibuf_88);

SetIndexBuffer(3, g_ibuf_76);

SetIndexBuffer(4, g_ibuf_92);

SetIndexBuffer(5, g_ibuf_96);

SetIndexBuffer(6, g_ibuf_100);

SetIndexBuffer(7, g_ibuf_104);

interruttore (TimeFrame) {

caso 1:

ls_20 = "Periodo_M1";

break;

caso 5:

ls_20 = "Periodo_M5";

break;

caso 15:

ls_20 = "Periodo_M15";

break;

caso 30:

ls_20 = "Periodo_M30";

break;

caso 60:

ls_20 = "Periodo_H1";

break;

caso 240:

ls_20 = "Periodo_H4";

break;

caso 1440:

ls_20 = "Periodo_D1";

break;

caso 10080:

ls_20 = "Periodo_W1";

break;

caso 43200:

ls_20 = "Periodo_MN1";

break;

default:

ls_20 ="Timeframe corrente";

}

MathSrand(TimeLocal());

stringa ls_0 = "QQE " + ls_20;

IndicatoreNomeCorto(ls_0);

return (0);

}

int deinit() {

stringa l_name_4;

for (int li_0 = 32768; li_0 > 0; li_0--) {

l_name_4 = "QQE-" + li_0;

ObjectDelete(l_name_4);

}

return (0);

}

int start() {

int lia_20[]

double ld_28;

doppio ld_36;

int li_44;

stringa l_name_48;

int li_0 = IndicatorCounted();

se (li_0 < 0) ritorna (-1);

se (li_0 > 0) li_0--;

int li_24 = Barre - li_0;

int li_unused_12 = Smoothing;

ArrayCopySeries(lia_20, 5, Symbol(), TimeFrame);

int li_4 = 0;

int li_8 = 0;

mentre (li_4 < li_24) {

se (Time[li_4] < lia_20[li_8]) li_8++;

g_ibuf_76[li_4] = iRSI(NULL, TimeFrame, 14, PRICE_CLOSE, li_8);

li_4++;

}

li_4 = 0;

li_8 = 0;

mentre (li_4 < li_24) {

se (Tempo[li_4] < lia_20[li_8]) li_8++;

g_ibuf_80[li_8] = iMAOnArray(g_ibuf_76, 0, Smoothing, 0, MODE_EMA, li_8);

li_4++;

}

for (li_4 = 0; li_4 < li_24; li_4++) {

ld_28 = MathMax(g_ibuf_80[li_4 + 1], g_ibuf_80[li_4]);

ld_36 = MathMin(g_ibuf_80[li_4 + 1], g_ibuf_80[li_4]);

g_ibuf_96[li_4] = ld_28 - ld_36;

}

for (li_4 = 0; li_4 < li_24; li_4++) g_ibuf_92[li_4] = iMAOnArray(g_ibuf_96, 0, 27, 0, MODE_EMA, li_4);

for (li_4 = 0; li_4 < li_24; li_4++) g_ibuf_100[li_4] = 2,618 * iMAOnArray(g_ibuf_92, 0, 27, 0, MODE_EMA, li_4);

for (li_4 = li_24; li_4 >= 0; li_4--) {

if (g_ibuf_80[li_4] == g_ibuf_84[li_4 + 1]) g_ibuf_84[li_4] = g_ibuf_80[li_4];

altrimenti {

if (g_ibuf_80[li_4 + 1] < g_ibuf_84[li_4 + 1] && g_ibuf_80[li_4] < g_ibuf_84[li_4 + 1]) g_ibuf_84[li_4] = MathMin(g_ibuf_84[li_4 + 1], g_ibuf_80[li_4] + g_ibuf_100[li_4])

altrimenti {

if (g_ibuf_80[li_4 + 1] > g_ibuf_84[li_4 + 1] && g_ibuf_80[li_4] > g_ibuf_84[li_4 + 1]) g_ibuf_84[li_4] = MathMax(g_ibuf_84[li_4 + 1], g_ibuf_80[li_4] - g_ibuf_100[li_4])

altrimenti {

se (g_ibuf_80[li_4] > g_ibuf_84[li_4 + 1]) g_ibuf_84[li_4] = g_ibuf_80[li_4] - g_ibuf_100[li_4];

altrimenti g_ibuf_84[li_4] = g_ibuf_80[li_4] + g_ibuf_100[li_4];

}

}

}

}

for (li_4 = 0; li_4 < li_24; li_4++) g_ibuf_104[li_4] = 4,236 * iMAOnArray(g_ibuf_92, 0, 27, 0, MODE_EMA, li_4);

for (li_4 = li_24; li_4 >= 0; li_4--) {

if (g_ibuf_80[li_4] == g_ibuf_88[li_4 + 1]) g_ibuf_88[li_4] = g_ibuf_80[li_4];

altrimenti {

if (g_ibuf_80[li_4 + 1] < g_ibuf_88[li_4 + 1] && g_ibuf_80[li_4] < g_ibuf_88[li_4 + 1]) g_ibuf_88[li_4] = MathMin(g_ibuf_88[li_4 + 1], g_ibuf_80[li_4] + g_ibuf_104[li_4])

altrimenti {

if (g_ibuf_80[li_4 + 1] > g_ibuf_88[li_4 + 1] && g_ibuf_80[li_4] > g_ibuf_88[li_4 + 1]) g_ibuf_88[li_4] = MathMax(g_ibuf_88[li_4 + 1], g_ibuf_80[li_4] - g_ibuf_104[li_4])

altrimenti {

se (g_ibuf_80[li_4] > g_ibuf_88[li_4 + 1]) g_ibuf_88[li_4] = g_ibuf_80[li_4] - g_ibuf_104[li_4];

altrimenti g_ibuf_88[li_4] = g_ibuf_80[li_4] + g_ibuf_104[li_4];

}

}

}

}

if (gi_344 == Time[0]) return (0);

for (li_4 = li_24 - 1; li_4 >= 0; li_4--) {

if (g_ibuf_80[li_4 + 1] > 50.0 && g_ibuf_80[li_4 + 2] <= 50.0 && FiftyUpDot) {

li_44 = MathRand() + 1;

l_name_48 = "QQE-" + li_44;

ObjectCreate(l_name_48, OBJ_ARROW, 0, Time[li_4], Low[li_4] - Distance * Point);

ObjectSet(l_name_48, OBJPROP_COLOR, FiftyUpColor);

ObjectSet(l_name_48, OBJPROP_ARROWCODE, 108);