<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      java ctp

      文檔

      java ctp

      ctp是綜合交易平臺,是技術專門為期貨公司開發的一套期貨經紀業務管理系統,由交易、風險控制、結算三大系統組成。JAVA接口中的CTP是由JNI實現的,通過靜態方法例如CreateFtdc TraderApi方法來創建。
      推薦度:
      導讀ctp是綜合交易平臺,是技術專門為期貨公司開發的一套期貨經紀業務管理系統,由交易、風險控制、結算三大系統組成。JAVA接口中的CTP是由JNI實現的,通過靜態方法例如CreateFtdc TraderApi方法來創建。

      java ctp是什么,讓我們一起了解一下。

      ctp是綜合交易平臺,是技術專門為期貨公司開發的一套期貨經紀業務管理系統,由交易、風險控制、結算三大系統組成。JAVA接口中的CTP是由JNI實現的,通過靜態方法例如CreateFtdcTraderApi方法來創建。

      那么在期貨交易中,由JNI實現的CTP在JAVA接口中是如何操作的?

      CTP的頭文件分為3個部分:

      1. ThostFtdcUserApiDataType.h,api的數據類型, typedef了一大堆類型,char, char[], int, short, double。 對于大部分char型,又#define了很多字符常量。開頭的枚舉類型比較特殊。還有那個單引號括起來的連續字符也比較特殊。

      2. ThostFtdcUserApiStruct.h, api的數據結構,用于api和spi的函數參數,數據結構的成員變量的類型全部來自上面的頭文件。

      3.? API、SPI (Trader, Market Data)

      他的實現思路是:

      Java的API類跟C++中一樣,只能通過靜態方法例如CreateFtdcTraderApi方法來創建。

      Java的API類,包含一個C++的API的實例的指針。API的每個函數,全部通過native方法。這個native方法通過這個指針調用對應的CTP API。例如:public native int ReqUserLogin(CThostFtdcReqUserLoginField pReqUserLoginField,int nRequestID);

      Java中的SPI類可以用new來創建,它的構造函數會調用newNativeSpiInstance這個native方法。newNativeSpiInstance(代碼最長的函數)會干這么幾件事。

      具體操作:實現每一個java API類的native函數。

      JNIEXPORT?jint?JNICALL?Java_ctp_CThostFtdcTraderApi_ReqQryTradingNotice
      (JNIEnv*env,jobject?obj,jobject?pQryTradingNotice,jint?nRequestID)
      {undefined
      CThostFtdcTraderApi*ptrApi;
      jclass?clazzTraderApi=?env->FindClass("Lctp/CThostFtdcTraderApi;");
      jfieldID?fidTraderApi=?env->GetFieldID(clazzTraderApi,?"ptrApi",?"J");
      ptrApi=?(CThostFtdcTraderApi*)env->GetLongField(obj,fidTraderApi);
      jclass?clzparam=?env->FindClass("Lctp/apistruct/CThostFtdcQryTradingNoticeField;");
      CThostFtdcQryTradingNoticeField?QryTradingNotice=?{?0};
      {undefined
      jfieldID?fid=?env->GetFieldID(clzparam,?"BrokerID",?"Ljava/lang/String;");
      jstring?jstr=?(jstring)?env->GetObjectField(pQryTradingNotice,fid);const?char*cstr;if(jstr)?{undefined
      cstr=?env->GetStringUTFChars(jstr,?NULL);
      strcpy(QryTradingNotice.BrokerID,?(char?*)?cstr);
      }
      env->ReleaseStringUTFChars((jstring)jstr,?cstr);
      }
      {undefined
      jfieldID?fid=?env->GetFieldID(clzparam,?"InvestorID",?"Ljava/lang/String;");
      jstring?jstr=?(jstring)?env->GetObjectField(pQryTradingNotice,fid);const?char*cstr;if(jstr)?{undefined
      cstr=?env->GetStringUTFChars(jstr,?NULL);
      strcpy(QryTradingNotice.InvestorID,?(char?*)?cstr);
      }
      env->ReleaseStringUTFChars((jstring)jstr,?cstr);
      }
      {undefined
      jfieldID?fid=?env->GetFieldID(clzparam,?"InvestUnitID",?"Ljava/lang/String;");
      jstring?jstr=?(jstring)?env->GetObjectField(pQryTradingNotice,fid);const?char*cstr;if(jstr)?{undefined
      cstr=?env->GetStringUTFChars(jstr,?NULL);
      strcpy(QryTradingNotice.InvestUnitID,?(char?*)?cstr);
      }
      env->ReleaseStringUTFChars((jstring)jstr,?cstr);
      }
      jint?iRtn=?ptrApi->ReqQryTradingNotice(&QryTradingNotice,?(?int)?nRequestID);returniRtn;
      }

      以上就是小編今天的分享了,希望可以幫助到大家。

      文檔

      java ctp

      ctp是綜合交易平臺,是技術專門為期貨公司開發的一套期貨經紀業務管理系統,由交易、風險控制、結算三大系統組成。JAVA接口中的CTP是由JNI實現的,通過靜態方法例如CreateFtdc TraderApi方法來創建。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      java獲取隨機字符串 java daemon java獲取隨機數 java dashboard java獲得當前路徑 java表單校驗 java dataframe java規則引擎 java dataset java讀取json java讀取本地excel java decaf java調python java decode java decodeuri java delegate java調用c++接口 java調用c++ java獲取絕對值 java delete java獲取運行時間 java cssbox java獲取路徑 java獲取請求域名 java csrf java獲取視頻時長 java crontab java獲取網絡時間 java crash java獲取秒級時間戳 java core java獲取泛型class java corba java cookie java獲取本地ip java controller java獲取本周日期 java context japanese java 微信怎么群發消息
      Top 少妇高潮太爽了在线视频