MT5 e trans2quik.dll - página 16

 
prostotrader:

Você está sugerindo um "aborrecimento" ainda maior, a conta do PBE é boa porque o dinheiro não está dividido em seções.

O que você viu no vídeo funciona, mas muito lentamente!

Rápido --> DDE --> Meu bloco <--> trans2quik.dl <--> Rápido

Substitui Quick --> DDE --> por MT5 --> PostMessage -->.

Tornou-se muito mais rápido.

Dito isto, 2 linhas de código e nenhuma carga no terminal e no sistema.

Envio de mensagens

Recepção de mensagens

Eu, nesta situação, não me importo muito com as vantagens do PBE.

Não quero escrever nada para Quik, é um terminal absolutamente instável, não vou sentar, amarrar e observar, se Quik caiu.

 
Dmi3:

Eu, nesta situação, não me importo muito com os benefícios do EBS.

Eu não quero escrever nada para Quik, é um terminal absolutamente instável, sentado como um amarrado, observando se Quik caiu, não faz parte dos meus planos de vida.

Ninguém está forçando você a escrever....

 
prostotrader:

Todos esses "gadgets" são necessários para negociar via QuickBooks em contas EBS (ou para análise em tempo real de dados fora do MT5).

A saída de dados para sua aplicação do lento Quik via DDE é muito lenta,

Assim, os dados são retirados da MT5 e as ordens de negociação são enviadas para Kvik via seu API (trans2quik.dll).

O mecanismo é

MT5 --> Aplicação própria <--> trans2quik.dll <--> Rápido

Aqui está um exemplo de negociação em Kvik para futuros contra ações


Infelizmente, eu não entendo nada além da MQL :(

É possível escrever uma instrução para manequins, como implementar tudo isso, ou é um código fechado e somente seus elementos são apresentados?

 
Aleksey Vyazmikin:

Infelizmente, eu não entendo nada além da MQL :(

É possível escrever uma instrução para manequins como implementar tudo isso, ou é um código fechado e somente seus elementos são apresentados?

É improvável que um "boneco" escreva seu próprio aplicativo que receba PostMessage da MT5 e gerencie negociações através do API rápido

 

Alguém sabe como obter fundos grátis em 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:

Você já tentou escrever em QPile ou QLua?

Você pode escrever um simples roteiro neles e pronto!

Talvez seja possível escrevê-lo, mas é impossível testá-lo adequadamente.

Quem proíbe o uso de pelo menos o mesmo C#/C+++. A ligação LUA é bastante normal.
Quanto aos testes, talvez eu concorde com você. O QUIK não tem a possibilidade de testá-lo no testador. Mas é possível escrever uma biblioteca de comércio virtual (tenho até uma biblioteca pronta em algum lugar da rede) e testá-la o tempo que você quiser.

prostotrader:

Talvez alguém saiba como obter fundos grátis em QLua?

>>>

P.S. Há um bom arquivo QLUA.chm no QUIK. Abra-o, leia-o.

 
prostotrader:

Alguém sabe como obter fundos grátis em QLua?

Há uma função getMoneyEx() em lua, talvez você possa usá-la. http://luaq.ru/getMoneyEx.html

 
Vitalii Ananev:

O lua tem uma função getMoneyEx(), talvez você possa usá-la. http://luaq.ru/getMoneyEx.html

Obrigado, o problema foi resolvido.

A função é chamada

getPortfolioInfoEx

A todos, há um mecanismo para negociação em Quick nas contas de EBS com recuperação de dados muito rápida a partir do MT5

Adicionado

Pena que a MQ tenha abandonado a seção de estoque do MT5

Adicionado

(se alguém precisar)

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

E o roteiro da 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

Onde

MCXXXXXX - firm ID
XXXXX - accaunt

Adicionado

É assim que funciona


 

Veja como Quick funciona internamente (tabela update.... 1pc diferença feita por mim matemática.floor )


 
prostotrader:

Veja como Quick funciona internamente (tabela update.... 1pc diferença feita por mim matemática.floor )


Então, é assim tanto o atraso em sua renderização?