//+----------------------+ //| entry condition | //+----------------------+ int start() { //---- double Y; double A; if (A == 1) { Y = Close[1]; } if (A == 2) { Y = 0; } //+---------------+ //| close order | //+---------------+ Y = 0 ; //---- return(0); }final bracket needs to be after the final expression.
1005phillip
I've updated but still can't get the value of close[1]......
wing
Using the attached EA on a live chart:
2010.12.18 00:11:44 Close[] and iClose() USDJPY,H1: In init(): Close[0] = 83.86, Close[1] = 83.89 and Close[2] = 83.91
2010.12.18 00:12:49 Close[] and iClose() USDJPY,H1: In deinit(): Close[0] = 83.86, Close[1] = 83.89 and Close[2] = 83.91
Using the attached EA on a backtest chart:
00:13:52 Close[] and iClose(): loaded successfully
00:13:52 Close[] and iClose() started for testing
00:13:52 2010.12.17 00:00 Close[] and iClose() USDJPY,M1: In init(): Close[0] = 83.9, Close[1] = 83.89 and Close[2] = 83.94
00:13:52 2010.12.17 00:00 Close[] and iClose() USDJPY,M1: In start(): Close[0] = 83.9, Close[1] = 83.89 and Close[2] = 83.94
00:13:52 2010.12.17 00:00 Close[] and iClose() USDJPY,M1: In start(): Close[0] = 83.979, Close[1] = 83.89 and Close[2] = 83.94
00:13:52 2010.12.17 00:00 Close[] and iClose() USDJPY,M1: In start(): Close[0] = 83.968, Close[1] = 83.89 and Close[2] = 83.94
00:13:52 2010.12.17 00:00 Close[] and iClose() USDJPY,M1: In start(): Close[0] = 83.99, Close[1] = 83.89 and Close[2] = 83.94
...
00:13:52 2010.12.17 22:59 Close[] and iClose() USDJPY,M1: In start(): Close[0] = 83.87, Close[1] = 83.92 and Close[2] = 83.92
00:13:52 2010.12.17 22:59 Close[] and iClose() USDJPY,M1: In start(): Close[0] = 83.86, Close[1] = 83.92 and Close[2] = 83.92
00:13:52 2010.12.17 22:59 Close[] and iClose() USDJPY,M1: In deinit(): Close[0] = 83.86, Close[1] = 83.92 and Close[2] = 83.92
So...not sure what you are doing wrong but you can see the code in the EA, doesn't get much simpler than that.
double Y: double A:
type Variable Semicolondouble A; //if (A = 1){ Y = Close[1]; } //if (A =2){ Y = 0; } if (A == 1){ Y = Close[1]; } if (A == 2){ Y = 0; }
Since A is never set, it is zero. Therefor Y is never set, it is zero
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Dear all
Below shown is an extract of my code. There are two questions I can't solve:
1. when I compile the program, an error message occured: ' Y ' - variable not defined (i.e. the sentense under Close Order Block). However, what I want to do is, assign 0 value to Y after close of order.
2. Close[1] always return 0 when I run the program. In fact, I really confuse with Close[] and iclose(). Sometimes one of them returns the value of close but sometimes it just returns 0. From the manual, only Close[0] and iclose(null,0,0) will return 0, but MT4 doesn't show me the same thing. Would anybody like to share with me their experience?
Thanks a lot!
+----------------------+
| entry condition |
+----------------------+
int start()
{
double Y:
double A:
if (A = 1)
{
Y = Close[1];
}
if (A =2)
{
Y = 0;
}
return;
}
+---------------+
| close order |
+---------------+
Y = 0 ;
wing