# internal order send
def _RawOrder(order_type, symbol, volume, price, comment=None, ticket=None):
order = {
"action": TRADE_ACTION_DEAL,
"symbol": symbol,
"volume": volume,
"type": order_type,
"price": price,
"deviation": 10,
}
if comment != None:
order["comment"] = comment
if ticket != None:
order["position"] = ticket
r = order_send(order)
return r
# Buy order
def Buy(symbol, volume, price=None, *, comment=None, ticket=None):
# with direct call
if price != None:
return _RawOrder(ORDER_TYPE_BUY, symbol, volume, price, comment, ticket)
# no price, we try several times with current price
for tries in range(10):
info = symbol_info_tick(symbol)
r = _RawOrder(ORDER_TYPE_BUY, symbol, volume, info.ask, comment, ticket)
if r.retcode != TRADE_RETCODE_REQUOTE and r.retcode != TRADE_RETCODE_PRICE_OFF:
breakreturn r
# Sell order
def Sell(symbol, volume, price=None, *, comment=None, ticket=None):
# with direct call
if price != None:
return _RawOrder(ORDER_TYPE_SELL, symbol, volume, price, comment, ticket)
# no price, we try several times with current price
for tries in range(10):
info = symbol_info_tick(symbol)
r = _RawOrder(ORDER_TYPE_SELL, symbol, volume, info.bid, comment, ticket)
if r.retcode != TRADE_RETCODE_REQUOTE and r.retcode != TRADE_RETCODE_PRICE_OFF:
breakreturn r
Торговый запрос проходит несколько стадий проверок на торговом сервере. В первую очередь проверяется корректность заполнения всех необходимых полей параметра , и при отсутствии ошибок сервер принимает ордер для дальнейшей обработки. При успешном принятии ордера торговым сервером функция OrderSend() возвращает значение true. Рекомендуется...
我正确的理解是,对于从Py到mt5的计算值和数组的传输,不会有这样的功能?
而它是留给使用--网络解决方案,还是看到一个模块通过内存传输?
用于MT5 <-> Python通信的库,重点是获取数据。
只有查询和交易请求才会从python程序进入终端。没有理由从python中传输大量数据,因为它无法访问可变的MQL5环境,并且严格限制在向终端查询的狭窄界面上。
Python集成有以下应用范围。
Python库不是MQL5的替代品,我们不接受任何功能扩展的请求。
用于MT5 <-> Python通信的库,重点是数据采集。
只有查询和交易请求从Python程序进入终端。没有理由从Python中传输大量数据,因为它不能访问可变的MQL5环境,并且严格限制在向终端请求的狭窄界面上。
Python集成有以下应用范围。
Python库不是MQL5的替代品,我们不接受任何功能扩展的请求。
又是那个沙盒......也许你没有理解这个问题,可以找到一个解决方案。
有一个需要从Py脚本中传递一个数组到mql程序。
有理由传递,计算数据的数组。
建立实时的自定义mql图表。
要建立实时的mql指标。
对于在mql专家中使用实时计算。
直接从导航器运行*.py文件并不能解决在mt5中建立专业的自定义图表的问题。
你需要在Py脚本中计算的mt5自定义实时图表。
为此,你需要从Py脚本中进行阵列转移。
有一个需要从Py脚本中传递一个数组到mql程序。
答案已经完整而明确地给出。
答案是充分而明确的。
答案已经读过了,但限制的原因并不清楚。
在开放的Py脚本中控制的数组如何损害mql程序?
如果我们又要使用拐杖,同样的插座,dll等,我们在谈论什么样的动物园。
这为创建mt5的专业解决方案制造了一个人为的障碍。
好心人,请告诉我如何在这里做挂单,如果可以,请举个例子
没有现成的函数,但你可以在__init__.py中看到简单的订单是如何完成的,待定的订单也是类似地完成。
传递给order_send的字段。
他们是相似的:https://www.mql5.com/ru/docs/trading/ordersend
你好。
可能这个问题已经被问过了,但搜索(谷歌、论坛)没有得到肯定的结果。我想我可能已经能够在我的Ubuntu电脑上安装的jupyter笔记本上使用MetaTrader5。在我的电脑出现一些问题后,我换了它,并安装了一个新的硬盘。 在这个过程中,我失去了与软件包的连接,当我试图用pip install MetaTrader5命令安装该软件包时,我得到了以下信息。
错误:找不到满足MetaTrader5要求的版本(来自版本:无)。
错误:没有找到匹配的MetaTrader5的发行版本
敬请指教。
1.有可能在装有Ubuntu的电脑上安装该软件包吗?
2.如果是,我可以做什么来纠正我在安装时收到的错误?
你好。
可能这个问题已经被问过了,但搜索(谷歌、论坛)没有得到肯定的结果。我想我可能已经能够在我的Ubuntu电脑上安装的jupyter笔记本上使用MetaTrader5。在我的电脑出现一些问题后,我换了它,并安装了一个新的硬盘。在这个过程中,我失去了与软件包的连接,当我试图用pip install MetaTrader5命令安装该软件包时,我得到了以下信息。
错误:找不到满足MetaTrader5要求的版本(来自版本:无)。
错误:没有找到匹配的MetaTrader5的发行版本
敬请指教。
1.有可能在装有Ubuntu的电脑上安装该软件包吗?
2.如果是,我可以做什么来纠正我在安装时收到的错误?
不,这个库只适用于Windows版本的Python,因为它与Windows版本的终端一起工作。
我们将编写一个新版本的集成库,并在那里增加对所需账户的明确选择和授权 。
以后还会有吗?还是?
没有现成的函数,但你可以 在__init__.py中 看到简单的订单是如何完成的 , 待定的订单也是类似地完成。
传递给order_send的字段。
他们是相似的:https://www.mql5.com/ru/docs/trading/ordersend
_init_.py是从哪里来的?我在哪里可以看到它?