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

 
Короче... он дает справку и предлагает решения принимать самостоятельно. Видимо, чтобы потом разработчиков не засудили за рекомендации, которые не удались.
 
Aleksey Nikolayev #:
Попросите написать какой-нибудь простенький код на mql5. Например, скрипт выводящий последнюю котировку символа. Интересно, насколько много языков программирования он знает.

Здравствуйте, Алексей! Не нужно так скромничать. Это же всё-таки ИНТЕЛЛЕКТ!

Попросите, чтобы он написал советника для MetaTrader 5 с прибыльностью 10 % от депозита в месяц и чтобы эта прибыльность сохранялась на истории хотя бы одного календарного года. Вот тогда и посмотрим, на что он способен этот ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ.

С уважением, Владимир.

 
Aleksey Nikolayev #:
Попросите написать какой-нибудь простенький код на mql5. Например, скрипт выводящий последнюю котировку символа. Интересно, насколько много языков программирования он знает.

ИИ пишет mql5 код, это уже протестировано.

 
У него ограниченная длина ответа, поэтому сразу длинный код не напишешь. Я прошу ИИ продолжить писать код с того места, где он остановился. Но наилучший результат с кодом mql5 дает просьба его улучшить или чем-то дополнить.
 
Lilita Bogachkova #:

ИИ пишет mql5 код, это уже протестировано.

Круто

 
Lilita Bogachkova #:
У него ограниченная длина ответа, поэтому сразу длинный код не напишешь. Я прошу ИИ продолжить писать код с того места, где он остановился. Но наилучший результат с кодом mql5 дает просьба его улучшить или чем-то дополнить.

Хорошо, упростим задачу. Пусть ИИ напишет для МТ5 код функции, определяющей момент разворота цены на таймфрейме М1. Валютная пара - EUR/USD.

С уважением, Владимир.

 
MrBrooklin #:

Хорошо, упростим задачу. Пусть ИИ напишет для МТ5 код функции, определяющей момент разворота цены на таймфрейме М1. Валютная пара - EUR/USD.

С уважением, Владимир.

Напишите код для функции mql5, определяющей момент разворота цены на таймфрейме M1.
-

Для определения момента разворота цены на таймфрейме M1 с помощью языка программирования MQL5 можно использовать следующий код:

#include <Arrays\ArrayObj.mqh>

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[])
{
  // Check if this is the first bar
  if (prev_calculated == 0)
    return(0);

  // Check if this is the second bar
  if (prev_calculated == 1)
  {
    // Check if the price has reversed on this bar
    if (close[1] > open[1] && close[0] < open[0])
      Print("Price reversed on ", TimeToString(time[0], TIME_DATE | TIME_MINUTES));
    else if (close[1] < open[1] && close[0] > open[0])
      Print("Price reversed on ", TimeToString(time[0], TIME_DATE | TIME_MINUTES));
  }

  // Return value is not used
  return(0);
}

Этот код проверит, изменилась ли цена на текущем баре (время[0]), сравнив цену закрытия предыдущего бара (close[1]) с ценой открытия текущего бара (open[0]). Если цена закрытия предыдущего бара больше цены открытия текущего бара, а цена закрытия текущего бара меньше цены открытия текущего бара, он напечатает сообщение о том, что цена развернулась на текущем баре. Аналогичным образом, если цена закрытия предыдущего бара меньше цены открытия текущего бара, а цена закрытия текущего бара больше, чем цена открытия текущего бара, он также распечатает сообщение, указывающее, что цена развернулась на текущем баре.

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

 


Напишите код для функции mql5, определяющей момент разворота цены на таймфрейме M1, только для валютной пары - EUR/USD код не должен работать для другой валютной пары.

-

Чтобы определить момент разворота цены на таймфрейме M1 для валютной пары EUR/USD с помощью языка программирования MQL5, а также убедиться, что код не работает ни для одной другой валютной пары, можно использовать следующий код:

#include <Arrays\ArrayObj.mqh>

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[])
{
  // Check if this is the first bar
  if (prev_calculated == 0)
    return(0);

  // Check if this is the second bar
  if (prev_calculated == 1)
  {
    // Check if the price has reversed on this bar for EUR/USD
    if (StringFind(Symbol(), "EUR/USD") >= 0)
    {
      if (close[1] > open[1] && close[0] < open[0])
        Print("Price reversed on ", TimeToString(time[0], TIME_DATE | TIME_MINUTES), " for EUR/USD");
      else if (close[1] < open[1] && close[0] > open[0])
        Print("Price reversed on ", TimeToString(time[0], TIME_DATE | TIME_MINUTES), " for EUR/USD");
    }
  }

  // Return value is not used
  return(0);
}


Этот код проверит, является ли текущий символ EUR/USD, используя функцию и функцию. Если текущим символом является EUR/USD, он проверит, изменилась ли цена на текущем баре (время[0]), сравнив цену закрытия предыдущего бара (close[1]) с ценой открытия текущего бара (open[0]). Если цена закрытия предыдущего бара больше цены открытия текущего бара, а цена закрытия текущего бара меньше цены открытия текущего бара, он распечатает сообщение о том, что цена развернулась на текущем баре для валютной пары EUR/USD. Аналогично, если цена закрытия предыдущего бара меньше цены открытия текущего бара, а цена закрытия текущего бара больше цены открытия текущего бара, он также напечатает сообщение, указывающее, что цена развернулась на текущем баре для валютной пары EUR/USD.StringFindSymbol

