从python API向 metatrader 5发送订单时出现“不支持的填充模式”错误

z3yyvxxp  于 2023-05-27  发布在  Python
关注(0)|答案(2)|浏览(476)

当我尝试从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))
lmvvr0a8

lmvvr0a81#

这可能是您的订单类型不受支持或止损/止损/止损/止损太小。
在你的情况下,这可能是因为帐户中没有钱。尝试做同样的模拟帐户,有钱,看看你是否会得到同样的错误
也检查你的止盈或止损是否太接近开盘价这里是你的选择列表。
订单类型购买
订单类型销售
订单类型购买限额
订单类型销售限额
订单_类型_购买_停止
订单类型卖出停止
订单类型买入止损限额
ORDER_TYPE_SELL_STOP_LIMIT
订单类型关闭人

oxf4rvwz

oxf4rvwz2#

简单添加请求“type_filling”:mt5.SYMBOL_FILLING_IOC

相关问题