I have created an EA with several timeframes, however, when tested, bugs are encountered, please advise.
I am using a H4 timeframe when going through a test.
input int barNumM=42; // Number of bars in mid term array double SLS=0; MqlRates mrateS[]; MqlRates mrateM[]; if(CopyRates(_Symbol,PERIOD_H4,0,barNumS,mrateS)<0) { Alert("Error copying H4 rates/history data - error:",GetLastError(),"!"); return; } if(CopyRates(_Symbol,PERIOD_D1,0,barNumM,mrateM)<0) { Alert("Error copying D1 rates/history data - error:",GetLastError(),"!"); return; } SLS=mrateM[iHighest(_Symbol,PERIOD_D1,MODE_HIGH,barNumM,0)].high-mrateM[iLowest(_Symbol,PERIOD_D1,MODE_LOW,barNumM,0)].low;
Bug: mrateM[iHighest(_Symbol,PERIOD_D1,MODE_HIGH,barNumM,0)].high-mrateM[iLowest(_Symbol,PERIOD_D1,MODE_LOW,barNumM,0)].low returns negative values sometimes.
Some of my buy logic is not working properly as well, but I think that is related to mrateM not functioning properly.