Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо за этот новый подход! Я пробовал разные решения, но это пока выглядит лучше всего. Я сделал небольшое дополнение к вашей библиотеке, где я возвращаю количество полей для запроса SELECT, используя mysql_num_fields, чтобы я знал, сколько полей мне нужно обработать и вернуть на стороне MQL. Еще раз огромное спасибо за то, что собрали все это вместе, очень помогло!!!
Код MQL:
Спасибо за этот новый подход! Я пробовал разные решения, но это пока выглядит лучше всего. Я сделал небольшое дополнение к вашей библиотеке, где я возвращаю количество полей для запроса SELECT, используя mysql_num_fields, чтобы я знал, сколько полей мне нужно обработать и вернуть на стороне MQL. Еще раз огромное спасибо за то, что собрали все это вместе, очень помогло!!!
Спасибо за добрые слова. Это базовое решение, и оно поддерживает общую функциональность, которую я использую в реальности.
При разработке этого решения я руководствовался следующими правилами: надежность, простота изучения, простота использования и минимальная поддержка.
Конечно, вы можете изменить этот проект и добавить любые дополнительные функции в соответствии с потребностями вашего проекта.
Удачи,
Евгений
Привет, друзья!
Если вам нравится это решение и вы пробуете его в реальных проектах (а не просто так), то у меня есть обновление.
Я начинаю писать новую статью о работе с различными базами данных, такими как MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
Решение должно быть надежным и простым в использовании, как это, но у меня нет времени на его завершение.
Поэтому, если вы хотите поддержать этот проект, вы можете отправить несколько $$ через paypal для меня: e.a.lugovoy@gmail.com.
Размер суммы не имеет значения, я просто хотел бы знать, действительно ли такое решение должно быть завершено.
Всем спасибо,
Евгений
Здравствуйте, ЕвгенийЛуговой~
Я хочу знать, почему ' MySqlGetFieldAsDouble(Cursor, 3);' не может записать свое значение в data[i]?
Print("data[i]",data[3]);--всегда вытесняет 0.0. в чем дело ? спасибо, сэр!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
Привет, друзья!
Если вам нравится это решение и вы пробуете его в реальных проектах (а не просто так), то у меня есть обновление.
Я начинаю писать новую статью о работе с различными базами данных, такими как MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
Решение должно быть надежным и простым в использовании, как это, но у меня нет времени на его завершение.
Поэтому, если вы хотите поддержать этот проект, вы можете отправить несколько $$ через paypal для меня: e.a.lugovoy@gmail.com.
Размер суммы не имеет значения, я просто хотел бы знать, действительно ли такое решение должно быть завершено.
Всем спасибо,
Евгений
Здравствуйте, ЕвгенийЛуговой~
Я хочу знать, почему ' MySqlGetFieldAsDouble(Cursor, 3);' не может записать свое значение в data[i]?
Print("data[i]",data[3]);--всегда вытесняет 0.0. в чем дело ? спасибо, сэр!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
Вы пытаетесь определять массив каждый раз в цикле и выводить пустой элемент массива.
Попробуйте сделать это:
Таким образом, вы должны определить массив один раз перед получением цикла, затем изменить размер, а затем написать процедуру для получения данных.
Кстати, число 3 в MySqlGetFieldAsDouble(Cursor, 3); означает 4-й столбец в списке SELECT, потому что нумерация начинается с 0, т.е. SELECT Open, High, Low, Close FROM ... означает 0 - Open, 1 - High, 2 - Low и 3 - Close.
Надеюсь, это поможет.
С уважением,
Евгений
Вы пытаетесь определить массив каждый раз в цикле и вывести пустой элемент массива.
Попробуйте сделать это:
Таким образом, вы должны определить массив один раз перед циклом выборки, затем изменить размер, а затем написать процедуру для получения данных.
Кстати, число 3 в MySqlGetFieldAsDouble(Cursor, 3); означает 4-й столбец в списке SELECT, потому что нумерация начинается с 0, т.е. SELECT Open, High, Low, Close FROM ... означает 0 - Open, 1 - High, 2 - Low и 3 - Close.
Надеюсь, это поможет.
С уважением,
Евгений
Спасибо за помощь сэр ,я решил свои проблемы о массиве。 Вы сделали хорошую работу на mysql-mql действительно~!
Здравствуйте, elugovoy
Замечательная статья и отличные библиотеки.
Я пытаюсь использовать ваши примеры под MT5, но получаю эту ошибку:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' is not 64-bit version
Вы запускаете MT5 под 32-битной средой?
Не могли бы вы помочь мне с этим?
Большое спасибо!
Кармин Марроне.
Здравствуйте, elugovoy
Замечательная статья и отличные библиотеки.
Я пытаюсь использовать ваши примеры под MT5, но получаю эту ошибку:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' is not 64-bit version
Вы запускаете MT5 под 32-битной средой?
Не могли бы вы помочь мне с этим?
Большое спасибо!
Кармине Марроне.
Здравствуйте, Кармине
К обсуждению выше я приложил проект для x64, посмотрите и/или скачайте из этого поста.
Надеюсь, это поможет.
С уважением,
Евгений