2026-01-31 07:59:15 +01:00
|
|
|
bool M_CheckSellLiqu()
|
|
|
|
|
{
|
|
|
|
|
// Candle 0 is the CURRENT candle that is NOT CLOSED YET !!!
|
2026-03-14 09:16:38 +01:00
|
|
|
bool bBearish_2 = stGVL.Candle_HTF[2].open > stGVL.Candle_HTF[2].close;
|
|
|
|
|
bool bBullish_3 = stGVL.Candle_HTF[3].open < stGVL.Candle_HTF[3].close;
|
2026-01-31 07:59:15 +01:00
|
|
|
bool bPattern = bBearish_2 && bBullish_3;
|
|
|
|
|
|
2026-03-14 09:16:38 +01:00
|
|
|
bool bNoWig = stGVL.Candle_HTF[2].open > stGVL.Candle_HTF[1].high && stGVL.Candle_HTF[3].close > stGVL.Candle_HTF[4].high;
|
2026-01-31 07:59:15 +01:00
|
|
|
|
|
|
|
|
if (bPattern && bNoWig)
|
|
|
|
|
{
|
2026-03-14 09:16:38 +01:00
|
|
|
double Liqu = MathMax(stGVL.Candle_HTF[2].high, stGVL.Candle_HTF[3].high);
|
2026-01-31 07:59:15 +01:00
|
|
|
|
|
|
|
|
M_ArrayUnshiftLimit_double(stGVL.SellLiquidity, Liqu, nMaxLiqus);
|
|
|
|
|
|
|
|
|
|
ArraySort(stGVL.SellLiquidity); // Sort the array so the lowest is always the first
|
|
|
|
|
|
2026-02-11 19:29:28 +01:00
|
|
|
M_LogInfo("Sellside Liquidity added: ");
|
2026-01-31 07:59:15 +01:00
|
|
|
if (!bOptimizationRun)
|
|
|
|
|
{
|
|
|
|
|
ArrayPrint(stGVL.SellLiquidity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|