MT5 et trans2quik.dll - page 16

 
prostotrader:

Vous suggérez un "tracas" encore plus grand, le compte EBS est bon car l'argent n'est pas divisé en sections.

Ce que vous avez vu dans la vidéo fonctionne, mais très lentement!

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

J'ai remplacé Quick --> DDE --> par MT5 --> PostMessage -->.

Il est devenu beaucoup plus rapide.

Cela dit, 2 lignes de code et aucune charge sur le terminal et le système.

Envoi de messages

Réception des messages

Dans cette situation, je ne me soucie guère des avantages d'EBS.

Je ne veux pas écrire quoi que ce soit pour Quik, c'est un terminal absolument instable, je ne vais pas m'asseoir, attaché et regarder, si Quik s'est écrasé.

 
Dmi3:

Dans cette situation, je ne me soucie guère des avantages d'EBS.

Je ne veux pas écrire quoi que ce soit pour Quik, c'est un terminal absolument instable, rester assis comme un captif, à regarder si Quik est tombé, ne fait pas partie de mes projets de vie.

Personne ne vous oblige à écrire....

 
prostotrader:

Tous ces "gadgets" sont nécessaires pour effectuer des transactions via QuickBooks sur des comptes EBS (ou pour l'analyse en temps réel des données en dehors de MT5).

La sortie des données vers votre application à partir de la Quik lente via DDE est très lente,

Ainsi, les données proviennent de MT5, et les ordres de trading sont envoyés à Kvik via leur API (trans2quik.dll).

Le mécanisme est

MT5 --> Application personnelle <--> trans2quik.dll <--> rapide

Voici un exemple de négociation en Kvik pour des contrats à terme contre des actions


Malheureusement, je ne comprends rien au-delà de MQL :(

Est-il possible d'écrire une instruction pour les nuls, comment mettre tout cela en œuvre, ou s'agit-il d'un code fermé dont seuls les éléments sont présentés ?

 
Aleksey Vyazmikin:

Malheureusement, je ne comprends rien au-delà de MQL :(

Est-il possible d'écrire une instruction pour les nuls sur la manière de mettre en œuvre tout cela, ou bien s'agit-il d'un code fermé dont seuls les éléments sont présentés ?

Il est peu probable qu'un "imbécile" écrive sa propre application qui recevra le PostMessage de MT5 et gérera les transactions via l'API rapide.

 

Quelqu'un sait-il comment obtenir des fonds gratuits en 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:

Avez-vous déjà essayé d'écrire en QPile ou en QLua ?

Vous pouvez y écrire un simple script et c'est tout !

Il est peut-être possible de l'écrire, mais il est impossible de le tester correctement.

Qui interdit d'utiliser au moins le même C#/C++. La liaison LUA est tout à fait normale.
Quant aux tests, je suis peut-être d'accord avec vous. QUIK n'a pas la possibilité de le tester dans le testeur. Mais il est possible d'écrire une bibliothèque de transactions virtuelles (j'ai même une bibliothèque prête quelque part sur le net) et de la tester aussi longtemps que vous le souhaitez.

prostotrader:

Peut-être que quelqu'un sait comment obtenir des fonds gratuits en QLua ?

>>>

P.S. Il y a un bon fichier QLUA.chm dans QUIK. Ouvrez-la et lisez-la.

 
prostotrader:

Quelqu'un sait-il comment obtenir des fonds gratuits en QLua ?

Il existe une fonction getMoneyEx() en lua, vous pouvez peut-être l'utiliser. http://luaq.ru/getMoneyEx.html

 
Vitalii Ananev:

Le lua a une fonction getMoneyEx(), peut-être pouvez-vous l'utiliser. http://luaq.ru/getMoneyEx.html

Merci, le problème a été résolu.

La fonction est appelée

getPortfolioInfoEx

Tout le monde, il existe un mécanisme pour trader en Quick sur les comptes EBS avec une récupération très rapide des données de MT5

.

Ajouté

Dommage que MQ ait abandonné la section des actions de MT5.

Ajouté

(si quelqu'un en a besoin)

Bibliothèque w32.dllhttps://quik2dde.ru/viewtopic.php?id=293

Et le 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

MCXXXXXX - firm ID
XXXXX - accaunt

Ajouté

C'est comme ça que ça marche


 

Voyez comment Quick fonctionne en interne (table update.... 1pc différence faite par moi math.floor )


 
prostotrader:

Voyez comment Quick fonctionne en interne (table update.... 1pc différence faite par moi math.floor )


Alors, est-ce qu'il y a un tel décalage dans son rendu ?

Raison: