0
Спасибо большое, Андрей!
avatar

Shtenco

  • 24 ноября 2023, 00:23
0
А нет, не надо, погонял на истории, это сливная сова(((
avatar

Shtenco

  • 1 ноября 2023, 10:42
0
Я ничего из себя не строю. Сам я использую машинное обучение и градиентный бустинг. Это только для проверки идеи подбора тейков и стопов брутфорсом
avatar

Shtenco

  • 3 сентября 2023, 00:06
0
Сделал советник. Это немного не то. Он в реал тайм счётчик ставит. А нужно чтобы проходил по всей истории баров в 10 000 циклом
avatar

Shtenco

  • 1 сентября 2023, 20:19
0
Спасибо большое! А то у меня не выходит. Я даже сейчас этот код на МТ5 попытался перенести, у меня везде нули в вероятностях, и так уже кодов 5-6 выходят нули
avatar

Shtenco

  • 1 сентября 2023, 18:33
0
Значит это у меня глюк. А можете результат бэктеста сбросить сюда?*za* 
avatar

Shtenco

  • 23 августа 2023, 16:39
0
Только дошли руки. Советник не работает, не обновляется индикатор
avatar

Shtenco

  • 22 августа 2023, 20:07
0
Андрей, вы волшебник кода! Благодарю от всей души! Пока некогда посмотреть, в делах. Чуть позже гляну.
avatar

Shtenco

  • 19 августа 2023, 21:56
0
Хотя нет, не надо. Попробовал сам, индикатор не обновляется, и Release не помогает.
avatar

Shtenco

  • 17 августа 2023, 04:07
0
А если я ТЗ напишу? Суть то простая, нужно взять два участка истории — Обучение и Тест, и снимать скрины на исторических данных каждый час, и сохранять их в папку MQL5/Files. При этом, если цена в течение следующего часа превысила максимум, то скрин сохраняется с пометкой Buy, а если обновила минимум — скрин с пометкой Sell.
avatar

Shtenco

  • 8 августа 2023, 21:16
0
Блин, да опять глюк с файлами!!!
avatar

Shtenco

  • 8 августа 2023, 20:31
0
Нашел алгоритм 2005 года, классификатор на основе ближайших соседей, это так называется в метрических исследованиях. Ищутся наиболее похожие примеры, сэмплы, и на их основе делается прогноз. В признаки добавил время, объем, и производные от Машек разных периодов. Вроде работает… Кому надо скину. Теперь интересно увидеть версию Андрея:) 
avatar

Shtenco

  • 5 июля 2023, 12:56
0
Андрей, есть скрипт который рисует прогноз на истории, вроде рабочий, может на его основе сову сделать?
avatar

Shtenco

  • 5 июля 2023, 12:27
0
Нужно именно на всей истории с большой базой сэмплов
avatar

Shtenco

  • 5 июля 2023, 11:13
0
Может сможете этот код в чувство привести?:D Его сделал ChatGPT*wall* 
avatar

Shtenco

  • 5 июля 2023, 00:39
0
// Функция для вычисления коэффициента корреляции между двумя сериями
double CalculateCorrelation(const double series1[], const double series2[], const int size)
{
    double mean1 = 0.0, mean2 = 0.0;
    for (int i = 0; i < size; i++)
    {
        mean1 += series1[i];
        mean2 += series2[i];
    }
    mean1 /= size;
    mean2 /= size;

    double cov = 0.0, stdDev1 = 0.0, stdDev2 = 0.0;
    for (int i = 0; i < size; i++)
    {
        cov += (series1[i] - mean1) * (series2[i] - mean2);
        stdDev1 += pow(series1[i] - mean1, 2);
        stdDev2 += pow(series2[i] - mean2, 2);
    }
    stdDev1 = sqrt(stdDev1 / size);
    stdDev2 = sqrt(stdDev2 / size);

    double correlation = cov / (stdDev1 * stdDev2);
    return correlation;
}

// Функция для выделения окна в 50 баров и расчета прогноза
void PerformAnalysis()
{
    const int windowSize = 50;
    const int samplesToSelect = 10;

    double prices[windowSize];

    // Получение исторических цен в окне
    for (int i = 0; i < windowSize; i++)
    {
        prices[i] = iClose(_Symbol, _Period, i);
    }

    double correlations[_Bars - windowSize];

    // Поиск самых похожих ситуаций в прошлом
    for (int i = windowSize; i < _Bars; i++)
    {
        double currentPrices[windowSize];
        CopyArray(currentPrices, prices, i - windowSize, windowSize);

        correlations[i - windowSize] = CalculateCorrelation(prices, currentPrices, windowSize);
    }

    // Выбор лучших образцов по коэффициенту корреляции
    double sortedCorrelations[_Bars - windowSize];
    CopyArray(sortedCorrelations, correlations, 0, _Bars - windowSize);
    ArraySort(sortedCorrelations);

    double selectedCorrelations[samplesToSelect];
    CopyArray(selectedCorrelations, sortedCorrelations, _Bars - windowSize - samplesToSelect, samplesToSelect);

    // Вычисление прогноза на основе выбранных образцов
    double forecast = 0.0;
    for (int i = 0; i < samplesToSelect; i++)
    {
        int index = ArrayBsearch(correlations, selectedCorrelations[i], _Bars - windowSize);
        if (index != -1)
        {
            double futurePrice = iClose(_Symbol, _Period, index + windowSize);
            forecast += futurePrice > prices[windowSize - 1] ? 1 : -1;
        }
    }
    forecast /= samplesToSelect;

    if (forecast > 0)
        Print("Прогноз: Рост цен");
    else if (forecast < 0)
        Print("Прогноз: Падение цен");
    else
        Print("Прогноз: Нет тенденции");
}
avatar

Shtenco

  • 5 июля 2023, 00:38
0
Здравствуйте! Спасибо за реакцию. Сейчас подумаю как вам лучше представить идею.
avatar

Shtenco

  • 5 июля 2023, 00:14
Начать торговлю с Альпари