MT5 ve trans2quik.dll - sayfa 4

 
prostotrader :

Bu aksaklıkla gerçekten çalışan var mı?

Çalıştım ve çalışmaya devam ediyorum. Birkaç yıl önce yazdı, o zamandan beri hiçbir şey değişmedi. Herhangi bir sorun hatırlamıyorum.

Kılavuzdaki örneklere bakın.

 
Yuriy Asaulenko :

Çalıştım ve çalışmaya devam ediyorum. Birkaç yıl önce yazdı, o zamandan beri hiçbir şey değişmedi. Herhangi bir sorun hatırlamıyorum.

Kılavuzdaki örneklere bakın.

Anlattıklarımı dene.

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

Sonuç benimkiyle aynı mı?

Çalışırsa kodunu verir misin?

 
prostotrader :

Anlattıklarımı dene.

Sonuç benimkiyle aynı mı?

Çalışırsa kodunu verir misin?

Kod çalışıyor, ancak sistemden çıkarılması gerekiyor, bundan sonra çalışmayı bırakacak ve bundan hiçbir anlamı olmayacak.)

API kılavuzunda T2QSubscribeOrders işlevinizi göremiyorum.

ZY Anlaşıldı, önceki sayfadaki işlevi kastediyorum.) Hayır, yalnızca referans amaçlı saf API ve örnekler kullanarak tüm işlevleri kendim yazdım.

 
Yuriy Asaulenko :

Kod çalışıyor, ancak sistemden çıkarılması gerekiyor, bundan sonra çalışmayı bırakacak ve bundan hiçbir anlamı olmayacak.)

API kılavuzunda T2QSubscribeOrders işlevinizi göremiyorum.

ZY Anlaşıldı, önceki sayfadaki işlevi kastediyorum.) Hayır, yalnızca referans amaçlı saf API ve örnekler kullanarak tüm işlevleri kendim yazdım.

TAMAM.

Ama kodunuzun nasıl çalıştığını anlıyor musunuz?

trans2quik.dll ile çalışma sırası ile ilgileniyor

Yani Ne yapar (adım adım).

No:

1. DLL'yi indirin

2. TRANS2QUIK_CONNECT'i arayın

3. İşlevin ne döndürdüğüne bakın

4. TRANS2QUIK_SUCCESS ise TRANS2QUIK_CONNECTION_STATUS_CALLBACK'i arayın

5. TRANS2QUIK_SUCCESS ise TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK'i arayın

 //--- 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;


ve benzeri, nasıl yaptın?

 
prostotrader :

ve benzeri, nasıl yaptın?

Bunun gibi bir şey. Bağlanır, kontrol eder, geri aramalara abone olur, işlemleri aktarırız. API küçük, başka türlü yapamazsınız. Yalnızca kendi API sarmalayıcınız var, ancak API'yi sınıfa yükledim.

Bu arada, bugün Pazar, piyasa kapalı. Gerçekten hiçbir şeyi kontrol edemezsiniz.

 
Yuriy Asaulenko :

Bunun gibi bir şey. Bağlanır, kontrol eder, geri aramalara abone olur, işlemleri aktarırız. API küçük, başka türlü yapamazsınız. Yalnızca kendi API sarmalayıcınız var, ancak API'yi sınıfa yükledim.

Bu arada, bugün Pazar, piyasa kapalı. Gerçekten hiçbir şeyi kontrol edemezsiniz.

Kvrik-demo çalışmaları (Çalışıyorum)

 
prostotrader :

Kvrik-demo çalışmaları (Çalışıyorum)

Demom yok. Gerekli değil.

Bu arada, başka bir terminalde hatırlıyorum, Hızlı'da değil, demo uygulamalarıyla işlevselliğin bir kısmı çalışmadı.

anlamıyorum sorun ne? Neden bu 123? SPBFUT ve SRZ8 veya başka bir belirli enstrüman(lar)ın verilerini yazmanız gerekiyorsa, önce ve sonra olayları izleyin.

Ne ve neden yaptığınızı anlamıyorum.

 
Yuriy Asaulenko :

Demom yok. Gerekli değil.

Bu arada, başka bir terminalde hatırlıyorum, Hızlı'da değil, demo uygulamalarıyla işlevselliğin bir kısmı çalışmadı.

Sorun ne anlamıyorum? Neden bu 123? SPBFUT ve SRZ8 veya başka bir belirli enstrüman(lar)ın verilerini yazmanız gerekiyorsa, önce ve sonra olayları izleyin.

Ne ve neden yaptığınızı anlamıyorum.

Az önce bir hata yaptım ve fonksiyon her şeyin doğru olduğunu döndürdü.

123 denedim ve .. her şeyin doğru olduğunu döndürdüm.

Bu yüzden belki yanlış bir şey yapıyorum diye düşündüm...

 
prostotrader :

Az önce bir hata yaptım ve fonksiyon her şeyin doğru olduğunu döndürdü.

123 denedim ve .. her şeyin doğru olduğunu döndürdüm.

Bu yüzden belki yanlış bir şey yapıyorum diye düşündüm...

Quick Junior ile çalışıyorsanız, o zaman bu, IMHO, garip bir tasarım. Quick'e geçtiğimde, ne tür bir hayvan görmeye karar verdim ve Junior'la hiç yürümedi.

 
Yuriy Asaulenko :

Quick Junior ile çalışıyorsanız, o zaman bu, IMHO, garip bir tasarım. Quick'e geçtiğimde, ne tür bir hayvan görmeye karar verdim ve Junior'la hiç yürümedi.

sorunum yok

Neden: