MT5 e trans2quik.dll - pagina 16

 
prostotrader:

Stai suggerendo una "seccatura" ancora più grande, il conto EBS è buono perché il denaro non è diviso in sezioni.

Quello che hai visto nel video funziona, ma molto lentamente!

Quick --> DDE --> Il mio pad <--> trans2quik.dl <--> Quick

Ho sostituito Quick --> DDE --> con MT5 --> PostMessage -->.

È diventato molto più veloce.

Detto questo, 2 righe di codice e nessun carico sul terminale e sul sistema.

Invio di messaggi

Ricezione di messaggi

A me, in questa situazione, non importa molto dei vantaggi di EBS.

Non voglio scrivere nulla per Quik, è un terminale assolutamente instabile, non ho intenzione di sedermi, legato e guardare, se Quik è caduto.

 
Dmi3:

Io, in questa situazione, non mi preoccupo molto dei vantaggi di EBS.

Non voglio scrivere nulla per Quik, è un terminale assolutamente instabile, stare seduto come un legare, a guardare se Quik è caduto, non fa parte dei miei piani di vita.

Nessuno ti obbliga a scrivere ....

 
prostotrader:

Tutti questi "gadget" sono necessari per fare trading tramite QuickBooks su conti EBS (o per l'analisi in tempo reale dei dati al di fuori della MT5).

L' uscita dei dati alla vostra applicazione dal Quik lento via DDE è molto lenta,

quindi i dati sono presi da MT5, e gli ordini di trading sono inviati a Kvik tramite la loro API (trans2quik.dll).

Il meccanismo è

MT5 --> Applicazione propria <--> trans2quik.dll <--> Quick

Ecco un esempio di trading in Kvik per futures contro azioni


Sfortunatamente, non capisco nulla al di là di MQL :(

È possibile scrivere un'istruzione per dummies, come implementare tutto questo, o è un codice chiuso e solo i suoi elementi sono presentati?

 
Aleksey Vyazmikin:

Sfortunatamente, non capisco nulla al di là di MQL :(

È possibile scrivere un'istruzione for dummies su come implementare tutto questo, o è un codice chiuso e solo i suoi elementi sono presentati?

È improbabile che un "manichino" scriva la propria applicazione che riceva PostMessage da MT5 e gestisca i trade attraverso Quick API

 

Qualcuno sa come ottenere fondi gratuiti in 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:

Avete mai provato a scrivere in QPile o QLua?

Si può scrivere un semplice script in essi e questo è tutto!

Può essere possibile scriverlo, ma è impossibile testarlo correttamente.

Chi vieta di usare almeno lo stesso C#/C++. Il legame LUA è abbastanza normale.
Per quanto riguarda i test, potrei essere d'accordo con te. QUIK non ha la possibilità di testarlo nel tester. Ma è possibile scrivere una libreria di trading virtuale (ho anche una libreria pronta da qualche parte in rete) e testarla finché si vuole.

prostotrader:

Forse qualcuno sa come ottenere fondi gratuiti in QLua?

>>>

P.S. C'è un buon file QLUA.chm in QUIK. Aprilo e leggilo.

 
prostotrader:

Qualcuno sa come ottenere fondi gratuiti in QLua?

C'è una funzione getMoneyEx() in lua, forse puoi usarla. http://luaq.ru/getMoneyEx.html

 
Vitalii Ananev:

Il lua ha la funzione getMoneyEx(), forse puoi usarla. http://luaq.ru/getMoneyEx.html

Grazie, il problema è stato risolto.

La funzione si chiama

getPortfolioInfoEx

Tutti, c'è un meccanismo per il trading in Quick sui conti EBS con il recupero molto veloce dei dati da MT5

Aggiunto

Peccato che MQ abbia abbandonato la sezione stock di MT5

Aggiunto

(se qualcuno ne ha bisogno)

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

E lo script 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

Dove

MCXXXXXX - firm ID
XXXXX - accaunt

Aggiunto

Ecco come funziona


 

Vedere come Quick funziona internamente (tabella update.... 1pc differenza fatta da me math.floor )


 
prostotrader:

Vedere come Quick funziona internamente (tabella update.... 1pc differenza fatta da me math.floor )


Allora, è così tanto il ritardo nel suo rendering?