Группа "Стол заказов MQL"

Рейтинг 2089



РЕКОМЕНДУЮ



ИЩУ ПОРУЧИТЕЛЯ (ТОЧНО РАБОЧАЯ ТЕМА!)

Ищу поручителя на точно прибыльный советник

Всем привет, друзья, привет Андрей. Ищу поручителя на отличную идею.

Суть идеи в том, что психология масс и участников рынка никогда толком не меняется. Она всегда одинакова. Поэтому, возможно, если мы найдем похожие ситуации в прошлом, мы сможем предсказать будущее.

ТЗ:

Советник на МТ 5. Советник загружает всю доступную историю котировок на текущем таймфрейме. Затем, берется окно, окно в Х баров, Х настраивается.

Затем, советник проходит по всей истории и ищет окна в Х баров наиболее похожие по коэффициенту корреляции на текущее окно. Затем, берём А самых похожих ситуаций, и вычисляем, росла ли в них в среднем цена на протяжении будущего окна К баров, или падала, в прошлом. Если росла, открываем сделку, на покупку, если падала — на продажу. По прошествии К баров с открытия сделки — закрываем ее, и запускается новый цикл.
В настройки А, К, Х.

Андрей, не откажите, помогите реализовать пожалуйста, тут такой идеи ещё не было!
  • +1
  • Просмотров: 1448
  • 3 июля 2023, 01:19
  • Shtenco
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Новый советник
Следующая запись в группе  
индикатор МА перидов
02 июля 2023
04 июля 2023

Комментарии (19)

+
0
Буду поручителем. Если Андрей возьмётся.
avatar

  11  njdftgh Сообщений: 211 - Shoom

  • 3 июля 2023, 06:26
+
0
Спасибо огромное!:) 
avatar

  9  Shtenco Автор Сообщений: 231

  • 3 июля 2023, 12:03
+
0
как по мне не очень идея, так как история показывает какое то отношение на какие то действия группы — по мимо того что смотреть корреляцию — необходимо смотреть что было и какие новости, события в это же время в прошлом и тогда более менее это можно спрогнозировать, а так — это просто казино. так как в прошлом если что-то пошло вверх — то точно так же сейчас может пойти но совсем в другую сторону.
avatar

  4  alexzh16 Сообщений: 59

  • 3 июля 2023, 23:41
+
0
Ну по паттернам же торговля как то существует. А паттерн это есть одинаковое поведение(корреляция) цены в разные промежутки времени. Почему бы и не быть идее?*ninja* 
avatar

  11  njdftgh Сообщений: 211 - Shoom

  • 4 июля 2023, 13:27
+
0
несколько лет назад делал что-то подобное, как написал — просто брать паттерны и время, так себе идея, так как там где шло вверх в этом году пошло вниз и наоборот и всегда со смещением часы или дни. те идея — игра шансов, не более. это мое скромное мнение. нужно делать более глубокий анализ, а это уже более менее кстати становиться возможным чрез чатгпт — но он так же легко манипулируется и полагаться на него становиться опасновато.
avatar

  4  alexzh16 Сообщений: 59

  • 4 июля 2023, 17:58
+
0
скрины
avatar

  34  AM2 Сообщений: 15882 - Андрей

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

  9  Shtenco Автор Сообщений: 231

  • 5 июля 2023, 00:06
+
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

  9  Shtenco Автор Сообщений: 231

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

  9  Shtenco Автор Сообщений: 231

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

  9  Shtenco Автор Сообщений: 231

  • 5 июля 2023, 00:39
+
0
Сильно упрощу ваше задание. У меня была похожая идея. Например анализируем последние N дней и если в эти дни есть совпадения, что в определенные часы цена всегда падала или росла, то в это же время делать сделку.
avatar

  5  cesar781 Сообщений: 40

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

  9  Shtenco Автор Сообщений: 231

  • 5 июля 2023, 11:13
+
0
Идея сильная. Но как сделать оптимизацию, как подобрать время t — когда получается стабильный рост или падение? В ручном режиме сделать 24 расчета.
avatar

  17  Boris54 Сообщений: 756 - ПенSионер

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

  9  Shtenco Автор Сообщений: 231

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

  9  Shtenco Автор Сообщений: 231

  • 5 июля 2023, 12:56
+
0
интересно было бы глянуть.
avatar

  11  njdftgh Сообщений: 211 - Shoom

  • 5 июля 2023, 15:01
+
+1
avatar

  9  Shtenco Автор Сообщений: 231

  • 5 июля 2023, 17:32
комментарий был удален 2023-07-05 17:29:52 Shtenco

комментарий был удален 2023-07-05 17:29:57 Shtenco


Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари