MT5とtrans2quik.dll。 - ページ 16

 
prostotrader:

さらに大きな「手間」を提案しているのですね。EBS口座はお金が分割されないからいいのです。

ビデオでご覧になったものは動作しますが、非常にゆっくりとした 動きです。

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

Quick --> DDE --> MT5 --> PostMessage --> に置き換えてみました。

より高速になりました。

とはいえ、2行のコードで、端末やシステムには負荷がかからない。

メッセージ送信

メッセージの受信

私は、この状況では、EBSの利点はあまり気にしていません。

Quikのために何も書きたくない、絶対に不安定な端末だ、Quikがクラッシュしたかどうか、座って、縛り付けて、見るつもりはない。

 
Dmi3:

私、この状況だとEBSのメリットはあまり気にならないんです。

Quikのために何かを書きたいとは思いません。それは絶対に不安定な端末で、繋がれているように座って、Quikが落ちたかどうかを見ているのは、私の人生設計の一部ではありません。

誰も書くことを強制しているわけではないのですが...。

 
prostotrader:

これらの「ガジェット」はすべて、EBSアカウントでQuickBooksを介して取引するために(あるいはMT5以外のデータのリアルタイム分析に)必要なものである。

遅いQuikからDDE経由でアプリケーションに出力されるデータは非常に遅い

ので、データは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で書いてみたことはありますか?

その中に簡単なスクリプトを書けば、それでOK!

書くことはできても、ちゃんとテストすることは不可能です。

少なくとも同じC#/C++を使うことを誰が禁じているのだろう。LUAバインディングはごく普通です。
テストに関しては、私も同意見かもしれません。QUIKはテスターでテストする可能性がない。しかし、仮想売買のライブラリを書いて(ネットのどこかに準備したライブラリも ある)、好きなだけテストすることは可能です。

プロストトレーダー

もしかしたら、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

皆さん、MT5

から非常に高速にデータを取得し、EBS口座のQuickで取引する仕組みがあります。

追加

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の内部動作を見る (テーブルの更新...1pcの差は私が作った math.floor )


 
prostotrader:

Quickの内部動作を見る (テーブルの更新...1pcの差は私が作った math.floor )


では、そのレンダリングにそんなにラグがあるのでしょうか?

理由: