Похоже, вы этого хотите:
SELECT task_id,
parent_id,
COUNT(parent_id) AS count_parents
FROM tasks
GROUP BY task_id, parent_id
Вот высокоуровневый способ работы с фибо-объектами. Если вы предпочитаете разбираться в низкоуровневых функциях, вы можете использовать отладчик, чтобы просмотреть этот код и увидеть, как он обрабатывается стандартной библиотекой MQL.
#property strict
#property indicator_chart_window
#include <chartobjects/chartobjectsfibo.mqh>
CChartObjectFibo g_fibo;
int OnInit()
{
if(!g_fibo.Create(0, "fibo", 0, 0, 0.0, 0, 0.0))
return INIT_FAILED;
double levels[] = {0.0, 0.10, 0.236, 0.328, 0.5, 0.618, 0.764, 0.9, 1.0};
int total = ArraySize(levels);
g_fibo.LevelsCount(total);
for(int i=0; i<total; i++) {
g_fibo.LevelValue(i, levels[i]);
g_fibo.LevelDescription(i, DoubleToString(levels[i] * 100, 1));
}
return(INIT_SUCCEEDED);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int ihigh = ArrayMaximum(high, 10);
int ilow = ArrayMinimum(low, 10);
g_fibo.Time(0, time[ihigh]);
g_fibo.Time(1, time[ilow]);
g_fibo.Price(0, high[ihigh]);
g_fibo.Price(1, low[ilow]);
return(rates_total);
}