首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过MetaTrader5 python模块下达开仓指令,无任何反应

通过MetaTrader5 python模块下达开仓指令,无任何反应
EN

Stack Overflow用户
提问于 2020-06-10 14:54:40
回答 2查看 1.3K关注 0票数 1

我跟着

Metatrader5 python文档

这个

堆栈溢出中的答案

我试着打开一个卖出的位置:

将MetaTrader5作为mt5 ea导入

_

魔法

_

number = 9986989 #如果你想给每个机器人一个唯一的标识符def get

_

信息(符号):‘

https://www.mql5.com/en/docs/integration/python

_

Metatrader5/mt5symbol

_

py

‘#获取符号属性info=mt5.symbol

_

信息(符号)返回信息定义打开

_

交易(动作、符号、批次、水平

_

点,tp

_

点,偏差):‘

https://www.mql5.com/en/docs/integration/python

_

metatrader5/mt5ordersend

_

py

‘#准备购买请求结构符号

_

info = get

_

信息(符号)如果操作== 'buy':交易

_

类型= mt5.ORDER

_

类型

_

买入价格=mt5.sign

_

信息

_

tick(symbol).ask elif action =='sell':交易

_

类型= mt5.ORDER

_

类型

_

售价=mt5.sign

_

信息

_

tick(symbol).bid point =mt5.sign

_

信息(符号).point buy

_

请求={ "action":mt5.TRADE

_

动作

_

交易," symbol ":符号,"volume":批次,"type":交易

_

type," price ":价格," sl ":price -sl

_

积分

*

点," tp ":价格+tp

_

积分

*

点,“偏差”:偏差,“魔术”:ea

_

魔法

_

number,"comment":“由python发送”,“类型

_

时间“:mt5.ORDER

_

时间

_

GTC,#好到取消“类型

_

填充“:mt5.ORDER

_

填充

_

RETURN,}#发送交易请求结果= mt5.order

_

发送(购买

_

request)返回结果,购买

_

请求定义关闭

_

交易(行动,购买

_

请求、结果、偏差):‘

https://www.mql5.com/en/docs/integration/python

_

metatrader5/mt5ordersend

_

py

‘#创建关闭请求symbol = buy

_

请求

‘'symbol’

if action == 'buy':交易

_

类型= mt5.ORDER

_

类型

_

买入价格=mt5.sign

_

信息

_

tick(symbol).ask elif action =='sell':交易

_

类型= mt5.ORDER

_

类型

_

售价=mt5.sign

_

信息

_

tick(符号).bid位置

_

id=result.order lot =购买

_

请求

‘卷’

关闭

_

request={“操作”:mt5.TRADE

_

动作

_

交易," symbol ":符号,"volume":批次,"type":mt5.ORDER

_

类型

_

SELL," position ":位置

_

id,“价格”:价格,“偏差”:偏差,“魔力”:ea

_

魔法

_

number,“注释”:"python脚本关闭“,”类型

_

时间“:mt5.ORDER

_

时间

_

GTC,#好到取消“类型

_

填充“:mt5.ORDER

_

填充

_

RETURN,}#发送关闭请求result=mt5.order

_

发送(关闭

_

request) #这就是我执行订单结果的方式

_

请求=打开

_

交易(‘买入’,‘美元兑日元’,0.1,50,50,10)收盘

_

交易(‘卖出’,买入

_

请求,结果,10)

没有任何反应,应用程序终端也没有任何反应。我还查看了Metatrader5中的交易和历史部分,以查找一些相关信息,但我什么也没有找到。

如何监控Metatrader5中的日志以调试代码并解决问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-10 19:38:38

当我运行下面的代码时,我得到了这个错误:

代码语言:javascript
复制
OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale, file ..\..\..\..\opencv\modules\objdetect\src\cascadedetect.cpp, line 1580
Traceback (most recent call last):
  File "C:\Users\Sunny\Documents\NetBeansProjects\Face_Detection\src\face_detection.py", line 12, in 
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)
cv2.error: ..\..\..\..\opencv\modules\objdetect\src\cascadedetect.cpp:1580: error: (-215) !empty() in function cv::CascadeClassifier::detectMultiScale

代码是:

代码语言:javascript
复制
import numpy as np
import cv2

face_cascade = cv2.CascadeClassifier('C:\opencv3\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('C:\opencv3\opencv\sources\data\haarcascades\haarcascade_eye.xml')

img = cv2.VideoCapture(0)

while(1):
    _,f=img.read()
    gray = cv2.cvtColor(f, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)
    for (x,y,w,h) in faces:
        cv2.rectangle(f,(x,y),(x+w,y+h),(255,0,0),2)
        roi_gray = gray[y:y+h, x:x+w]
        roi_color = f[y:y+h, x:x+w]
        eyes = eye_cascade.detectMultiScale(roi_gray)
        for (ex,ey,ew,eh) in eyes:
            cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)

    cv2.imshow('img',f)
    if cv2.waitKey(25) == 27:
        break

cv2.destroyAllWindows()
img.release()

我真的不明白发生了什么。我遗漏了什么目录吗?如有任何帮助,我们将不胜感激。我甚至不关心你是否会给我一段新的代码,我只需要一些东西来检测我的脸,并在它周围放一个矩形。

票数 1
EN

Stack Overflow用户

发布于 2020-07-22 07:35:13

只适用于那些达到这个主题的人,他们的Algo交易按钮是打开的,并且在发送订单时没有发生任何事情。

在我的例子中,这是因为我将请求的“volume”设置为一个整数,而且它必须是一个浮点数。没有显示错误,没有生命迹象,没有秩序

_

发送(...)没有返回,就是这样。只需将传入的值强制转换为float,它就起作用了。

这不是问题作者的情况,但我希望它能在未来帮助一些冒险的灵魂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62297541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档