Корректное "суммирование" показаний трендовых индикаторов - страница 2

 
Richie >>:


Т.е. вы на основе нескольких хороших индикаторов хотите соорудить один замечательный индикатор?

Ничего не хочу сооружать - хочу суммировать показания, которые собраны в двухмерный массив.
 
leman >>:
Посмотрите Бинарную волну, может подойдет. https://www.mql5.com/ru/code/9139

Спасибо! Подход интересный! Есть поле для эксперимента! Хотя мне представлялось решение в другом свете, но я его с удовольствием помозгую в Вашем варианте!

Посмотрел Ваш код. Мне кажется будет изящнее, если сделать так:

double MAClose (int i = 0)
{
    if (WeightMA > 0)
    {
        double ld_MA = (Close[i] - iMA (NULL, 0, MAPeriod, 0, MAType, MAPrice, i));
        if (ld_MA > 0)
        {return (WeightMA);}
        if (ld_MA < 0)
        {return (-WeightMA);}
        if (ld_MA == 0)
        {return (0);}
    }
    else
    {return (0);}
}

Это вид с моей колокольни, когда советник производит много вычислений, то приходится очень внимательно избегать лишних вычислений...

 
TarasBY >>:

Спасибо! Подход интересный! Есть поле для эксперимента! Хотя мне представлялось решение в другом свете, но я его с удовольствием помозгую в Вашем варианте!

Посмотрел Ваш код. Мне кажется будет изящнее, если сделать так:

Это вид с моей колокольни, когда советник производит много вычислений, то приходится очень внимательно избегать лишних вычислений...

Вы правы, код не оптимизирован.
 
leman >>:
Вы правы, код не оптимизирован.
А через личку Вы не общаетесь?
 
Народ! Так никто не желает поделиться, хотя бы идеей!?
 

И де я нахожусь???

Файлы:
 
TarasBY >>:

БРАТЬЯ по-РАЗУМУ! Может кто уже решал задачу, как ссумировать показания от разных трендовых индикаторов для получения "общего резюме" о состоянии рынка?! Есть массив показаний gi_Trend[INDICATORS][TF] - как результат нужно получить "единственно-правильный" ответ. Хотелось бы 1 из 8 (UP, DW, FL, ND и их strong-состояние: SUP, SDW, SFL, SND), ну хотя бы 1 из первых четырёх... Поделитесь, если не жалко!... А может есть идеи?!

Хотелось бы услышать Ваше мнение по поводу параметра(ов) характеризующих "состояние рынка", тогда и

определение весов станет в общем трвиально.

Итак.

 
TheVilkas:

Я не создаю нового индикатора! Я взял несколько индикаторов, каждый из которых "по-своему" оценивает-характеризует состояние рынка и выдаёт свой "приговор": UP, DW или FL. Рассматривая эти показания на последних 3-ёх (для определения Short-тренда) и 5-ти и 10-ти барах (для определения Long-тренда), я дифференцирую 8 состояний (UP, DW, FL, ND и их strong-состояние: SUP, SDW, SFL, SND).

Вот код по которому анализируется 3-баровая последовательность:

 

//---- Цикл обработки информации 3-ёх баровой последовательности
    for (l_int1 = 0; l_int1 < 3; l_int1++)
    {l_cnt[l_int1] = 0;}
    
    for (l_int1 = 0; l_int1 < 3; l_int1++) // Определяем текущий тренд на трёх последних барах
    {
        if (bufUP[l_int1] == 1)
        {l_cnt[0]++;}
        if (bufDW[l_int1] == 1)
        {l_cnt[1]++;}
        if (bufFL[l_int1] == 1)
        {l_cnt[2]++;}
    }
    if (l_cnt[0] >= 2 && (bufUP[1] == 1 || bufUP[0] == 1))
    {value[prd][0] = Trend_UP;} // UP
    if (l_cnt[0] == 3)
    {value[prd][0] = Trend_SUP;} // SUP
    if (l_cnt[1] >= 2 && (bufDW[1] == 1 || bufDW[0] == 1))
    {value[prd][0] = Trend_DW;} // DW
    if (l_cnt[1] == 3)
    {value[prd][0] = Trend_SDW;} // SDW
    if (l_cnt[2] >= 2 && (bufFL[1] == 1 || bufFL[0] == 1))
    {value[prd][0] = Trend_FL;} // FL
    if (l_cnt[2] == 3)
    {value[prd][0] = Trend_SFL;} // SFL
    if (value[prd][0] == -1)
    {value[prd][0] = Trend_ND;} // не определено

А мне нужно корректно просуммировать эти показания.
ПРИМЕР: 4 индикатора: 1-ый и 2-ой дают UP, 3-ий ND (не определено) и 4-ый SFL. Что будет в итоге при суммировании показаний???

 
 
Спасибо, но это очередной "винегрет", причём для ручной торговли...
Причина обращения: