Разговор с искусственным интеллектом (ИИ) о форексе. - страница 71

 
Lilita Bogachkova #:

... Какой совет вы бы дали людям, которые могут потерять работу из-за быстрого развития ИИ?..

В отличии от ИИ, само устройство матушки Природы, её Законы... даже не просто "говорят", а "кричат, как только могут" глухим и тупым людям, что ЦЕЛЬЮ всей их деятельности должны быть НЕ ДЕНЬГИ, а совершенство их социальной системы (!!!).

Если эта система будет совершенной - она автоматически породит все,  необходимые для комфортной жизни каждого, условия существования.

Любая другая,.. "кривая" система будет генерировать всю ту фигню, которая в неё заложена, хоть ты на изнанку вывернись,.. хоть ты обинвестируйся в своё переобучение...

Царство конкуренции,.. максимальной прибыли и власти породило всё то, в чём мы сейчас бултыхаемся...

Царство взаимопомощи,.. науки и Разума неизбежно породит другой мир.
Это же Закон Природы (!!!)...


 
Попросил AI улучшить код в mql5....:)
 
onceagain #:

В отличии от ИИ, само устройство матушки Природы, её Законы... даже не просто "говорят", а "кричат, как только могут" глухим и тупым людям, что ЦЕЛЬЮ всей их деятельности должны быть НЕ ДЕНЬГИ, а совершенство их социальной системы (!!!).

Если эта система будет совершенной - она автоматически породит все,  необходимые для комфортной жизни каждого, условия существования.

Любая другая,.. "кривая" система будет генерировать всю ту фигню, которая в неё заложена, хоть ты на изнанку вывернись,.. хоть ты обинвестируйся в своё переобучение...

Царство конкуренции,.. максимальной прибыли и власти породило всё то, в чём мы сейчас бултыхаемся...

Царство взаимопомощи,.. науки и Разума неизбежно породит другой мир.
Это же Закон Природы (!!!)...


изначально деньги и есть мера этой взаимопомощи

и чем она больше, тем больше можно вернуть или попросить помочь, за эти деньги

беда в том, что как ни старайся, эта помощь не появится автоматически

---

например, человек приходит на этот форум попросить помощи в том числе

и когда его просьба выходит за пределы разумного, его посылают на фриланс

 
Vasile Verdes #:
Попросил AI улучшить код в mql5....:)

Стёр ?

 
Vasile Verdes #:
Попросил AI улучшить код в mql5....:)

Чтобы ИИ написал какой-то работающий mql5-код, нужно попросить его не использовать никакие библиотеки. 

Пример улучшения кода:

for loop that performs the filtering, the indices 'k' are being incremented or decremented by (1 << i) which is not correct. It should be divided by 2^i
correct the code:
void WaveletTransform(double &cA[], double &cD[], double &data[], int levels)
  {
// Copy data to a temporary array
   double temp[];
   ArrayResize(temp, ArraySize(data));
   ArrayCopy(temp, data);
// Perform the decomposition
   for(int i = 0; i < levels; i++)
     {
      // Calculate the low-pass and high-pass filters
      double h[], g[];
      ArrayResize(h, ArraySize(temp));
      ArrayResize(g, ArraySize(temp));
      h[0] = 0.70710678118654752440;
      h[1] = 0.70710678118654752440;
      g[0] = 0.70710678118654752440;
      g[1] = -0.70710678118654752440;
      // Perform the filtering
      double temp2[];
      ArrayResize(temp2, ArraySize(temp));
      for(int j = 0; j < ArraySize(temp); j++)
        {
         int k = j - (1 << i);
         if(k < 0)
           {
            temp2[j] = 0;
            continue;
           }
         temp2[j] = temp[k] * h[0];
         k++;
         if(k < ArraySize(temp))
            temp2[j] += temp[k] * h[1];
        }
      for(int j = 0; j < ArraySize(temp); j++)
        {
         int k = j - (1 << i);
         if(k < 0)
           {
            temp[j] = 0;
            continue;
           }
         temp[j] = temp2[k] * g[0];
         k++;
         if(k < ArraySize(temp))
            temp[j] += temp2[k] * g[1];
        }
      // Calculate the approximation and detail coefficients
      for(int j = 0; j < ArraySize(temp); j++)
        {
         int k = j + (1 << i);
         if(k < ArraySize(temp))
            cA[j] = temp[k];
         else
            cA[j] = 0;
         cD[j] = temp[j];
        }
     }
  }


Ответ ИИ:

It looks like you have corrected the issue in the for loop where the indices 'k' were being incremented or decremented by (1 << i). Now they are divided by 2^i which is correct. However, there is another issue in the for loop where the approximation and detail coefficients are calculated. The index 'k' is being incremented by (1 << i) instead of being divided by 2^i as well. So, the correct version of the function should be:
void WaveletTransform(double &cA[], double &cD[], double &data[], int levels)
  {
// Copy data to a temporary array
   double temp[];
   ArrayResize(temp, ArraySize(data));
   ArrayCopy(temp, data);
// Perform the decomposition
   for(int i = 0; i < levels; i++)
     {
      // Calculate the low-pass and high-pass filters
      double h[], g[];
      ArrayResize(h, ArraySize(temp));
      ArrayResize(g, ArraySize(temp));
      h[0] = 0.70710678118654752440;
      h[1] = 0.70710678118654752440;
      g[0] = 0.70710678118654752440;
      g[1] = -0.70710678118654752440;
      // Perform the filtering
      double temp2[];
      ArrayResize(temp2, ArraySize(temp));
      for(int j = 0; j < ArraySize(temp); j++)
        {
         int k = j - (ArraySize(temp) / (1 << (i+1)));
         if(k < 0)
           {
            temp2[j] = 0;
            continue;
           }
         temp2[j] = temp[k] * h[0];
         k++;
         if(k < ArraySize(temp))
            temp2[j] += temp[k] * h[1];
        }
      for(int j = 0; j < ArraySize(temp); j++)
        {
         int k = j - (ArraySize(temp) / (1 << (i+1)));
         if(k < 0)
           {
            temp[j] = 0;
            continue;
           }
         temp[j] = temp2[k] * g[0];
         k++;
         if(k < ArraySize(temp))
            temp[j] += temp2[k] * g[1];
        }
      // Calculate the approximation and detail coefficients
      for(int j = 0; j < ArraySize(temp); j++)
        {
         int k = j + (ArraySize(temp) / (1 << (i+1)));
         if(k < ArraySize(temp))
            cA[j] = temp[k];
         else
            cA[j] = 0;
         cD[j] = temp[j];
        }
     }
  }
 
Renat Akhtyamov #:

изначально деньги и есть мера этой взаимопомощи...

Искажение истинной сути денег - один из инструментов узаконения грабежа.

И изначально,.. и сейчас и в будущем деньги были, есть и будут документом на предъявителя, подтверждающим его право на получение определённого объёма товаров или услуг.
Вот только это право одни зарабатывают своим трудом, произведя на свет реальные товары и услуги,.. а другие обретают его с помощью "законных" мошеннических схем... не произведя при этом ни-фи-га...

И всё было бы ничего, если бы не одна мелочь: от увеличения количества денег на Земле количество товаров и услуг НЕ становится больше...

Вот почему каждый из нас, кто желает жить хорошо, должен мечтать... и делать всё для возникновение такой структуры организации человечества, при которой ПРОИЗВОДСТВО товаров и услуг будет максимально эффективным (!).

А угадайте с трёх раз: КТО может построить самую лучшую такую структуру ?..

Правильно - учёный,.. инженер,.. высочайший специалист в своей области.
То есть, мы опять упираемся в очевидный факт, что на Земле царствовать должны Наука,.. Разум и тотальная взаимопомощь людей, СОЗДАЮЩИХ реальные товары и услуги (а не "мыльные пузыри" и "цветные фантики", как сейчас модно).

Ну неужели это не очевидно?..

 
onceagain #:


Всё, что Вы тут пропагандируете - утопия в чистом виде.

 

Привет!

Попросите этого ИИ - "родить" маленького ИИ с саморазвитием в виде кода.

 
Alexander Ivanov #:

Привет!

Попросите этого ИИ - "родить" маленького ИИ с саморазвитием в виде кода.

Он не сможет что-то изобретать, или создавать что-то новое, если не получит новую информацию извне.

 
Alexander Ivanov #:

Привет!

Попросите этого ИИ - "родить" маленького ИИ с саморазвитием в виде кода.

Можно создать пример ИИ с саморазвитием в виде кода?

-

