当我尝试从python向 metatrader 5(Alpari经纪商)发送订单时,发生了“不支持的填充模式”错误。
谁能帮我解决这个问题?或者如何将SYMBOL_FILLING_MODE转换为ENUM_ORDER_TYPE_FILLING值?
先谢谢你了!
我试着测试下面的代码:
# Import the libraries
import MetaTrader5 as mt5
from datetime import datetime
# Create the bound between MT5 and Python
mt5.initialize()
# Place buy order
# Initialization value
symbol = "EURUSD"
lot = 0.01
# Choose the deviation
deviation = 10
# Find the filling mode of symbol
filling_type = mt5.symbol_info(symbol).filling_mode
# Create dictionnary request
request = {
"action": mt5.TRADE_ACTION_DEAL,
"symbol": symbol,
"volume": lot,
"type": mt5.ORDER_TYPE_SELL,
"price": mt5.symbol_info_tick(symbol).bid,
"deviation": deviation,
"type_filling": filling_type,
"type_time": mt5.ORDER_TIME_GTC
}
mt5.order_check(request)
结果如下:
OrderCheckResult(retcode=10030, balance=0.0, equity=0.0, profit=0.0,
margin=0.0, margin_free=0.0, margin_level=0.0, comment='Unsupported
filling mode', request=TradeRequest(action=1, magic=0, order=0,
symbol='EURUSD', volume=0.01, price=1.0793, stoplimit=0.0, sl=0.0,
tp=0.0, deviation=10, type=1, type_filling=1, type_time=0,
expiration=0, comment='', position=0, position_by=0))
2条答案
按热度按时间lmvvr0a81#
这可能是您的订单类型不受支持或止损/止损/止损/止损太小。
在你的情况下,这可能是因为帐户中没有钱。尝试做同样的模拟帐户,有钱,看看你是否会得到同样的错误
也检查你的止盈或止损是否太接近开盘价这里是你的选择列表。
订单类型购买
订单类型销售
订单类型购买限额
订单类型销售限额
订单_类型_购买_停止
订单类型卖出停止
订单类型买入止损限额
ORDER_TYPE_SELL_STOP_LIMIT
订单类型关闭人
oxf4rvwz2#
简单添加请求“type_filling”:mt5.SYMBOL_FILLING_IOC