- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个 EA 交易来开启由 Telegram 消息触发的交易。
我成功设置了一个 Hello-World 应用程序,使用 MQ4 作为服务器,Python/Telegram-bot 作为客户端。当 Telegram-Bot 收到消息时,他将向 MQ4 发送请求并获得简单的响应,而不执行交易。
运行下面的代码。
# Hello World client in Python
# Connects REQ socket to tcp://localhost:5555
import zmq
context = zmq.Context()
# Socket to talk to server
print("Connecting to trading server…")
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5555")
print("Connecting to trading server succeed")
#################################################################################
# Use your own values from my.telegram.org
api_id = ######
api_hash = '#####'
bot_token = '#####'
#################################################################################
from telethon import TelegramClient, events
client = TelegramClient('anon', api_id, api_hash)
@client.on(events.NewMessage)
async def my_event_handler(event):
if "Ascending" in event.raw_text:
if "AUDUSD" in event.raw_text:
await event.reply("AUDUSD sell")
# Do 1 request, waiting for a response
for request in range(1):
print("Telegram: AUDUSD sell execution requested %s …" % request)
socket.send(b"AUDUSD Sell execute")
#Send 2 variables (Ordertype // Symbol)
# Get the reply. -> Not neccesary for final application
# Apülication just needs to send 2 Varianles to MQ4 and trigger the open_order()
message = socket.recv()
print("Received reply %s [ %s ]" % (request, message))
client.start()
client.run_until_disconnected()
// Hello World server in MQ4
#include <Zmq/Zmq.mqh>
//+------------------------------------------------------------------+
void OnTick()
{
Context context("helloworld");
Socket socket(context,ZMQ_REP);
socket.bind("tcp://*:5555");
while(!IsStopped())
{
ZmqMsg request;
// Wait for next request from client
// MetaTrader note: this will block the script thread
// and if you try to terminate this script, MetaTrader
// will hang (and crash if you force closing it)
socket.recv(request);
Print("Receive: AUDUSD Sell execute");
Sleep(1000);
ZmqMsg reply("Trade was executed");
// Send reply back to client
socket.send(reply);
Print("Feedback: Trade was executed");
}
}
//+------------------------------------------------------------------+
<小时/>
现在我想将 2 个变量从 Python 发送到 MQ4。 1.订单类型:买入/卖出 2. 交易品种:EURUSD, AUDUSD,...
如果消息包含“升序”,则发送“卖出”-如果消息包含“降序”,则发送“购买”
如果消息包含“AUDUSD”,则发送“AUDUSD”,...
为此,我从 Darwinex 找到了一个库,并希望将其(消息解释、以数组形式发送值)与我已经运行的 telegram-bot 结合起来。
<小时/>为了进行测试,我想单独尝试 Darwinex 的示例代码。
我找到了代码 v2.0.1:
MQ4:(注意:此库代码可能会在最终应用程序中替换上面的整个 MQ4 代码。) https://github.com/darwinex/DarwinexLabs/blob/master/tools/dwx_zeromq_connector/v2.0.1/MQL4/DWX_ZeroMQ_Server_v2.0.1_RC8.mq4
当我复制代码而不进行更改时,我在 Python 中收到错误:
名称错误:名称“_zmq”未定义
运行后:_zmq._DWX_ZeroMQ_Connector() - 在Spyder的内核中。
我该如何修复该错误?
<小时/>在最终状态下,我希望在同一个 Windows Server 2012 R2 上运行 Python 代码和 Expert Advisor。
如果我从服务器的 powershell 中运行 .py 文件就足够了,还是应该通过 Web 端托管该文件?
我希望让整个系统/示例代码在我的 VPS 或 Webside-Host-Server 上运行,并获得一个用于进一步编码操作的测试环境,但目前我无法让 Python 中的库代码正常运行。
此外,MT4 ceeps 使用当前代码会崩溃 - 但如果我将我的应用程序与 Library-Codeexample 结合起来,应该可以修复。
(在我的本地电脑上使用 WIN 10 运行所有内容)。
最佳答案
Q : I think it is a connection-problem between MT4 and Python.
如果没有完全可重现的 MCVE 代码,这是无法确定的。
在 python 中的 QuantFX 和使用 MQL4
实现的交易生态系统 MetaTrader 4 终端之间使用基于 ZeroMQ 的双向信号/消息传递后,使用此功能获得了积极的体验架构。
细节决定。
<小时/>从简单的 PUSH/PULL
原型(prototype)开始 python-PUSH
-es, MQL4
-script-PULL
-s,最好使用 tcp://
传输类(win 平台不需要准备好使用甚至更简单,无协议(protocol),ipc://
传输类。
完成这个简单的步骤后,继续前进。
Q : How do I need to setup my Server to get a connection betwen those two - since it should be the same as on my local PC?
在原型(prototype)设计过程中,在同一个localhost
上使用 ZeroMQ 是正常的,因此您可以测试和调试集成。有关ZeroMQ的详细信息,请随时联系read all details in other posts .
Q : Is it enough if I run the .py file in the powershell from the server or should I host the file with the Webside I already have and use that as "Python-Server"?
是的,如果 .py 文件是这样设计的。没有代码,没有建议。就这么简单。
<小时/>版本 - ZeroMQ,从 2.11.x 到最近的 4.3.+,做了很多更改安装 DLL - 细节很重要。
MQL4 同样经历了许多变化(string
不再是字符串,而是变为 struct
来命名影响最大的变化),因此从简单的场景开始,并集成分步骤/阶段的目标架构,并适当测试已完成的阶段是否按预期工作。
关于python - 如何使用 ZeroMQ 从 Python 建立到 Metatrader 4 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57732595/
我正在尝试使用 Excel 中的间接函数来构建公式以在另一张纸上返回值。 在工作表 A 单元格 D3 的值为 B 我想使用值 B 从名为 App Summary 的工作表中的单元格 B6 返回一个值。
我目前正在使用 LumiSoft 的 SIP 堆栈,并且能够在我的 FreePBX 盒子上成功注册分机并调用另一个软电话。我现在需要做的就是通过调用流式传输 WAV 文件(或 RAW,或任何可行的文件
这个问题已经有答案了: How can I fix 'android.os.NetworkOnMainThreadException'? (65 个回答) 已关闭 8 年前。 我有一个安卓 Activ
我正在使用 ws npm 在服务器端,websocket 在客户端。 从 node-js 运行此代码时它工作正常,但从浏览器运行它会出现以下错误: failed: Error in connectio
当我将鼠标悬停在想要淡入和淡出的内容上多次时,它就会不断重复。即使我停止悬停它。我怎样才能阻止这个? $(".featured").hover(function(){ $(this).find
我需要建立一个 mysql 连接并取回一些数据。我可以使用此代码在 Java 中执行此操作 try{ String username;
不能制造愚蠢。具有下一个文件夹结构: /flint/double-conversion/src /燧石/愚蠢/愚蠢/ 其中/flint/folly 包含自述文件和许可证。作为in the readme
我想在编译主单元之前在程序集中嵌入本地引用。但书面目标不起作用。 WithMetadataValue( 'CopyLocal', 'true' )->Met
我不是软件专家,但我确实需要一些建议。 我正在编写一个 C 程序(在下面剪切/粘贴)以通过 LAN(以太网)建立从我的 Mac Pro 到位于它旁边的基于 Windows XP 的测试仪器的 TCP
我正在构建一个应用程序,我的手机经常将数据发送到我的服务器。由于我将使用我的移动数据,我想知道建立(和拆除?)到我的服务器的 TCP 连接需要多少数据。 最佳答案 TCP 三向握手 Device 1
我有一个带有登录表单的网站。当加载登录表单页面时,我创建一个新的 PDO 对象以查看连接是否正常工作。如果成功打开连接,查看者将看到一个登录表单。如果不成功,他们会收到一条消息,说明服务器已关闭。 然
构建我的Electron应用程序后,它将显示产品名称undefined。如何设置其他名称呢? 当前是这样的: 最佳答案 请尝试此操作。引用此链接 https://www.electronjs.org/
我有一个项目在哪里使用这个 jar 。 据我所知...发生 war 之后,文件夹WEB-INF/lib必须具有: mail-1.4.1.jar activation-1.1.jar mysql-con
代码: %{ #include #include #include #include "gener.h" #include "sym_tab.h" #include "scope.h" #inc
我需要将侧边栏小部件集成到我的高流量页面(称为SiteA)中。该小部件应包含我的其他页面之一(称为 SiteB)的最新文章。 在我看来,我有两种可能的解决方案。 SiteA 上的 cUrl 调用从 S
我正在尝试建立 Cortana 技能,以便能够使用 Surface 相机拍照。怎么做?目前我的技能是能够使用bot框架和使用nodejs来回答问题。代码看起来像 bot.dialog('ScanCar
这个问题在这里已经有了答案: Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExce
当我与网络服务器建立 https 连接时出现 SSLProtocolException。我只在 Android 2.3 Gingebread 中有这个异常(exception);相同的代码在所有其他
我想做的是指定几个端口,然后检查它们是否已建立连接。我找到了以下脚本并运行了,但它只列出了 3 个端口,我不明白为什么。我验证了相关端口的事件规则(以及下面输出中未列出的许多其他端口)。 Set ob
使用 MySQL 我试图使用已经上传到数据库中的数据建立一对多关系。举个例子,假设我在一个表中有一个名字列表,我想将它们连接到一个他们去过的地方的列表。显然 1 个人可以去很多不同的地方,但我在设置时
我是一名优秀的程序员,十分优秀!