/// <summary> /// /// </summary> /// <param name="nearClearingPrice"></param> public void setNearClearingPrice(MamaPrice nearClearingPrice) { if (null != nearClearingPrice) { this.mNearClearingPrice = new MamaPrice(nearClearingPrice); } }
/// <summary> /// /// </summary> /// <param name="insideMatchPrice"></param> public void setMatchPrice(MamaPrice insideMatchPrice) { if (null != insideMatchPrice) { this.mInsideMatchPrice = new MamaPrice(insideMatchPrice); } }
/// <summary> /// /// </summary> /// <param name="lowIndicationPrice"></param> public void setLowIndicationPrice(MamaPrice lowIndicationPrice) { if (null != lowIndicationPrice) { this.mLowIndicationPrice = new MamaPrice(lowIndicationPrice); } }
/// <summary> /// /// </summary> /// <param name="highIndicationPrice"></param> public void setHighIndicationPrice(MamaPrice highIndicationPrice) { if (null != highIndicationPrice) { this.mHighIndicationPrice = new MamaPrice(highIndicationPrice); } }
/// <summary> /// /// </summary> /// <param name="indicationPrice"></param> public void setImbalancePrice(MamaPrice indicationPrice) { if (null != indicationPrice) { this.mIndicationPrice = new MamaPrice(indicationPrice); } }
/// <summary> /// /// </summary> /// <param name="farClearingPrice"></param> public void setFarClearingPrice(MamaPrice farClearingPrice) { if (null != farClearingPrice) { this.mFarClearingPrice = new MamaPrice(farClearingPrice); } }
/// <summary> /// Check for equality between two price objects. /// </summary> public bool equal(MamaPrice rhs) { EnsurePeerCreated(); bool result = NativeMethods.mamaPrice_equal(nativeHandle, rhs.nativeHandle) == 1; GC.KeepAlive(rhs); return(result); }
/// <summary> /// Compare two price objects. The return value is negative if lhs /// is earlier than rhs, positive if lhs is greater than rhs and zero /// if the two are equal. /// </summary> public double compare(MamaPrice rhs) { EnsurePeerCreated(); double result = NativeMethods.mamaPrice_compare(nativeHandle, rhs.nativeHandle); GC.KeepAlive(rhs); return(result); }
/// <summary> /// Subtract a price object. /// </summary> public void subtract(MamaPrice rhs) { EnsurePeerCreated(); int code = NativeMethods.mamaPrice_subtract(nativeHandle, rhs.nativeHandle); CheckResultCode(code); GC.KeepAlive(rhs); }
public void setAskLow(MamaPrice askLow) { if (askLow != null) { mAskLow.copy(askLow); } else { mAskLow.clear(); } }
public void setAskHigh(MamaPrice askHigh) { if (askHigh != null) { mAskHigh.copy(askHigh); } else { mAskHigh.clear(); } }
public void setAskPrevClosePrice(MamaPrice askPrevClosePrice) { if (askPrevClosePrice != null) { mAskPrevClosePrice.copy(askPrevClosePrice); } else { mAskPrevClosePrice.clear(); } }
public void setQuoteMidPrice(MamaPrice midPrice) { if (midPrice != null) { mMidPrice.copy(midPrice); } else { mMidPrice.clear(); } }
public void setBidLow(MamaPrice bidLow) { if (bidLow != null) { mBidLow.copy(bidLow); } else { mBidLow.clear(); } }
public void setOrigPrice(MamaPrice origPrice) { if (origPrice != null) { mOrigPrice.copy(origPrice); } else { mOrigPrice.clear(); } }
public void setBidPrevClosePrice(MamaPrice bidPrevClosePrice) { if (bidPrevClosePrice != null) { mBidPrevClosePrice.copy(bidPrevClosePrice); } else { mBidPrevClosePrice.clear(); } }
public void setIrregPrice(MamaPrice irregPrice) { if (irregPrice != null) { mIrregPrice.copy(irregPrice); } else { mIrregPrice.clear(); } }
public void setNetChange(MamaPrice netChange) { if (netChange != null) { mNetChange.copy(netChange); } else { mNetChange.clear(); } }
public void setLowPrice(MamaPrice lowPrice) { if (lowPrice != null) { mLowPrice.copy(lowPrice); } else { mLowPrice.clear(); } }
public void setHighPrice(MamaPrice highPrice) { if (highPrice != null) { mHighPrice.copy(highPrice); } else { mHighPrice.clear(); } }
public void setLastPrice(MamaPrice lastPrice) { if (lastPrice != null) { mLastPrice.copy(lastPrice); } else { mLastPrice.clear(); } }
public void setClosePrice(MamaPrice closePrice) { if (closePrice != null) { mClosePrice.copy(closePrice); } else { mClosePrice.clear(); } }
public void setCorrPrice(MamaPrice corrPrice) { if (corrPrice != null) { mCorrPrice.copy(corrPrice); } else { mCorrPrice.clear(); } }
public void setTradePrice(MamaPrice tradePrice) { if (tradePrice != null) { mTradePrice.copy(tradePrice); } else { mTradePrice.clear(); } }
public void setOnExchangeTradePrice(MamaPrice onExTradePrice) { if (onExTradePrice != null) { mOnExTradePrice.copy(onExTradePrice); } else { mOnExTradePrice.clear(); } }
public void setPrevClosePrice(MamaPrice prevClosePrice) { if (prevClosePrice != null) { mPrevClosePrice.copy(prevClosePrice); } else { mPrevClosePrice.clear(); } }
public void setBidHigh(MamaPrice bidHigh) { if (bidHigh != null) { mBidHigh.copy(bidHigh); } else { mBidHigh.clear(); } }
public void setAdjPrevClose(MamaPrice adjPrevClose) { if (adjPrevClose != null) { mAdjPrevClose.copy(adjPrevClose); } else { mAdjPrevClose.clear(); } }
public void setSettlePrice(MamaPrice settlePrice) { if (settlePrice != null) { mSettlePrice.copy(settlePrice); } else { mSettlePrice.clear(); } }
public void setOpenPrice(MamaPrice openPrice) { if (openPrice != null) { mOpenPrice.copy(openPrice); } else { mOpenPrice.clear(); } }
public MamdaConcreteQuoteRecap () { mSymbol = null; mPartId = null; mSrcTime = DateTime.MinValue; mActTime = DateTime.MinValue; mLineTime = DateTime.MinValue; mSendTime = DateTime.MinValue; mPubId = null; mBidPrice = new MamaPrice(); mBidSize = 0; mBidDepth = 0; mBidPartId = null; mBidClosePrice = new MamaPrice(); mBidCloseDate = DateTime.MinValue; mBidPrevClosePrice = new MamaPrice(); mBidPrevCloseDate = DateTime.MinValue; mBidHigh = new MamaPrice(); mBidLow = new MamaPrice(); mAskPrice = new MamaPrice(); mMidPrice = new MamaPrice(); mAskSize = 0; mAskDepth = 0; mAskPartId = null; mAskClosePrice = new MamaPrice(); mAskCloseDate = DateTime.MinValue; mAskPrevClosePrice = new MamaPrice(); mAskPrevCloseDate = DateTime.MinValue; mAskHigh = new MamaPrice(); mAskLow = new MamaPrice(); mEventSeqNum = 0; mEventTime = DateTime.MinValue; mQuoteDate = DateTime.MinValue; mQuoteQualStr = null; mQuoteQualNative = null; mTmpQuoteCount = 0; mQuoteCount = 0; mShortSaleBidTick = '\0'; mShortSaleCircuitBreaker = ' '; mAskTime = DateTime.MinValue; mBidTime = DateTime.MinValue; mAskIndicator = null; mBidIndicator = null; mAskUpdateCount = 0; mBidUpdateCount = 0; mAskYield = 0; mBidYield = 0; }
/// <summary> /// Construct a price level object which is a shallow copy of /// the original. /// </summary> /// <param name="copy">The MamdaOrderBookPriceLevel to copy.</param> public MamdaOrderBookPriceLevel(MamdaOrderBookPriceLevel copy) { mPrice = copy.mPrice; mSize = copy.mSize; mSizeChange = copy.mSizeChange; mNumEntries = copy.mNumEntries; mSide = copy.mSide; mAction = copy.mAction; mTime = copy.mTime; for (int i = 0; i < copy.mEntries.Count; i++) { MamdaOrderBookEntry entry = new MamdaOrderBookEntry( (MamdaOrderBookEntry)copy.mEntries[i]); mEntries.Add(entry); } }
private void CheckPriceArray(MamaPrice[] prices, int numberPrices, int offset) { // Verify that the array has the correct number of messages if (prices.Length != numberPrices) { throw new ArgumentOutOfRangeException("numberPrices"); } // Chech each item in the array for (int nextPrice = 0; nextPrice < numberPrices; nextPrice++) { // Verify that it has the correct value if(prices[nextPrice].getValue() != (nextPrice + offset)) { throw new InvalidOperationException(); } } }
/// <summary> /// /// </summary> /// <param name="farClearingPrice"></param> public void setFarClearingPrice(MamaPrice farClearingPrice) { if (null != farClearingPrice) this.mFarClearingPrice = new MamaPrice(farClearingPrice); }
public void UpdateVectorPriceInvalidArgument() { // Create an empty array MamaPrice[] emptyArray = new MamaPrice[0]; // Call the function with an invalid array m_msg.updateVectorPrice(null, 1, emptyArray); }
/// <summary> /// /// </summary> /// <param name="insideMatchPrice"></param> public void setMatchPrice(MamaPrice insideMatchPrice) { if (null != insideMatchPrice) this.mInsideMatchPrice = new MamaPrice(insideMatchPrice); }
/// <summary> /// /// </summary> /// <param name="highIndicationPrice"></param> public void setHighIndicationPrice(MamaPrice highIndicationPrice) { if (null != highIndicationPrice) this.mHighIndicationPrice = new MamaPrice(highIndicationPrice); }
/// <summary> /// Add a MAMA price field. /// </summary> public void addPrice( string name, ushort fid, MamaPrice val) { EnsurePeerCreated(); IntPtr put = val.NativeHandle; int code = NativeMethods.mamaMsg_addPrice(nativeHandle, name, fid, put); CheckResultCode(code); }
public MamdaConcreteTradeRecap () { mSymbol = null; mPartId = null; mSrcTime = DateTime.MinValue; mActTime = DateTime.MinValue; mLineTime = DateTime.MinValue; mSendTime = DateTime.MinValue; mPubId = null; mLastPrice = new MamaPrice(); mLastVolume = 0; mLastPartId = null; mTradeId = null; mOrigTradeId = null; mCorrTradeId = null; mLastTime = DateTime.MinValue; mTradeDate = DateTime.MinValue; mIrregPrice = new MamaPrice(); mIrregVolume = 0; mIrregPartId = null; mIrregTime = DateTime.MinValue; mAccVolume = 0; mOffExAccVolume = 0; mOnExAccVolume = 0; mNetChange = new MamaPrice(); mPctChange = 0.0; mTradeDirection = null; mSide = null; mOpenPrice = new MamaPrice(); mHighPrice = new MamaPrice(); mLowPrice = new MamaPrice(); mClosePrice = new MamaPrice(); mPrevClosePrice = new MamaPrice(); mPrevCloseDate = DateTime.MinValue; mAdjPrevClose = new MamaPrice(); mBlockCount = 0; mBlockVolume = 0; mVwap = 0.0; mOffExVwap = 0.0; mOnExVwap = 0.0; mTotalValue = 0.0; mOffExTotalValue = 0.0; mOnExTotalValue = 0.0; mStdDev = 0.0; mStdDevSum = 0.0; mStdDevSumSquares = 0.0; mOrderId = 0; mSettlePrice = new MamaPrice(); mSettleDate = DateTime.MinValue; mShortSaleCircuitBreaker = ' '; mEventSeqNum = 0; mEventTime = DateTime.MinValue; mTradePrice = new MamaPrice(); mTradeVolume = 0; mTradePartId = null; mTradeQualStr = null; mTradeQualNativeStr = null; mTradeCondStr = null; mSellersSaleDays = 0; mStopStockInd = '\0'; mTradeExecVenue = null; mOffExTradePrice = new MamaPrice(); mOnExTradePrice = new MamaPrice(); mTradeCount = 0; mTradeUnits = null; mLastSeqNum = 0; mHighSeqNum = 0; mLowSeqNum = 0; mTotalVolumeSeqNum = 0; mCurrencyCode = null; mOrigSeqNum = 0; mOrigPrice = new MamaPrice(); mOrigVolume = 0; mOrigPartId = null; mOrigQualStr = null; mOrigQualNativeStr = null; mOrigCondStr = null; mOrigSellersSaleDays = 0; mOrigStopStockInd = '\0'; mCorrPrice = new MamaPrice(); mCorrVolume = 0; mCorrPartId = null; mCorrQualStr = null; mCorrQualNativeStr = null; mCorrCondStr = null; mCorrSellersSaleDays = 0; mCorrStopStockInd = '\0'; mCancelTime = DateTime.MinValue; mIsIrregular = false; mIsCancel = false; }
/// <summary> /// Try to get a vector of prices. /// </summary> /// <param name="fid"> /// The field id, can be 0 if the name is specified and field names are turned on. /// </param> /// <param name="name"> /// The field name, can be null or blank if the field Id is supplied. /// </param> /// <param name="result"> /// To return the array of prices. /// </param> /// <returns> /// false if the field could not be found. Note that true is returned if an empty /// array is returned. /// </returns> public bool tryVectorPrice( string name, ushort fid, ref MamaPrice[] result) { // Returns bool ret = false; // The following arraylist wil contain all of the prices ArrayList retPrices = new ArrayList(); // Enusre that the native message has been created EnsurePeerCreated(); // Get the strings from the native message IntPtr globalMemoryPointer = IntPtr.Zero; uint numberElements = 0; int code = NativeMethods.mamaMsg_getVectorPrice(nativeHandle, name, fid, ref globalMemoryPointer, ref numberElements); if ((MamaStatus.mamaStatus)code == MamaStatus.mamaStatus.MAMA_STATUS_OK) { // Only continue if there are actually any prices in the array if (numberElements > 0) { // Create a new array of pointers to hold the native price pointers IntPtr[] nativePriceArray = new IntPtr[numberElements]; // Copy the entire array over Marshal.Copy(globalMemoryPointer, nativePriceArray, 0, (int)numberElements); // Extract each price, one at a time foreach (IntPtr nextNativePrice in nativePriceArray) { retPrices.Add(new MamaPrice(nextNativePrice)); } } // The function has succeeded even if there were 0 strings ret = true; } // Return the array of strings result = (MamaPrice[])retPrices.ToArray(typeof(MamaPrice)); return ret; }
/// <summary> /// Update an array of prices. /// </summary> /// <param name="fid"> /// The field id, can be 0 if the name is specified and field names are turned on. /// </param> /// <param name="name"> /// The field name, can be null or blank if the field Id is supplied. /// </param> /// <param name="val"> /// The array of messages to add. /// </param> /// <exception cref="ArgumentNullException"> /// Throw if the message array is null. /// </exception> /// <exception cref="ArgumentOutOfRangeException"> /// Throw if there are no items in the message array. /// </exception> public void updateVectorPrice( string name, ushort fid, MamaPrice[] val) { // Check that the arguments are valid if (val == null) { throw new ArgumentNullException("val"); } // Check the array length int numberPrices = val.Length; if (numberPrices < 1) { throw new ArgumentOutOfRangeException("val"); } // Verify that the native message has been created EnsurePeerCreated(); // Allocate memory on the global native heap to pass the messages to the native layer IntPtr globalHeapMemory = Marshal.AllocHGlobal(numberPrices * IntPtr.Size); try { // Create a new array to hold all of the native handles IntPtr[] nativeHandleArray = new IntPtr[numberPrices]; // Copy the prices over for (int nextItem = 0; nextItem < numberPrices; nextItem++) { nativeHandleArray[nextItem] = val[nextItem].NativeHandle; } // Copy this to the global heap Marshal.Copy(nativeHandleArray, 0, globalHeapMemory, numberPrices); // Call the native function int code = NativeMethods.mamaMsg_updateVectorPrice(nativeHandle, name, fid, globalHeapMemory, numberPrices); CheckResultCode(code); } finally { // Free the memory on the global heap now that the function has completed Marshal.FreeHGlobal(globalHeapMemory); } }
public void setCorrPrice(MamaPrice corrPrice) { if (corrPrice != null) mCorrPrice.copy(corrPrice); else mCorrPrice.clear(); }
/// <summary> /// Try to get a vector of prices. /// </summary> public bool tryVectorPrice( MamaFieldDescriptor descriptor, ref MamaPrice[] result) { return tryVectorPrice (null, (ushort)descriptor.getFid(), ref result); }
private MamaPrice[] InitialisePriceArray(int numberPrices, int offset) { // Create the array of messages MamaPrice[] ret = new MamaPrice[numberPrices]; for (int nextPrice = 0; nextPrice < numberPrices; nextPrice++) { // Allocate the price ret[nextPrice] = new MamaPrice(); // Add a field ret[nextPrice].setValue((nextPrice + offset)); } return ret; }
/// <summary> /// /// </summary> /// <param name="lowIndicationPrice"></param> public void setLowIndicationPrice(MamaPrice lowIndicationPrice) { if (null != lowIndicationPrice) this.mLowIndicationPrice = new MamaPrice(lowIndicationPrice); }
/// <summary> /// Get a MAMA price field. /// </summary> public MamaPrice getPrice( string name, ushort fid, MamaPrice valueIfMissing) { if (price_ == null) { price_ = new MamaPrice (); price_.SelfManageLifeTime(false); } if (tryPrice (name, fid, ref price_)) return price_; else return valueIfMissing; }
/// <summary> /// Get a MAMA price field. /// </summary> public MamaPrice getPrice( string name, ushort fid) { EnsurePeerCreated(); if (price_ == null) { price_ = new MamaPrice (); price_.SelfManageLifeTime(false); } int code = NativeMethods.mamaMsg_getPrice(nativeHandle, name, fid, price_.NativeHandle); MamaStatus.mamaStatus status = (MamaStatus.mamaStatus)code; if (status != MamaStatus.mamaStatus.MAMA_STATUS_OK) { throw new MamaException(status); } return price_; }
/// <summary> /// /// </summary> /// <param name="nearClearingPrice"></param> public void setNearClearingPrice(MamaPrice nearClearingPrice) { if (null != nearClearingPrice) this.mNearClearingPrice = new MamaPrice(nearClearingPrice); }
public void setOpenPrice(MamaPrice openPrice) { if (openPrice != null) mOpenPrice.copy(openPrice); else mOpenPrice.clear(); }
public void setOrigPrice(MamaPrice origPrice) { if (origPrice != null) mOrigPrice.copy(origPrice); else mOrigPrice.clear(); }
public void setLowPrice(MamaPrice lowPrice) { if (lowPrice != null) mLowPrice.copy(lowPrice); else mLowPrice.clear(); }
public void setNetChange(MamaPrice netChange) { if (netChange != null) mNetChange.copy(netChange); else mNetChange.clear(); }
public void setLastPrice(MamaPrice lastPrice) { if (lastPrice != null) mLastPrice.copy(lastPrice); else mLastPrice.clear(); }
public void setIrregPrice(MamaPrice irregPrice) { if (irregPrice != null) mIrregPrice.copy(irregPrice); else mIrregPrice.clear(); }
/// <summary> /// Get a vector of prices. /// </summary> public MamaPrice[] getVectorPrice( string name, ushort fid, MamaPrice[] valueIfMissing) { MamaPrice[] result = null; if (tryVectorPrice (name, fid, ref result)) return result; else return valueIfMissing; }
public void setHighPrice(MamaPrice highPrice) { if (highPrice != null) mHighPrice.copy(highPrice); else mHighPrice.clear(); }
/// <summary> /// Get a vector of prices. /// </summary> public MamaPrice[] getVectorPrice( MamaFieldDescriptor descriptor, MamaPrice[] valueIfMissing) { return getVectorPrice (null, (ushort)descriptor.getFid(), valueIfMissing); }
/// <summary> /// Try to get a MAMA price field. /// </summary> public bool tryPrice( string name, ushort fid, MamaPrice result) { EnsurePeerCreated(); int code = NativeMethods.mamaMsg_getPrice(nativeHandle, name, fid, result.NativeHandle); if (CheckResultCodeIgnoreNotFound(code) != MamaStatus.mamaStatus.MAMA_STATUS_OK) { return false; } return true; }
/// <summary> /// /// </summary> /// <param name="indicationPrice"></param> public void setImbalancePrice(MamaPrice indicationPrice) { if (null != indicationPrice) this.mIndicationPrice = new MamaPrice(indicationPrice); }
public void setClosePrice(MamaPrice closePrice) { if (closePrice != null) mClosePrice.copy(closePrice); else mClosePrice.clear(); }