К сожалению, я не могу писать код, но я могу привести пример системы ИИ с возможностями саморазвития. Одним из примеров является генетический алгоритм, который является типом алгоритма оптимизации, вдохновленного процессом естественного отбора. Алгоритм создает популяцию решений задачи, а затем итеративно улучшает популяцию, моделируя процесс естественного отбора. Решения, наиболее подходящие для решения проблемы, с большей вероятностью будут выбраны для воспроизведения и создания следующего поколения решений. Этот процесс продолжается до тех пор, пока не будет найдено удовлетворительное решение или не будет выполнен критерий остановки.

Вот пример простого генетического алгоритма в Python:

import random

# The function to be optimized
def fitness_function(x):
    return x**2

# The genetic algorithm
def genetic_algorithm(population_size, number_of_generations):
    # Initialize the population
    population = [random.randint(0, 100) for i in range(population_size)]
    for generation in range(number_of_generations):
        # Evaluate the fitness of each member of the population
        fitness = [fitness_function(x) for x in population]
        # Select the parents for the next generation
        parents = select_parents(population, fitness, population_size)
        # Create the children for the next generation
        children = create_children(parents)
        # Replace the current population with the next generation
        population = children
    # Return the best solution found
    return max(population, key=fitness_function)

# Select the parents for the next generation
def select_parents(population, fitness, population_size):
    parents = []
    for i in range(population_size):
        parents.append(population[random.choices(range(len(population)), weights=fitness, k=1)[0]])
    return parents

# Create the children for the next generation
def create_children(parents):
    children = []
    for i in range(0, len(parents)-1, 2):
        children.append(crossover(parents[i], parents[i+1]))
        children.append(crossover(parents[i+1], parents[i]))
    return children

# Crossover (recombination) function
def crossover(parent1, parent2):
    return (parent1 + parent2) // 2

# Run the genetic algorithm
best_solution = genetic_algorithm(100, 100)
print(best_solution)

Это простой пример, и реальный сценарий более сложен, но он показывает основную идею саморазвития в ИИ.




Напишите этот пример кода в mql5.

-

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

// The function to be optimized
double fitness_function(double x)
{
    return x*x;
}

// The genetic algorithm
void genetic_algorithm(int population_size, int number_of_generations)
{
    // Initialize the population
    double population[];
    ArrayResize(population, population_size);
    for (int i = 0; i < population_size; i++)
        population[i] = MathRand() * 100;

    for (int generation = 0; generation < number_of_generations; generation++)
    {
        // Evaluate the fitness of each member of the population
        double fitness[];
        ArrayResize(fitness, population_size);
        for (int i = 0; i < population_size; i++)
            fitness[i] = fitness_function(population[i]);

        // Select the parents for the next generation
        double parents[];
        ArrayResize(parents, population_size);
        for (int i = 0; i < population_size; i++)
            parents[i] = population[select_parents(population_size, fitness)];

        // Create the children for the next generation
        double children[];
        ArrayResize(children, population_size);
        for (int i = 0; i < population_size; i += 2)
        {
            children[i] = crossover(parents[i], parents[i + 1]);
            children[i + 1] = crossover(parents[i + 1], parents[i]);
        }

        // Replace the current population with the next generation
        ArrayCopy(children, population);
    }

    // Return the best solution found
    double best_solution = population[0];
    for (int i = 1; i < population_size; i++)
        if (fitness_function(population[i]) > fitness_function(best_solution))
            best_solution = population[i];

    Print("Best solution: ", best_solution);
}

// Select the parents for the next generation
int select_parents(int population_size, double fitness[])
{
    double total_fitness = 0.0;
    for (int i = 0; i < population_size; i++)
        total_fitness += fitness[i];

    double random_value = MathRand() * total_fitness;
    double cumulative_fitness = 0.0;
    for (int i = 0; i < population_size; i++)
    {
        cumulative_fitness += fitness[i];
        if (random_value <= cumulative_fitness)
            return i;
    }

    return -1;
}

// Crossover (recombination) function
double crossover(double parent1, double parent2)
{
    return (parent1 + parent2) / 2;
}

// Run the genetic algorithm
genetic_algorithm(100, 100);

Это пример того, как генетический алгоритм может быть реализован в MQL5. Имейте в виду, что пример не оптимизирован для реального использование и может потребовать корректировок и дополнительных функций для эффективной работы в торговом контексте. Например, может быть полезно использовать более продвинутые методы отбора и кроссовера, а также включать мутацию в алгоритм. Кроме того, функция фитнеса должна быть адаптирована к конкретной торговой проблеме, которую вы пытаетесь решить.

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