//+------------------------------------------------------------------+
//| ea_symr_newBar.mq4 |
//| Version: 1.1 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Symr"
#property link ""
#define MAX 9
//+------------------------------------------------------------------+
int curIndex;
datetime times[MAX];
//+------------------------------------------------------------------+
int start;
int init () {
curIndex = utils.periodToPeriodIndex(Period());
times[curIndex] = Time[0];
for(int i=curIndex+1; i<MAX; i++)
times[i] = times[curIndex]- MathMod(times[curIndex],utils.periodIndexToPeriod(i)*60);
return(0);
}
//+------------------------------------------------------------------+
int deinit() {
return (0);
}
//+------------------------------------------------------------------+
int start() {
if (times[curIndex] != Time[0]) {
times[curIndex] = Time[0];
onBar(Period());
for(int i=curIndex+1; i<MAX; i++) {
int period = utils.periodIndexToPeriod(i),
seconds = period*60,
time0 = times[curIndex] - MathMod(times[curIndex],seconds);
if (times[i] != time0) {
times[i] = time0;
onBar(period);
}
}
}
onTick();
return(0);
}
int utils.periodToPeriodIndex(int period) {
switch(period) {
case PERIOD_M1 : return(0); break;
case PERIOD_M5 : return(1); break;
case PERIOD_M15 : return(2); break;
case PERIOD_M30 : return(3); break;
case PERIOD_H1 : return(4); break;
case PERIOD_H4 : return(5); break;
case PERIOD_D1 : return(6); break;
case 20 : return(7); break;
case 55 : return(8); break;
}
}
int utils.periodIndexToPeriod(int index) {
switch(index) {
case 0: return(PERIOD_M1); break;
case 1: return(PERIOD_M5); break;
case 2: return(PERIOD_M15); break;
case 3: return(PERIOD_M30); break;
case 4: return(PERIOD_H1); break;
case 5: return(PERIOD_H4); break;
case 6: return(PERIOD_D1); break;
case 7: return(20); break;
case 8: return(55); break;
}
}
//+------------------------------------------------------------------+
// Code
//+------------------------------------------------------------------+
void onTick() {
}
//+------------------------------------------------------------------+
void onBar(int period) {
}
//+------------------------------------------------------------------+
Comments