более сложный пример - эксперт с торговлей по двум скользящим средним без использования истории:
import MetaTrader5 as mt5
import time
mt5.initialize()
mt5.wait()
info = mt5.terminal_info()
if info.trade_allowed == False:
print("Auto-trading disabled in Terminal, enable it")
quit()
symbol = "EURUSD"# currency
lot = 0.01; # buy lot
interval = 5# price requesting interval in sec
long_len = 11# long moving average length
short_len = 7# short moving average length
long_ma = [] # long ma list
short_ma = [] # short ma list
ticket = 0# ticket for sell
mt5.symbol_select(symbol)
# wait some time
time.sleep(1)
print("\nPreparing...")
for i in range(long_len):
p = mt5.symbol_info_tick(symbol)
print(p.bid,'/',p.ask)
avg = (p.ask + p.bid) / 2
long_ma.append(avg)
if i >= long_len - short_len:
short_ma.append(avg)
time.sleep(interval)
print("\nWorking...")
while True:
p = mt5.symbol_info_tick(symbol)
print(p.bid,'/',p.ask)
avg = (p.ask + p.bid) / 2# short values
prev_short = sum(short_ma) / short_len
short_ma.pop(0)
short_ma.append(avg)
short = sum(short_ma) / short_len
# long values
prev_long = sum(long_ma) / long_len
long_ma.pop(0)
long_ma.append(avg)
long = sum(long_ma) / long_len
# buy signal
if prev_short < prev_long and short > long:
print("BUY: ([-1]:",prev_short,"/",prev_long,", [0]:",short,"/",long,")")
r = mt5.Buy(symbol, lot)
if r.retcode != mt5.TRADE_RETCODE_DONE:
print("Buy failed: ", r)
else:
ticket = r.order
elif prev_short > prev_long and short < long and ticket>0:
print("CLOSE: ([-1]:",prev_short,"/",prev_long,", [0]:",short,"/",long,")")
r = mt5.Sell(symbol, lot, ticket=ticket)
if r.retcode != mt5.TRADE_RETCODE_DONE:
print("Sell failed: ", r)
else:
ticket = 0
time.sleep(interval)
mt5.shutdown()
В тестовом сервере (сервер MetaQuotes-Beta, адрес 78.140.180.203:443) доступна бета версия терминала 2323 с новыми возможностями. Публичную бету будем выкатывать завтра.
Также выпустили новую версию MetaTrader 5.0.20 для Питона (pip install --upgrade metatrader5) с новым синтаксисом для переключения счетов:
Теперь можно прямо в инициализации указывать авторизацию, причем как в полном виде, так и в коротком.
Функция wait упразднена и теперь полный цикл инициализации с ожиданием производится прямо в initialize, где можно задать и время ожидания в миллисекундах.
Питоновская библиотека уже гарантированно находит самую последнюю активную копию терминала даже если она была установлена в портативном (ключ /portable) режиме.
Питоновские программы уже показываются прямо в навигаторе:
У релизу в эту пятницу их можно будет уже полноценно запускать как обычные MQL5 скрипты и они будут привязываться к графикам.
В последующем мы добавим в питоновскую библиотеку доступ ко всем(включая кастомные) индикаторам в режиме чтения. Это позволит сделать работу в питоне более продуктивной. Но это пока не приоритет, мы будем это делать сильно позже.
Параллельно мы расширяем возможности редактора и в следующем релизе (не в ближайшем в пятницу) будет полная возможность использовать Clang/LLVM и Microsoft Visual Studio для компиляции C++ программ:
Параллельно мы расширяем возможности редактора и в следующем релизе (не в ближайшем в пятницу) будет полная возможность использовать Clang/LLVM и Microsoft Visual Studio для компиляции C++ программ:
Для линковки .lib файлов в проекты будет добавлен компоновщик?
Сам по себе любой язык бесполезен без информационно-торговой платформы (платформа - это не терминал, а весь комплекс серверов с инфраструктурой и экосистемой), которая кормит его данными и обеспечивает исполнение сделок.
Наша задача представить цельную платформу с широким набором средств для алготрейдинга, покрывая разные сегменты потребителей.
Питон - явный победитель в ML и очень эффективный язык для ведения исследований. Пусть даже его в тестер не загнать, но и в режиме прямой интеграции он хорош.
Кстати, в отличии от других питоновских библиотек(часто написанных в лоб и слабо оптимизированных), мы сильно оптимизировали отдачу массивных чартовых данных. Это означает, что можно эффективно по памяти и быстро получать глубокую историю.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Поменялись также константы?
На выходе:
да у констант убран префикс MT5_, вот пример использования:
более сложный пример - эксперт с торговлей по двум скользящим средним без использования истории:
да у констант убран префикс MT5_, вот пример использования:
более сложный пример - эксперт с торговлей по двум скользящим средним без использования истории:
Спасибо.
Эволюция либы это хорошо. Вопрос к разрабам - есть где роудмап по пиновской либе?
Каких нововведений можно еще ждать, каких не ждать?
В тестовом сервере (сервер MetaQuotes-Beta, адрес 78.140.180.203:443) доступна бета версия терминала 2323 с новыми возможностями. Публичную бету будем выкатывать завтра.
Также выпустили новую версию MetaTrader 5.0.20 для Питона (pip install --upgrade metatrader5) с новым синтаксисом для переключения счетов:
Теперь можно прямо в инициализации указывать авторизацию, причем как в полном виде, так и в коротком.
Функция wait упразднена и теперь полный цикл инициализации с ожиданием производится прямо в initialize, где можно задать и время ожидания в миллисекундах.
Питоновская библиотека уже гарантированно находит самую последнюю активную копию терминала даже если она была установлена в портативном (ключ /portable) режиме.
Питоновские программы уже показываются прямо в навигаторе:
У релизу в эту пятницу их можно будет уже полноценно запускать как обычные MQL5 скрипты и они будут привязываться к графикам.
В последующем мы добавим в питоновскую библиотеку доступ ко всем(включая кастомные) индикаторам в режиме чтения. Это позволит сделать работу в питоне более продуктивной. Но это пока не приоритет, мы будем это делать сильно позже.
Также выпустили новую версию MetaTrader 5.0.20 для Питона (pip install --upgrade metatrader5) с новым синтаксисом для переключения счетов
Возможностей больше, чем у MQL5.
Параллельно мы расширяем возможности редактора и в следующем релизе (не в ближайшем в пятницу) будет полная возможность использовать Clang/LLVM и Microsoft Visual Studio для компиляции C++ программ:
Возможно, и C# включим.
Большую работу провели для полноценного использования SQLite баз данных: SQLite: нативная работа с базами данных на SQL в MQL5
Это позволяет удобно оперировать и обмениваться большими объемами данных между разными системами и внутри терминала.
Возможностей больше, чем у MQL5.
Добиваем?
Параллельно мы расширяем возможности редактора и в следующем релизе (не в ближайшем в пятницу)
будет полная возможность использовать Clang/LLVM и Microsoft Visual Studio для компиляции C++ программ:
Для линковки .lib файлов в проекты
будет добавлен компоновщик?
Для линковки .lib файлов в проекты
будет добавлен компоновщик?
В рамках проектов можно указывать множество целевых вариантов:
У DLL/EXE файлов есть кастомные настройки дефайнов, библиотеки и дополнительные параметры для компилятора:
Линковщик автоматически используется от Clang или Visual Studio. Явным образом его указывать не надо.
Возможностей больше, чем у MQL5.
Это в результате у платформы MetaTrader 5 больше возможностей.
Сам по себе любой язык бесполезен без информационно-торговой платформы (платформа - это не терминал, а весь комплекс серверов с инфраструктурой и экосистемой), которая кормит его данными и обеспечивает исполнение сделок.
Наша задача представить цельную платформу с широким набором средств для алготрейдинга, покрывая разные сегменты потребителей.
Питон - явный победитель в ML и очень эффективный язык для ведения исследований. Пусть даже его в тестер не загнать, но и в режиме прямой интеграции он хорош.
Кстати, в отличии от других питоновских библиотек(часто написанных в лоб и слабо оптимизированных), мы сильно оптимизировали отдачу массивных чартовых данных. Это означает, что можно эффективно по памяти и быстро получать глубокую историю.