Edit Your Comment
MACD TRUE
Mar 15, 2018 at 08:04
Jun 23, 2014 부터 멤버
게시물12
Attached is a MACD True indicator by David W. Thomas and it looks good. How can I access the values of each in coding a test script? My attempts have come to nothing. Any help? Where I am I wrong when scripting
double m = iCustom(NULL,0,"MACD True",MODE_MAIN,1);
double n = iCustom(NULL,0,"MACD True",0,MODE_SIGNAL,1);
double p = iCustom(NULL,0,"MACD True",0,MODE_EMA,1); //and I have no idea how to get the histogram value
Thanks inadvance,😞
double m = iCustom(NULL,0,"MACD True",MODE_MAIN,1);
double n = iCustom(NULL,0,"MACD True",0,MODE_SIGNAL,1);
double p = iCustom(NULL,0,"MACD True",0,MODE_EMA,1); //and I have no idea how to get the histogram value
Thanks inadvance,😞
Keep Learning and better your best!!
Mar 15, 2018 at 08:35
(편집됨 Mar 15, 2018 at 08:36)
Jun 14, 2013 부터 멤버
게시물127
Hi CupOtea,
I know the MACD True, use it myself... :)
The indicator stores the following values:
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MACDLineBuffer);
SetIndexDrawBegin(0,SlowMAPeriod);
SetIndexStyle(1,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(1,SignalLineBuffer);
SetIndexDrawBegin(1,SlowMAPeriod+SignalMAPeriod);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexBuffer(2,HistogramBuffer);
SetIndexDrawBegin(2,SlowMAPeriod+SignalMAPeriod);
So buffer 0 stores the value for the MACD Line, Buffer 1 the value for the Signal Line, and buffer 2 the value for the Histogram.
So you can try this. I have not tested it, but it should work. Just remember to replace "period", "method" and "price" with the values you want:
YourVariable = iCustom( NULL, 0, "MACD True", period, method, price, 0, 0 ); // BUFFER 0 - MACD Line
YourVariable = iCustom( NULL, 0, "MACD True", period, method, price, 1, 0 ); // BUFFER 1 - Signal Line
YourVariable = iCustom( NULL, 0, "MACD True", period, method, price, 2, 0 ); // BUFFER 2 - Histogram
Hope this helps. :)
I know the MACD True, use it myself... :)
The indicator stores the following values:
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MACDLineBuffer);
SetIndexDrawBegin(0,SlowMAPeriod);
SetIndexStyle(1,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(1,SignalLineBuffer);
SetIndexDrawBegin(1,SlowMAPeriod+SignalMAPeriod);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexBuffer(2,HistogramBuffer);
SetIndexDrawBegin(2,SlowMAPeriod+SignalMAPeriod);
So buffer 0 stores the value for the MACD Line, Buffer 1 the value for the Signal Line, and buffer 2 the value for the Histogram.
So you can try this. I have not tested it, but it should work. Just remember to replace "period", "method" and "price" with the values you want:
YourVariable = iCustom( NULL, 0, "MACD True", period, method, price, 0, 0 ); // BUFFER 0 - MACD Line
YourVariable = iCustom( NULL, 0, "MACD True", period, method, price, 1, 0 ); // BUFFER 1 - Signal Line
YourVariable = iCustom( NULL, 0, "MACD True", period, method, price, 2, 0 ); // BUFFER 2 - Histogram
Hope this helps. :)
Keep it simple, be disciplined, get rich slowly and above all protect your equity!
Mar 15, 2018 at 11:40
(편집됨 Mar 15, 2018 at 11:43)
Jun 14, 2013 부터 멤버
게시물127
CupOtea posted:
Thanks JacoAF, but it isn't working. Still getting Null values.
Hi,
Sorry I made a mistake in the code. Try this, I tested it and it seems to work.
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
double MACDLineValue;
double SignalLineValue;
double HistogramValue;
MACDLineValue = iCustom( NULL, 0, "MACD True", 12, 26, 9, 0, 0 ); // BUFFER 0 - MACD Line
SignalLineValue = iCustom( NULL, 0, "MACD True", 12, 26, 9, 1, 0 ); // BUFFER 1 - Signal Line
HistogramValue = iCustom( NULL, 0, "MACD True", 12, 26, 9, 2, 0 ); // BUFFER 0 - Histogram
Alert("MACD Line: " + DoubleToStr(MACDLineValue) + ", Signal Line: " + DoubleToStr(SignalLineValue) + ", Histogram: " + DoubleToStr(HistogramValue));
}
//+------------------------------------------------------------------+
The "Alert" function is just to test and compare the values to the Data Window values
Keep it simple, be disciplined, get rich slowly and above all protect your equity!
Mar 15, 2018 at 11:50
(편집됨 Mar 15, 2018 at 11:52)
Jun 14, 2013 부터 멤버
게시물127
Ok here is what I use...
MACD_True.mq4 (Indicator), other one is the sample script code.
Just a note... in the sample code I used "MACD True" as the indicator name.... the attached indicator does not have the space... use "MACDTrue as the name
MACD_True.mq4 (Indicator), other one is the sample script code.
Just a note... in the sample code I used "MACD True" as the indicator name.... the attached indicator does not have the space... use "MACDTrue as the name
Keep it simple, be disciplined, get rich slowly and above all protect your equity!
Mar 15, 2018 at 11:53
(편집됨 Mar 15, 2018 at 11:55)
Jun 14, 2013 부터 멤버
게시물127
I just noticed something... when I paste the code here it changes the double quotes to single quotes... probably why it does not work.... the indicator name MUST be between double quotes...
see the script sample, and remember to use the indicator name exactly as it appears on your PC...
see the script sample, and remember to use the indicator name exactly as it appears on your PC...
Keep it simple, be disciplined, get rich slowly and above all protect your equity!

*상업적 사용 및 스팸은 허용되지 않으며 계정이 해지될 수 있습니다.
팁: 이미지/유튜브 URL을 게시하면 게시물에 자동으로 삽입됩니다!
팁: @기호를 입력하여 이 토론에 참여하는 사용자 이름을 자동으로 완성합니다.