OnMarketData()
Previous Topic  Next Topic 

Definition
The OnMarketData() method is called for every change in level one market data for the underlying instrument. This can include but is not limited to the bid, ask, last price and volume.



Method Return Value

This method does not return a value.


Method Parameters

MarketDataEventArgs e


Syntax
You must override the method in your strategy or indicator with the following syntax.


protected override void OnMarketData(MarketDataEventArgs e)
{

}


Method Of

Custom Indicator, Custom Strategy

Examples

protected override void OnMarketData(MarketDataEventArgs e)
{
    // Print some data to the Output window
    if (e.MarketDataType == MarketDataType.Last)
        Print("Last = " + e.Price + " " + e.Volume);
    else if (e.MarketDataType == MarketDataType.Ask)
        Print("Ask = " + e.Price + " " + e.Volume);
    else if (e.MarketDataType == MarketDataType.Bid)
        Print("Bid = " + e.Price + " " + e.Volume);
}


Additional Reference Samples
Additional reference code samples are available the NinjaScript Educational Resources section of our support forum.


Tips
1. With multi-time frame and instrument strategies, OnMarketData will be called for all unique instruments in your strategy. Use the BarsInProgress to filter the OnMarketData() method for a specific instrument.
2. Do not leave an unused OnMarketData() method declared in your NinjaScript object. This will unnecessarily attached a data stream to your strategy which uses unnecessary CPU cycles.