Обратите внимание, что этот код предполагает, что используется таймфрейм M1, так как он сравнивает только цену закрытия предыдущего бара с ценой открытия текущего бара. Если вы хотите использовать другой таймфрейм, вам нужно будет соответствующим образом изменить код.
 
Lilita Bogachkova #:

Напишите код для функции mql5, определяющей момент разворота цены на таймфрейме M1.
-

Для определения момента разворота цены на таймфрейме M1 с помощью языка программирования MQL5 можно использовать следующий код:

Этот код проверит, изменилась ли цена на текущем баре (время[0]), сравнив цену закрытия предыдущего бара (close[1]) с ценой открытия текущего бара (open[0]). Если цена закрытия предыдущего бара больше цены открытия текущего бара, а цена закрытия текущего бара меньше цены открытия текущего бара, он напечатает сообщение о том, что цена развернулась на текущем баре. Аналогичным образом, если цена закрытия предыдущего бара меньше цены открытия текущего бара, а цена закрытия текущего бара больше, чем цена открытия текущего бара, он также распечатает сообщение, указывающее, что цена развернулась на текущем баре.

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

Спасибо, всё понятно! Больше вопросов к ИСКУССТВЕННОМУ ИНТЕЛЛЕКТУ не имею.

С уважением, Владимир.

 
MrBrooklin #:

Хорошо, упростим задачу. Пусть ИИ напишет для МТ5 код функции, определяющей момент разворота цены на таймфрейме М1. Валютная пара - EUR/USD.

С уважением, Владимир.

Вы должны написать текст задания, который определяет, что нужно сделать, а не прикреплять картинку, чтобы я могла  думать, какие условия включить в задание. Я спросила то что было вами написано!

 
ПРОФЕССИОНАЛЬНЫЙ КОНСУЛЬТАНТ
Напишите код функции mql5, определяющей момент разворота ценового тренда (изменение тренда определяется индикатором) на таймфрейме M1, только для валютной пары EUR/USD код не должен работать для другой валютной пары.
-
Чтобы определить момент разворота ценового тренда на таймфрейме M1 для валютной пары EUR/USD с помощью языка программирования MQL5, а также убедиться, что код не работает ни для одной другой валютной пары, можно использовать следующий код:
#include <Arrays\ArrayObj.mqh>
#include <Indicators\MovingAverage.mqh>

MovingAverage ma;
int ma_handle;

int OnInit()
{
  // Set up the moving average indicator
  ma.period = 20;
  ma.shift = 0;
  ma.method = MODE_EMA;
  ma.applied_price = PRICE_CLOSE;
  ma_handle = iMA(Symbol(), 0, ma.period, ma.shift, ma.method, ma.applied_price, 1);
  if (ma_handle < 0)
    return(INIT_FAILED);

  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[])
{
  // Check if this is the first bar
  if (prev_calculated == 0)
    return(0);

  // Check if the current symbol is EUR/USD
  if (StringFind(Symbol(), "EUR/USD") < 0)
    return(0);

  // Check if the price trend has reversed on this bar
  double ma_current = iMA(Symbol(), 0, ma.period, ma.shift, ma.method, ma.applied_price, 0);
  double ma_prev = iMA(Symbol(), 0, ma.period, ma.shift, ma.method, ma.applied_price, 1);
  if ((ma_current > ma_prev && close[0] < open[0]) || (ma_current < ma_prev && close[0] > open[0]))
    Print("Price trend reversed on ", TimeToString(time[0], TIME_DATE | TIME_MINUTES), " for EUR/USD");

  // Return value is not used
  return(0);
}



Этот код сначала настроит индикатор скользящей средней, используя класс и функция. Затем он проверит, является ли текущий символ EUR/USD, используя функцию и функцию. Если текущим символом является EUR/USD, он получит текущее и предыдущее значения индикатора скользящей средней с помощью функции и сравнит их с ценой закрытия и ценой открытия текущего бара (time[0]). Если текущее значение индикатора скользящей средней больше предыдущего значения и цена закрытия текущего бара меньше цены открытия текущего бара, или если текущее значение индикатора скользящей средней меньше предыдущего значения и цена закрытия текущего бара больше цены открытия текущего бара,  он распечатает сообщение о том, что ценовой тренд развернулся на текущем баре валютной пары EUR/USD.MovingAverageiMAStringFindSymboliMA

Обратите внимание, что этот код предполагает, что используется таймфрейм M1. Если вы хотите использовать другой таймфрейм, вам нужно будет соответствующим образом изменить код.
 
Lilita Bogachkova #:

Вы должны написать текст задания, который определяет, что нужно сделать, а не прикреплять картинку, чтобы я могла  думать, какие условия включить в задание. Я спросила , то что было вами написано!

Легко! Пусть ИИ напишет для МТ5 код функции, определяющей момент разворота цены на таймфрейме М1. Интервал поиска разворотов цены - 240 минут. Расстояние между Low свечи, на которой произошёл первый разворот цены вниз и High, на котором произошёл второй разворот цены вверх не менее 50 пунктов по пятизнаку. Валютная пара - EUR/USD.

С уважением, Владимир.