MT5 및 trans2quik.dll - 페이지 16

 
prostotrader :

당신은 더 많은 "치질"을 제공하고, 돈이 섹션으로 분할되지 않기 때문에 EBS 계정이 좋습니다.

비디오에서 본 것 - 작동하지만 매우 느립니다 !

빠른 --> DDE --> 내 응용 프로그램 <--> trans2quik.dl <--> 빠른

나는 Quick --> DDE --> MT5 --> PostMessage --> 로 대체했습니다.

훨씬 빨라졌습니다.

동시에 2줄의 코드와 터미널 및 시스템에 부하가 없습니다.

메시지 전달

메시지 수신

저는 이 상황에서 EBS의 이점에 대해 거의 신경을 쓰지 않습니다.

나는 Quik 아래에 아무것도 쓰고 싶지 않습니다. 그것은 완전히 불안정한 터미널입니다. 마치 묶인 것처럼 앉아 있고 Quik이 떨어지는지 지켜보는 것은 제 인생 계획의 일부가 아닙니다.

 
Dmi3 :

저는 이 상황에서 EBS의 이점에 대해 거의 신경을 쓰지 않습니다.

나는 Quik에서 아무 것도 쓰고 싶지 않습니다. 그것은 절대적으로 불안정한 터미널입니다. 넥타이처럼 앉아서 Quik이 떨어지는지 보는 것은 내 인생 계획의 일부가 아닙니다.

아무도 당신에게 글을 쓰라고 강요하지 않습니다 ...

 
prostotrader :

이러한 모든 "트릭"은 Quick on EBS 계정을 통한 거래(또는 MT5 외부의 실시간 데이터 분석)에 필요합니다.

DDE를 통해 느린 QUIK에서 애플리케이션으로 데이터를 출력하는 것은 매우 느립니다 .

따라서 우리는 MT5에서 데이터를 가져와 API(trans2quik.dll)를 통해 Quick에 거래 주문 을 보냅니다.

메커니즘은

МТ5 --> 자체 애플리케이션 <--> trans2quik.dll <--> 빠른

다음은 주식에 대한 빠른 선물 거래의 예입니다.


불행히도, 나는 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에서는 테스터에서 실행할 가능성이 없습니다. 그러나 가상 거래 라이브러리를 작성하고 (인터넷에서 찾을 수 있는 곳이라도) 원하는 만큼 테스트할 수 있습니다.

단순 상인 :

누군가 QLua에서 무료 자금을 얻는 방법을 알고 있습니까?

>>>

PS QUIK에는 좋은 QLUA.chm 파일이 있습니다. 열어서 읽어보세요.

 
prostotrader :

누군가 QLua에서 무료 자금을 얻는 방법을 알고 있습니까?

루아에는 getMoneyEx() 함수가 있으며 이를 사용할 수 있습니다. http://luaq.ru/getMoneyEx.html

 
Vitalii Ananev :

루아에는 getMoneyEx() 함수가 있으며 이를 사용할 수 있습니다. http://luaq.ru/getMoneyEx.html

덕분에 문제가 해결되었습니다.

함수가 호출됩니다

getPortfolioInfoEx

그게 다야, MT5에서 매우 빠른 데이터 수집으로 EBS 계정에서 Quick으로 거래하는 메커니즘이 있습니다.

추가됨

MQ가 MT5의 거래소 구간을 포기한 것이 안타깝습니다.

추가됨

(필요한 사람이 있다면)

라이브러리 w32.dll https://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이 내부에서 어떻게 작동하는지 살펴봅니다(테이블 업데이트 ....차이점은 내가 만든 1 kopeck입니다 math.floor)


 
prostotrader :

Quick이 내부에서 어떻게 작동하는지 살펴봅니다(테이블 업데이트 ....차이점은 내가 만든 1 kopeck입니다 math.floor)


즉, 그의 렌더링이 너무 늦었습니까?