MT5和trans2quik.dll - 页 16

 
prostotrader:

你建议的是一个更大的 "麻烦",EBS账户是好的,因为钱没有被分成几个部分。

你在视频中看到的东西是有效的,但非常缓慢

Quick --> DDE --> My pad <->trans2quik.dl<-> Quick

我把Quick --> DDE -->改为 MT5 --> PostMessage -->。

它变得更快。

也就是说,2行代码,对终端和系统没有任何负担。

信息发送

接收信息

在这种情况下,我并不太关心EBS的优势。

我不想为Quik写任何东西,它绝对是不稳定的终端,我不会坐着,绑着看,Quik是否已经崩溃了。

 
Dmi3:

在这种情况下,我并不太关心EBS的好处。

我不想为奎克写任何东西,它是一个绝对不稳定的终端,像拴住一样坐着,看着奎克是否掉下来,不是我人生计划的一部分。

没有人强迫你写....

 
prostotrader:

所有这些 "小工具 "都是在EBS账户上通过QuickBooks进行交易所需要的(或者用于MT5以外的实时数据分析)。

通过DDE从慢速Quik输出到你的应用程序的数据是非常慢的

所以数据来自MT5,交易订单 通过他们的API(trans2quik.dll)发送到Kvik。

机制是

MT5 --> 自己的应用程序 <-> trans2quik.dll <-> Quick

下面是一个在Kvik进行期货对股票交易的例子


不幸的是,我对MQL以外的东西一无所知 :(

是否有可能为傻瓜写一个指令,如何实现这一切,或者它是一个封闭的代码,只介绍其元素?

 
Aleksey Vyazmikin:

不幸的是,我对MQL以外的东西一无所知 :(

有没有可能为傻瓜写一个如何实现这一切的指令,或者它是一个封闭的代码,只有它的元素被呈现?

一个 "傻瓜 "不可能自己写一个应用程序来接收MT5的PostMessage并通过Quick API管理交易。

 

有谁知道如何在QLua中获得免费资金?

w32 = require("w32")

is_run = false
HWND_BROADCAST = 0xFFFF
A_double = 0.0
WParam = 2
lpParam = 1

WM_EBS_MONEY = w32.RegisterWindowMessage("WM_EBS_MONEY")


if WM_EBS_MONEY >= 0xC000 then
  is_run = true
else
  message("Window not registered!") 
end

function OnStop()
  is_run = false
end


function main()
  while is_run do

 --   A_double = Как получить свободные средства????
    lpParam = A_double * 100
    w32.PostMessage(HWND_BROADCAST, WM_EBS_MONEY, WParam, lpParam)
    sleep(100)
  end
end

 
prostotrader:

你有没有试过用QPile或QLua写作?

你可以在其中写一个简单的脚本,仅此而已!

也许可以写出来,但不可能正确测试。

谁禁止至少使用相同的C#/C++。LUA绑定是很正常的。
至于测试,我可能同意你的看法。QUIK没有可能在测试器中进行测试。但是可以写一个虚拟交易的库(我甚至在网上的某个地方有一个现成的库),只要你愿意,就可以测试它。

prostotrader:

也许有人知道如何在QLua中获得免费资金?

>>>

P.S. QUIK中的QLUA.chm是个好文件。打开它,阅读它。

 
prostotrader:

有谁知道如何在QLua中获得免费资金?

在lua中有一个getMoneyEx()函数,也许你可以使用它。http://luaq.ru/getMoneyEx.html

 
Vitalii Ananev:

lua有getMoneyEx()函数,也许你可以用它。http://luaq.ru/getMoneyEx.html

谢谢你,问题已经解决了。

该函数被称为

getPortfolioInfoEx

各位,在EBS账户上有一个快速交易的机制,可以非常快速地从MT5中检索数据

添加

太糟糕了,MQ放弃了MT5的股票部分。

添加

(如果有人需要的话)

库w32.dllhttps://quik2dde.ru/viewtopic.php?id=293

和LUA脚本

w32 = require("w32")

is_run = false
HWND_BROADCAST = 0xFFFF
A_double = 0.0
WParam = 2
lpParam = 1

WM_EBS_MONEY = w32.RegisterWindowMessage("WM_EBS_MONEY")

if WM_EBS_MONEY >= 0xC000 then
  is_run = true
else
  message("Message not registered!") 
end

function OnStop()
  is_run = false
end

function main()
  while is_run do
    a_table = getPortfolioInfoEx("MCXXXXXX", "XXXXX", 0)  
    A_double = a_table.limit_open_pos
    lpParam = math.floor (A_double * 100)
    w32.PostMessage(HWND_BROADCAST, WM_EBS_MONEY, WParam, lpParam)
    sleep(10)
  end
end

在哪里?

MCXXXXXX - firm ID
XXXXX - accaunt

添加

这就是它的工作原理


 

请看Quick内部是如何工作的(表update.... 1pc的差异由我 math.floor制成)


 
prostotrader:

请看Quick内部是如何工作的(表update.... 1pc的差异由我 math.floor制成)


那么,它的渲染有那么大的滞后性吗?