Сергей (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Остановить скрипт при закрытии терминала
 
IsRun = true

function OnInit()
end;

function main()
while IsRun do
if isConnected() == 0 then
IsRun = false
end
sleep(100)
end
end

function OnStop()
  IsRun = false
end
2 QUIK от одного брокера на одном ПК
 
Ставите квики в разные папки и все.
Bug Bounty, отлов критических ошибок и багов
 
Здравствуйте!
В связи с огромным числом пользователей Квика и высоким уровнем конфиденциальности и приватности финансовой информации практикует ли ARQA Technologies программу Bug Bounty?  
Quik + Python
 
Я организовал в оперативной памяти виртуальный диск.
Из квика все нужные таблицы с нужными столбцами через QLUA формирую в текстовые файлы на этот диск.
А затем внешней программой можно читать эти текстовые файлы и обрабатывать их данные, а заявки формировать через trans2quik.dll
Это вариант без DDE или ODBC
Trans2QuikAPI_1.3 - пример для Excel, Почему в новой версии Trans2QuikAPI нет примера для Excel и где его взять?
 
Спасибо за разъяснения.
А что посоветуете делать тем, кто использует Excel и trans2quik.dll для своих роботов?
(вариант с текстовым файлом я знаю, но это прошлый век к сожалению)
Trans2QuikAPI_1.3 - пример для Excel, Почему в новой версии Trans2QuikAPI нет примера для Excel и где его взять?
 
Если строки заменить как вы предлагаете, то компилятор автоматически удаляет в коде выражение [Alias "TRANS2QUIK_IS_QUIK_CONNECTED"]  
Trans2QuikAPI_1.3 - пример для Excel, Почему в новой версии Trans2QuikAPI нет примера для Excel и где его взять?
 
    Public PathToInfo As String = "C:\QUIK\"
   Public Const dwErrorMessageSize As Long = 250
   Public Const dwResultMessageSize As Long = 250
   Dim FunctionResult As Long
   Dim FunctionResultString As String
   Dim pnExtendedErrorCode As Long
   Dim lpstrErrorMessage As String * 250
   Dim nReturnCode As Long
   Dim dwTransID As Long
   Dim dordernum As Double
   Dim lpstrResultMessage As String * 250
   Dim TransStr As String

Public Declare PtrSafe Function TRANS2QUIK_CONNECT Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_CONNECT@16" _
   (ByVal lpstConnectionParamsString As String, ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_DISCONNECT Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_DISCONNECT@12" _
    (ByRef pnExtendedErrorCode As Long, ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_IS_QUIK_CONNECTED Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_IS_QUIK_CONNECTED@12" _
    (ByRef pnExtendedErrorCode As Long, ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_IS_DLL_CONNECTED Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_IS_DLL_CONNECTED@12" _
    (ByRef pnExtendedErrorCode As Long, ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long
   
Public Declare PtrSafe Function TRANS2QUIK_SEND_SYNC_TRANSACTION Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_SEND_SYNC_TRANSACTION@36" _
   (ByVal lpstTransactionString As String, ByRef pnReplyCode As Long, ByRef pdwTransId As Long, ByRef pdOrderNum As Double, _
    ByVal lpstrResultMessage As String, ByVal dwResultMessageSize As Long, ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_SEND_ASYNC_TRANSACTION Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_SEND_ASYNC_TRANSACTION@16" _
   (ByVal lpstTransactionString As String, ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Sub Connect_Click()
   FunctionResult = TRANS2QUIK_CONNECT(PathToInfo, pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
End Sub

Public Sub DisConnect_Click()
   FunctionResult = TRANS2QUIK_DISCONNECT(pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
End Sub

Public Sub CheckQuikConnect_Click()
   FunctionResult = TRANS2QUIK_IS_QUIK_CONNECTED(pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
End Sub

Public Sub CheckDLLConnect_Click()
   FunctionResult = TRANS2QUIK_IS_DLL_CONNECTED(pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
End Sub

Public Sub btn_SendOrderASync_Click()
   TransStr = "ACTION=NEW_ORDER; TRANS_ID=208; CLASSCODE=TQBR; SECCODE=LKOH; ACCOUNT=L01+00000F00; CLIENT_CODE=U1294; TYPE=L; OPERATION=B; QUANTITY=1; PRICE=4000"
   FunctionResult = TRANS2QUIK_SEND_ASYNC_TRANSACTION(TransStr, pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
End Sub

Public Sub btn_SendOrderSync_Click()
   TransStr = "ACTION=NEW_ORDER; TRANS_ID=208; CLASSCODE=TQBR; SECCODE=LKOH; ACCOUNT=L01+00000F00; CLIENT_CODE=U1294; TYPE=L; OPERATION=B; QUANTITY=1; PRICE=4000"
   FunctionResult = TRANS2QUIK_SEND_SYNC_TRANSACTION(TransStr, nReturnCode, dwTransID, dordernum, lpstrResultMessage, dwResultMessageSize, pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
End Sub

Public Sub btn_SendKillSync_Click()
   TransStr = "ACTION=KILL_ORDER; CLASSCODE=TQBR; SECCODE=LKOH; TRANS_ID=200; ORDER_KEY=" & CStr(Cells(8, 1))
   FunctionResult = TRANS2QUIK_SEND_SYNC_TRANSACTION(TransStr, nReturnCode, dwTransID, dordernum, lpstrResultMessage, dwResultMessageSize, pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
End Sub
Trans2QuikAPI_1.3 - пример для Excel, Почему в новой версии Trans2QuikAPI нет примера для Excel и где его взять?
 
Цитата
Egor Zaytsev написал:
Цитата
Сергей   написал:
QUIK 7.16.3.14
Проверить работу на ваших примерах не представляется возможным, так как в них нет примера на MS Excel.
Примеры trans2quik версии 1.2 не подходят, поскольку на 64-битной версии MS Excel вызов dll организован несколько иначе, чем на 32-битной
Пример для Excel версии  trans2quik 1.2 будет работать и для версии  trans2quik 1.3 .
Даже просто при открытии файла из примера  trans2quik 1.2 выходит сообщение об ошибке:

Compile error:
The code in this project must be updated for use on 64-bit systems.
Please review and update Declare statements and then mark them
with the PtrSafe attribute.

Затем открывается текст VBA кода выделенный красным цветом.
Могу выслать принтскрин...
Trans2QuikAPI_1.3 - пример для Excel, Почему в новой версии Trans2QuikAPI нет примера для Excel и где его взять?
 
QUIK 7.16.3.14
Проверить работу на ваших примерах не представляется возможным, так как в них нет примера на MS Excel.
Примеры trans2quik версии 1.2 не подходят, поскольку на 64-битной версии MS Excel вызов dll организован несколько иначе, чем на 32-битной  
Trans2QuikAPI_1.3 - пример для Excel, Почему в новой версии Trans2QuikAPI нет примера для Excel и где его взять?
 
Добрый день!
Перешел с 32-битной dll trans2quik на 64-битную, соответственно и эксель теперь 64-битный (Офис 2016)

В описаниях функций добавил PtrSafe:
Public Declare PtrSafe Function TRANS2QUIK_CONNECT Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_CONNECT@16" _
   (ByVal lpstConnectionParamsString As String, ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_DISCONNECT Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_DISCONNECT@12" _
    (ByRef pnExtendedErrorCode As Long, ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_IS_QUIK_CONNECTED Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_IS_QUIK_CONNECTED@12" _
    (ByRef pnExtendedErrorCode As Long, ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_IS_DLL_CONNECTED Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_IS_DLL_CONNECTED@12" _
    (ByRef pnExtendedErrorCode As Long, ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long
   
Public Declare PtrSafe Function TRANS2QUIK_SEND_SYNC_TRANSACTION Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_SEND_SYNC_TRANSACTION@36" _
   (ByVal lpstTransactionString As String, ByRef pnReplyCode As Long, ByRef pdwTransId As Long, ByRef pdOrderNum As Double, _
    ByVal lpstrResultMessage As String, ByVal dwResultMessageSize As Long, ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

Public Declare PtrSafe Function TRANS2QUIK_SEND_ASYNC_TRANSACTION Lib "C:\trans2quik.dll" Alias "_TRANS2QUIK_SEND_ASYNC_TRANSACTION@16" _
   (ByVal lpstTransactionString As String, ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long

При вызовах функций выходит ошибка вида
Например при вызове TRANS2QUIK_IS_QUIK_CONNECTED:
Run-Time Error '453'
Can't find DLL entry point _TRANS2QUIK_IS_QUIK_CONNECTED@12 in C:\trans2quik.dll

Подскажите пожалуйста в чем может быть ошибка?
(На Экселе 2003 32-битная dll работала как часы)
Страницы: 1
Наверх