MT5 및 trans2quik.dll - 페이지 4

 
prostotrader :

정말 이 결함으로 작업한 사람이 있습니까?

나는 일했고 계속 일하고 있다. 몇 년 전에 썼지만 그 이후로는 아무것도 바뀌지 않았습니다. 문제가 기억나지 않습니다.

설명서의 예를 참조하십시오.

 
Yuriy Asaulenko :

나는 일했고 계속 일하고 있다. 몇 년 전에 썼지만 그 이후로는 아무것도 바뀌지 않았습니다. 문제가 기억나지 않습니다.

설명서의 예를 참조하십시오.

내가 설명한 것을 시도하십시오.

result:= T2QSubscribeOrders(PAnsiChar(AnsiString('123')),
                                    PAnsiChar(AnsiString('123')));

결과가 나와 같습니까?

작동한다면 코드를 줄 수 있습니까?

 
prostotrader :

내가 설명한 것을 시도하십시오.

결과가 나와 같습니까?

작동한다면 코드를 줄 수 있습니까?

코드는 작동하지만 시스템에서 제거해야 하며 그 후에는 작동이 중지되고 의미가 없습니다.)

API 매뉴얼에 T2QSubscribeOrders 기능이 표시되지 않습니다.

ZY 이해, 이전 페이지의 기능을 의미합니다.) 아니요, 참조용으로만 순수 API와 인스턴스를 사용하여 모든 기능을 직접 작성했습니다.

 
Yuriy Asaulenko :

코드는 작동하지만 시스템에서 제거해야 하며 그 후에는 작동이 중지되고 의미가 없습니다.)

API 매뉴얼에 T2QSubscribeOrders 기능이 표시되지 않습니다.

ZY 이해, 이전 페이지의 기능을 의미합니다.) 아니요, 참조용으로만 순수 API와 인스턴스를 사용하여 모든 기능을 직접 작성했습니다.

확인.

하지만 코드가 어떻게 작동하는지 이해하십니까?

trans2quik.dll 작업 순서가 궁금합니다.

즉, 수행하는 작업(단계별).

번호:

1. DLL 다운로드

2. TRANS2QUIK_CONNECT 호출

3. 함수가 반환한 내용을 확인합니다.

4. TRANS2QUIK_SUCCESS가 TRANS2QUIK_CONNECTION_STATUS_CALLBACK을 호출하는 경우

