bool M_CheckBuyLiqu() { // Candle 0 is the CURRENT candle that is NOT CLOSED YET !!! bool bBullish_2 = stGVL.Candle_HTF[2].open < stGVL.Candle_HTF[2].close; bool bBearish_3 = stGVL.Candle_HTF[3].open > stGVL.Candle_HTF[3].close; bool bPattern = bBullish_2 && bBearish_3; bool bNoWig = stGVL.Candle_HTF[2].open < stGVL.Candle_HTF[1].low && stGVL.Candle_HTF[3].close < stGVL.Candle_HTF[4].low; if (bPattern && bNoWig) { double Liqu = MathMin(stGVL.Candle_HTF[2].low, stGVL.Candle_HTF[3].low); M_ArrayUnshiftLimit_double(stGVL.BuyLiquidity, Liqu, nMaxLiqus); ArraySortDesc_double(stGVL.BuyLiquidity); // Sort the array so the highest is always the first M_LogInfo("Buyside Liquidity added: "); if (!bOptimizationRun) { ArrayPrint(stGVL.BuyLiquidity); } } return true; }