Группа пользователей MetaTrader 5 Python - краткое содержание - страница 23
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет всем,
Я недавно начал использовать python с MT5. В настоящее время я могу входить и выходить из сделок, используя python API, но я не могу обновить стоп-лосс с помощью python api.
При выполнении функции я не получаю никаких сообщений об ошибке или успехе
def check_if_long_sl_can_be_improved(symbol, lot):
last_tick()
print()
row = last_tick()
row = row.tail(1)
fast_wma = row['fast_wma']
slow_wma = row['slow_wma']
rsi = row['rsi14']
open_trades = TradeHistory.objects.filter(type='long', status='open')
try:
if open_trades[0].type == 'long':
print('проверить, можно ли улучшить длинный сл')
price=mt5.symbol_info_tick(symbol).bid
цена_входа = open_trades[0].entry_price
initial_stoploss = open_trades[0].initial_stoploss
# если round(price - entry_price, 2) > 0.1:
if True:
profit = price - entry_price
latest_stoploss = initial_stoploss + profit
temp_take_profit = entry_price + 3
запрос = {
"action": mt5.TRADE_ACTION_SLTP,
"symbol": symbol,
"volume": lot,
"type": mt5.ORDER_TYPE_BUY,
# "тип": mt5.ORDER_TYPE_SELL,
"position": open_trades[0].order_id,
"price_open": entry_price,
"sl": latest_stoploss,
"tp": temp_take_profit,
"deviation": 20,
"magic": 333333,
"comment": "python sl updated",
"type_time": mt5.ORDER_TIME_GTC,
"type_filling": mt5.ORDER_FILLING_FOK,
"ENUM_ORDER_STATE": mt5.ORDER_FILLING_RETURN,
}
print(request)
try:
print('try')
result = mt5.order_send(request)
print(result)
print('try')
except Exception as e:
print(e)
if result.retcode != mt5.TRADE_RETCODE_DONE:
show_buy_error(result)
else:
show_buy_Success(result)
trade_to_update = TradeHistory.objects.get(order_id=open_trades[0].order_id)
trade_to_update.latest_stoploss = latest_stoploss
trade_to_update.save()
print(trade_to_update.get_fields())
except:
передать
print()
return 'check_if_long_sl_can_be_improved'
Привет всем! У меня вопрос:
Я вижу, что можно получить данные MetaTrader в Python, но я пытаюсь сделать что-то немного другое.
Я хочу получить информацию через API биржи и затем сгенерировать график на MetaTrader. По сути, отправлять исторические и живые данные о ценах из python в metatrader, который будет получать эти данные и затем строить график в пользовательский символ.
Возможно ли это?
После этого я хочу запустить и протестировать несколько советников на этом символе, но это уже для другого этапа проекта!
Спасибо!
Здравствуйте,
Как запустить тестер стратегий MetaTrader 5 в фоновом режиме с помощью скрипта на Python?
Я хотел бы отправить несколько советников для бэктестинга в MT5, используя несколько символов и несколько таймфреймов. Затем получить результаты.
Здравствуйте,
Я работаю в ubuntu 20.04, и metatrader5 отлично работает в текущем виндовом окружении. У меня есть много mql5-кода, который я хочу перенести на python.
Кто-нибудь знает, как сделать так, чтобы metatrade5 в среде python работал в среде linux-wine?
Это было бы очень полезно, и я надеюсь, что я не единственный, кто сталкивается с этой проблемой.
Заранее спасибо
Клаус
Возникли проблемы с history_deals_get() - он не получает закрытые ордера до тех пор, пока не пройдет много времени (часы), как только ордер закрыт, мне нужно получить к нему доступ. Есть идеи/помощь?
Также параметр "group" ничего не делает.
Возникли проблемы с history_deals_get() - он не получает закрытые ордера до тех пор, пока не пройдет много времени (часы), как только ордер закрыт, мне нужно получить к нему доступ. Есть идеи/помощь?
Также параметр "group" ничего не делает.
Быстрое решение: добавить несколько дней к 'to_date'.
Быстрое решение: добавьте несколько дней к 'to_date'.
Работает как шарм, спасибо Владимиру
Здравствуйте,
У меня не получается закрыть сделку (открытую вручную для тестирования) с помощью функции mt5.Close(), используя символ и номер тикета,
т.е.: mt5.Close(symbol='GBPJPY', ticket = 233458963)
Это все еще работает?
Я использую 'MetaTrader5 - 3.0.34'