I was wondering if someone could show me how to make indicators MTF. I can do basic coding but don't know how to convert a standard indicator to MTF. I have a bunch I want to do and want to learn how to do it myself. Thanks in advance.
jturns23: I was wondering if someone could show me how to make indicators MTF. I can do basic coding but don't know how to convert a standard indicator to MTF. I have a bunch I want to do and want to learn how to do it myself. Thanks in advance. EDIT: Never mind. Figured it out.
Start by reading the first posts. Its easy explained.
Hello. I apologize not showing graphic or loading indi. I guess I'm not allowed to post files yet. I'm sorry so I have to cut and paste code instead.
This indi called QQE_Alert_MTF_v5a is a MTF QQE. It doesn't update. I tried the Period () mod to get it to update but no luck. If you put it on a 1 min chart and set the indicator for 15 minutes, let it run for a while you can see what happens.
I had to shorten the indi because I exceeded the FXTSDMB character limit, on this one. The second part is in the next reply.
mtf demarker
anyone has a working mtf demarker indicator?
thanks
anyone has a working mtf demarker indicator? thanks
You can try this version, works with standard DeMarker.
You can try this version, works with standard DeMarker.
doesn't work. i put 2 mtf demarker on a h4 chart. settings period 2, tf 1440 and period 3, tf 1440. both show the same graph.
demarker with alarm
hello:
i am use yesterday demarker indicator , thats great!
can make this indicator with alarm??
for example:
if MTF_Demarker (0) > 0.7 and MTF_Demarker(15)>0.7 BUY and alarm
if MTF_Demarker (0) < 0.3 and MTF_Demarker(15)<0.3 SELL and alarm
thanks in advance!
Making MTF indicators
I was wondering if someone could show me how to make indicators MTF. I can do basic coding but don't know how to convert a standard indicator to MTF. I have a bunch I want to do and want to learn how to do it myself. Thanks in advance.
EDIT: Never mind. Figured it out.
I was wondering if someone could show me how to make indicators MTF. I can do basic coding but don't know how to convert a standard indicator to MTF. I have a bunch I want to do and want to learn how to do it myself. Thanks in advance. EDIT: Never mind. Figured it out.
Start by reading the first posts. Its easy explained.
Mtf_wpr
i am testing my system with MTF_WPR indicator is very useful.
somebody can attach alarm to this indicator ?
for example:
if MTF_WPR(tf=0)>-20 & MTF_WPR(tf=15)>-20 then BUY &ALARM
if MTF_WPR(tf=0)<-80 & MTF_WPR(tf=15)<-80 then SELL &ALARM
thx
You can try this version, works with standard DeMarker.
doesn't work. i put 2 mtf demarker on a h4 chart. settings period 2, tf 1440 and period 3, tf 1440. both show the same graph.
in MTF DeMarker.mq4 (3.0 KB) just add period control in line83:
ExtDeMarkerMapBuffer=iCustom(NULL,TimeFrame,"DeMarker",ExtDeMarkerPeriod,0,y);
in MTF DeMarker.mq4 (3.0 KB) just add period control in line83: ExtDeMarkerMapBuffer=iCustom(NULL,TimeFrame,"DeMarker",ExtDeMarkerPeriod,0,y);
thank-you very much. it works!!
Any Idea on Why Not Updating?
Hello. I apologize not showing graphic or loading indi. I guess I'm not allowed to post files yet. I'm sorry so I have to cut and paste code instead.
This indi called QQE_Alert_MTF_v5a is a MTF QQE. It doesn't update. I tried the Period () mod to get it to update but no luck. If you put it on a 1 min chart and set the indicator for 15 minutes, let it run for a while you can see what happens.
I had to shorten the indi because I exceeded the FXTSDMB character limit, on this one. The second part is in the next reply.
I apologize for making it difficult. Thank you.
QQE_Alert_MTF_v5a
#property indicator_separate_window
#property indicator_levelcolor Red
#property indicator_levelstyle 0
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 CLR_NONE
#property indicator_color3 Black
#property indicator_width1 2
#property 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[];
double 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 Crossed 50 Line UP !!!";
extern string FiftyDownMessage = "QQE Crossed 50 Line DOWN !!!";
extern string QQECrossUpMessage = "QQE Lines Crossed UP !!!";
extern string QQECrossDownMessage = "QQE Lines Crossed DOWN !!!";
extern string BothUpMessage = "QQE Lines Are Crossed and 50 Line Broken UP !!!";
extern string BothDownMessage = "QQE Lines Are Crossed and 50 Line Broken DOWN !!!";
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 = Pink;
extern color BothUpColor = Blue;
extern color BothDownColor = Red;
extern string DOT_DISTANCE = "------------------------------------------------------";
extern int Distance = 30;
int gi_unused_336 = 0;
int gi_unused_340 = 0;
int gi_344 = 0;
int init() {
string ls_unused_8;
string 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);
switch (TimeFrame) {
case 1:
ls_20 = "Period_M1";
break;
case 5:
ls_20 = "Period_M5";
break;
case 15:
ls_20 = "Period_M15";
break;
case 30:
ls_20 = "Period_M30";
break;
case 60:
ls_20 = "Period_H1";
break;
case 240:
ls_20 = "Period_H4";
break;
case 1440:
ls_20 = "Period_D1";
break;
case 10080:
ls_20 = "Period_W1";
break;
case 43200:
ls_20 = "Period_MN1";
break;
default:
ls_20 = "Current Timeframe";
}
MathSrand(TimeLocal());
string ls_0 = "QQE " + ls_20;
IndicatorShortName(ls_0);
return (0);
}
int deinit() {
string 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;
double ld_36;
int li_44;
string l_name_48;
int li_0 = IndicatorCounted();
if (li_0 < 0) return (-1);
if (li_0 > 0) li_0--;
int li_24 = Bars - li_0;
int li_unused_12 = Smoothing;
ArrayCopySeries(lia_20, 5, Symbol(), TimeFrame);
int li_4 = 0;
int li_8 = 0;
while (li_4 < li_24) {
if (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;
while (li_4 < li_24) {
if (Time[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];
else {
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]);
else {
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]);
else {
if (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];
else 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];
else {
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]);
else {
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]);
else {
if (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];
else 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);