input int CandleRange = 100; // FUNCTION CHECK FOR NEW CANDLES bool CheckfornewCandle (int CandleNumber) { static int LastCandleNumber; bool IsNewCandle= false; if (CandleNumber>LastCandleNumber) { IsNewCandle = true; LastCandleNumber = CandleNumber; Print("-----New Candle-----", "\nLastOpenTime: ",iTime(_Symbol,PERIOD_CURRENT,1), "\nLastOpen: ",iOpen(_Symbol,PERIOD_CURRENT,1), "\nLastClose: ",iClose(_Symbol,PERIOD_CURRENT,1)); } return IsNewCandle; } void OnTick() { // CHECK FOR NEW CANDLES int CandleNumber = Bars(_Symbol,_Period); bool NewCandleAppeared; NewCandleAppeared = CheckfornewCandle(CandleNumber); if (NewCandleAppeared) { //INITIALIZE CANDLE CLOSE ARRAY double CandleClose[]; ArraySetAsSeries(CandleClose, true); int CandleCloseSize = ArraySize(CandleClose); CopyClose(_Symbol, PERIOD_CURRENT, 0, CandleRange, CandleClose); Print("Last Candle Closing Value: ",CandleClose[0]); //INITIALIZE AND FILL CANDLE DIFFERENCE TO LAST ARRAY double CandleDifferenceToLast[]; ArrayResize(CandleDifferenceToLast,CandleCloseSize); //ArraySetAsSeries(CandleDifferenceToLast, true); int CandleDifferenceSize = ArraySize(CandleDifferenceToLast); for (int i = 1; i < CandleCloseSize + 1; i++) { double LastClose = CandleClose[i-1]; Print("LastClose: ",LastClose); double SndLastclose = CandleClose[i]; Print("LastClose: ",SndLastclose); double CandleDifference = SndLastclose - LastClose; Print("CandleDifference: ",CandleDifference); CandleDifferenceToLast[i] = CandleDifference; //CandleDifferenceToLast[i] = CandleClose[i] - CandleClose[i+1]; } Print("Last Candle Difference to 2.Last: ",CandleDifferenceToLast[0]); } }