public bool publishTradeHistory() { if (m_nPublishedPosCnt == m_lstPosHistory_vt.Count) { return(false); } string sMsg = ""; sMsg = m_sSiteName; sMsg += "@"; sMsg += m_sID; sMsg += "@"; sMsg += CFATCommon.m_dtCurTime.ToString("yyyy/MM/dd HH:mm:ss.fff"); sMsg += "@"; TPosItem posItem = null; for (int i = m_nPublishedPosCnt; i < m_lstPosHistory_vt.Count; i++) { posItem = m_lstPosHistory_vt[i]; sMsg += posItem.getString(); sMsg += "@"; } m_nPublishedPosCnt = m_lstPosHistory_vt.Count; CMQClient.publish_msg(sMsg, CFATCommon.MQ_TOPIC_POSHISTORY); return(true); }
public void publish_min() { m_product_A.publish_min(); m_product_B.publish_min(); if (m_nType_price != EPRODUCT_TYPE_PRICE.A_B) { m_product_C.publish_min(); } //Publish self data string sTxt = ""; TRatesMin ratesMin = m_rates.getMin(0); DateTime dtTime_cur = ratesMin.m_dtTime; if (dtTime_cur != m_dtTime_published_min) { ratesMin = m_rates.getMin(1); sTxt = string.Format("{0},{1},{2},{3},{4},{5},{6}", "CFD", m_sSymbolCFD, ratesMin.m_dtTime, ratesMin.dBid_open, ratesMin.dBid_high, ratesMin.dBid_low, ratesMin.dBid_close); CMQClient.publish_msg(sTxt, CFATCommon.MQ_TOPIC_PRICE_MIN); m_dtTime_published_min = dtTime_cur; } //----------------------- }
public void publish_tick() { string sTxt = ""; if (m_dBid != m_dBid_published_tick || m_dAsk != m_dAsk_published_tick) { sTxt = string.Format("{0},{1},{2},{3},{4}", getSiteName(), getSymbol(), getTickTime(), m_dBid, m_dAsk); CMQClient.publish_msg(sTxt, CFATCommon.MQ_TOPIC_PRICE_TICK); m_dBid_published_tick = m_dBid; m_dAsk_published_tick = m_dAsk; } }
public virtual void publishVariables() { string sTxt = m_sLogicID; foreach (KeyValuePair <string, string> varItem in m_vars_publish) { sTxt += "@"; sTxt += varItem.Key; sTxt += ","; sTxt += varItem.Value; } CMQClient.publish_msg(sTxt, CFATCommon.MQ_TOPIC_VARS); }
public static void publishTradeHistory() { bool bPublished = false; foreach (KeyValuePair <string, CSite> entry in CSiteMng.g_allSites) { bPublished |= entry.Value.publishTradeHistory(); } if (bPublished) { CMQClient.publish_msg("DONE", CFATCommon.MQ_TOPIC_POSHISTORY); } }
public void publish_min() { string sTxt = ""; TRatesMin ratesMin = getMinRates(0); DateTime dtTime_cur = ratesMin.m_dtTime; if (dtTime_cur != m_dtTime_published_min) { ratesMin = getMinRates(0); sTxt = string.Format("{0},{1},{2},{3},{4},{5},{6}", getSiteName(), getSymbol(), ratesMin.m_dtTime, ratesMin.dBid_open, ratesMin.dBid_high, ratesMin.dBid_low, ratesMin.dBid_close); CMQClient.publish_msg(sTxt, CFATCommon.MQ_TOPIC_PRICE_MIN); m_dtTime_published_min = dtTime_cur; } }
public void publishParams() { string sMsg = m_sLogicID; string sName = ""; for (int i = 0; i < m_params.getCount(); i++) { sName = m_params.getName(i); sMsg += "@"; sMsg += sName; sMsg += ","; sMsg += m_params.getVal_string(sName); } //Add System name sMsg += "@"; sMsg += "system_name,"; sMsg += CFATManager.getSystemName(); CMQClient.publish_msg(sMsg, CFATCommon.MQ_TOPIC_PARAM_C2V); }
public virtual void publish_min() { //Publish self data string sTxt = ""; DateTime dtTime_cur = CFATCommon.m_dtCurTime; if (dtTime_cur != m_dtTime_published_min) { foreach (KeyValuePair <string, double> indItem in m_indVals) { if (m_indDisablePublish.Contains(indItem.Key)) { continue; } sTxt = string.Format("{0},{1},{2},{3},{4},{5},{6}", "Indicators", indItem.Key, dtTime_cur, indItem.Value, indItem.Value, indItem.Value, indItem.Value); CMQClient.publish_msg(sTxt, CFATCommon.MQ_TOPIC_PRICE_MIN); } m_dtTime_published_min = dtTime_cur; } //----------------------- }
public void publish_tick() { m_product_A.publish_tick(); m_product_B.publish_tick(); if (m_nType_price != EPRODUCT_TYPE_PRICE.A_B) { m_product_C.publish_tick(); } //Publish self data string sTxt = ""; TRatesMin ratesMin = m_rates.getMin(0); DateTime dtTime_cur = ratesMin.m_dtTime; if (m_dBid != m_dBid_published_tick || m_dAsk != m_dAsk_published_tick) { sTxt = string.Format("{0},{1},{2},{3},{4}", "CFD", m_sSymbolCFD, ratesMin.m_dtTime, m_dBid, m_dAsk); CMQClient.publish_msg(sTxt, CFATCommon.MQ_TOPIC_PRICE_TICK); m_dBid_published_tick = m_dBid; m_dAsk_published_tick = m_dAsk; } //----------------------- }