5. TRANS2QUIK_SUCCESS가 TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK을 호출하는 경우

 //--- load trans2quik.dll ---
     if ((QTrader.QuikPath <> '' ) and (FileExists(IncludeTrailingPathDelimiter(QTrader.QuikPath) + DllName))) then
    begin
      QTrader.Tr2QHandle:= LibLoad(QTrader.QuikPath);
       if (QTrader.Tr2QHandle > 0 ) then
      begin
        ErrCode:= 0 ;
        ErrSize:= 0 ;
        ErrStr:= nil;
        res:= T2QConnect(LPSTR(AnsiString(QTrader.QuikPath)), ErrCode, ErrStr, ErrSize);
         case res of
          TRANS2QUIK_SUCCESS: begin
            QTrader.QConn:= true ;
            QTrader.DLLConn:= true ;
            res:= T2QSetConnStatCB(@pfConnStatusCB, ErrCode, ErrStr, ErrSize);
             if (res = TRANS2QUIK_SUCCESS) then
            begin
              res:= T2QSetTransReplyCB(@pfTransReplyCB, ErrCode, ErrStr, ErrSize);
               if (res = TRANS2QUIK_SUCCESS) then
              begin
                res:= T2QStartOrders(@pfOrderStatusCB);
                 if (res = TRANS2QUIK_SUCCESS) then
                begin
                  res:= T2QStartTrades(@pfTradeStatusCB);
                   if (res <> TRANS2QUIK_SUCCESS) then
                  begin
                    Application.MessageBox(PWideChar( 'Не установлен колбэк статуса сделок!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
                    close();
                  end;
                end else
                begin
                  Application.MessageBox(PWideChar( 'Не установлен колбэк статуса ордеров!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
                  close();
                end;
              end else
              begin
                Application.MessageBox(PWideChar( 'Не установлен колбэк ответов!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
                Close();
              end;
            end else
            begin
              Application.MessageBox(PWideChar( 'Не установлен колбэк соединения!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
              Close();
            end;
          end;
          TRANS2QUIK_FAILED: begin
            Application.MessageBox(PWideChar( 'Непредвиденая ошибка при попытке соединения с QUIK!'
                                             + # 10 # 13 +
                                             'Возможно не влючён импорт внешних транзакций.'
                                             + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
          TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND: begin
            Application.MessageBox(PWideChar( 'Не найден терминад QUIK!' + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
          TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED: begin
            Application.MessageBox(PWideChar( 'Данная версия trans2quik.dll не поддерживается!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
           //ANS2QUIK_ALREADY_CONNECTED_TO_QUIK:;
          TRANS2QUIK_WRONG_SYNTAX: begin
            Application.MessageBox(PWideChar( 'Синтаксическая ошибка ы пути к терминалу!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
          TRANS2QUIK_QUIK_NOT_CONNECTED: begin
            Application.MessageBox(PWideChar( 'Нет соединения терминала с сервером!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
          TRANS2QUIK_DLL_NOT_CONNECTED: begin
            Application.MessageBox(PWideChar( 'Не соединения библиотеки с терминалом!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
          TRANS2QUIK_MEMORY_ALLOCATION_ERROR: begin
            Application.MessageBox(PWideChar( 'MEMORY ALLOCATION ERROR!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
          TRANS2QUIK_WRONG_CONNECTION_HANDLE: begin
            Application.MessageBox(PWideChar( 'WRONG CONNECTION HANDLE!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
          TRANS2QUIK_WRONG_INPUT_PARAMS: begin
            Application.MessageBox(PWideChar( 'WRONG INPUT PARAMS!'
                                              + # 10 # 13 +
                                             'Программа будет закрыта.' ),
                                             PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
            Close();
          end;
        end;
      end else
      begin
        Application.MessageBox(PWideChar( 'Не загружена библиотека трансакций!' + # 10 # 13 +
                                           'Программа будет закрыта.' ),
                                           PWideChar( 'ОШИБКА!' ), MB_ICONHAND);
        Close();
      end;
    end;


등등, 어떻게 하셨나요?

 
prostotrader :

등등, 어떻게 하셨나요?

그런 것. 우리는 연결하고, 확인하고, 콜백에 가입하고, 트랜잭션을 전송합니다. API는 작기 때문에 다른 방법으로는 할 수 없습니다. 나만의 API 래퍼가 있지만 클래스에 API가 로드되어 있습니다.

그건 그렇고, 오늘 일요일은 시장이 휴무입니다. 정말 아무것도 확인할 수 없습니다.

 
Yuriy Asaulenko :

그런 것. 우리는 연결하고, 확인하고, 콜백에 가입하고, 트랜잭션을 전송합니다. API는 작기 때문에 다른 방법으로는 할 수 없습니다. 나만의 API 래퍼가 있지만 클래스에 API가 로드되어 있습니다.

그건 그렇고, 오늘 일요일은 시장이 휴무입니다. 당신은 정말 아무것도 확인하지 않습니다.

Kvrik-demo works (나는 일한다)

 
prostotrader :

Kvrik-demo works (나는 일한다)

데모가 없습니다. 필요하지 않습니다.

그건 그렇고, Quick이 아닌 다른 터미널에서 데모 용 응용 프로그램의 일부 기능이 작동하지 않았던 것으로 기억합니다.

뭐가 문제인지 이해가 안가요? 왜이 123? SPBFUT 및 SRZ8 또는 다른 특정 계측기의 데이터를 입력해야 하는 경우 전후에 이벤트를 시청해야 합니다.

나는 당신이 무엇을하고 왜하는지 이해하지 못합니다.

 
Yuriy Asaulenko :

데모가 없습니다. 필요하지 않습니다.

그건 그렇고, Quick이 아닌 다른 터미널에서 데모 용 응용 프로그램의 일부 기능이 작동하지 않았던 것으로 기억합니다.

뭐가 문제인지 이해가 안가요? 왜이 123? SPBFUT 및 SRZ8 또는 다른 특정 계측기의 데이터를 입력해야 하는 경우 전후에 이벤트를 시청해야 합니다.

나는 당신이 무엇을하고 왜하는지 이해하지 못합니다.

방금 실수를 했는데 함수가 모든 것이 정확하다고 반환했습니다.

나는 123을 시도했고 .. 모든 것이 정확하다고 반환했습니다.

그래서 내가 뭔가 잘못하고 있는 것이 아닌가 하는 생각이 들었습니다...

 
prostotrader :

방금 실수를 했는데 함수가 모든 것이 정확하다고 반환했습니다.

나는 123을 시도했고 .. 모든 것이 정확하다고 반환했습니다.

그래서 내가 뭔가 잘못하고 있는 것이 아닌가 하는 생각이 들었습니다...

Quick Junior와 함께 작업한다면, 이것은 IMHO가 이상한 디자인입니다. 퀵으로 바꿨을 때 어떤 동물인지 보려고 했는데 주니어와 어울리지 않고 전혀 어울리지 않았다.

 
Yuriy Asaulenko :

Quick Junior와 함께 작업한다면, 이것은 IMHO가 이상한 디자인입니다. 퀵으로 바꿨을 때 어떤 동물인지 보려고 했는데 주니어와 어울리지 않고 전혀 어울리지 않았다.

나는 문제 없다

사유: