Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
NT8 - New Method GetLastPrice
Collapse
X
-
NT8 - New Method GetLastPrice
NT8 - New Method GetLastPrice() should be possible to get and would be the last tick...Tags: None
-
In NT7 I was missing possibility to get the last price from position or instrument without the need to add secondary bars - this could be used for calculation of unrealized profit from all open positions on the account (ie different charts, strategies, doms).Originally posted by MicroTrends View PostNT8 - New Method GetLastPrice() should be possible to get and would be the last tick...
I have just discovered in NT8 there is:
Will this method work the way I described? It would be fantastic if it did!Code:position.GetMarketPrice();
-
That sounds great - not sure why we would use a position to get it...Originally posted by gregid View PostIn NT7 I was missing possibility to get the last price from position or instrument without the need to add secondary bars - this could be used for calculation of unrealized profit from all open positions on the account (ie different charts, strategies, doms).
I have just discovered in NT8 there is:
Will this method work the way I described? It would be fantastic if it did!Code:position.GetMarketPrice();
but very nice feedback thank you
a lot of other commercial models have onTick as an event
in NT7 - apart from Close[0] in calculateonbar close
what about Close[-1] ?
also you can trap the last tick on onMarketData - but its a waste due to bids and asks
you could also subscribe to the internal events in ninjaTrader
onstartup {
Bars.Bar += new BarUpdateEventHandler(OnBarUpdateRealtime);}
private void OnBarUpdateRealtime(object sender, NinjaTrader.Data.BarUpdateEventArgs e)
{
if (e.Operation == Operation.Remove) return;
currentRealTimeBar = e.Bars.Get(e.Last);
isRealtime=true;
}
protected override void OnTermination()
{
Bars.Bar -= OnBarUpdateRealtime; }
}
On another note isRealtime
i find the Historical property a mixture of metaphors
i like to set a isRealtime local in the onBarUopdateRealtime so we know the data is in fact in realtime even if the strategy thinks its in historical stats...Last edited by MicroTrends; 05-08-2015, 06:25 AM.
Comment
-
I gave one example of such need - to get unrealized profit from positions outside of current strategy. The default use of the method is:Originally posted by MicroTrends View PostThat sounds great - not sure why we would use a position to get it...
But outside of the strategy you don't have the Close[0] unless you add new Bar series.Code:position.GetUnrealizedProfitLoss(PerformanceUnit.Currency, Close[0]);
if the the method works as expected (I am about to test it once I sort out some conversion issues) you could do something like:
Also it seems you can get the market data directly from Instrument:Code:position.GetUnrealizedProfitLoss(PerformanceUnit.Currency, position.GetMarketPrice());
Code:double lastPrice = Bars.Instrument.MarketData.Last.Price;
Comment
-
Would recommend you guys start to push out into the AddOn support.
In which you just could attach your own MarketData handler. The documentation is still not complete but the example should show the use case.
Let me know if that doesn't do the trick.Last edited by NinjaTrader_Brett; 05-08-2015, 08:17 AM.BrettNinjaTrader Product Management
Comment
-
ah so you are iterating through a collection of connections instruments and positions and getting P&L info - and so having the method there in the position object for last price gives you the context during enumeration... very niceOriginally posted by gregid View PostI gave one example of such need - to get unrealized profit from positions outside of current strategy. The default use of the method is:
But outside of the strategy you don't have the Close[0] unless you add new Bar series.Code:position.GetUnrealizedProfitLoss(PerformanceUnit.Currency, Close[0]);
if the the method works as expected (I am about to test it once I sort out some conversion issues) you could do something like:
Also it seems you can get the market data directly from Instrument:Code:position.GetUnrealizedProfitLoss(PerformanceUnit.Currency, position.GetMarketPrice());
Code:double lastPrice = Bars.Instrument.MarketData.Last.Price;
Code:position.GetUnrealizedProfitLoss(PerformanceUnit.Currency, position.GetMarketPrice());
Comment
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by Geovanny Suaza, 02-11-2026, 06:32 PM
|
0 responses
672 views
0 likes
|
Last Post
|
||
|
Started by Geovanny Suaza, 02-11-2026, 05:51 PM
|
0 responses
379 views
1 like
|
Last Post
|
||
|
Started by Mindset, 02-09-2026, 11:44 AM
|
0 responses
111 views
0 likes
|
Last Post
by Mindset
02-09-2026, 11:44 AM
|
||
|
Started by Geovanny Suaza, 02-02-2026, 12:30 PM
|
0 responses
575 views
1 like
|
Last Post
|
||
|
Started by RFrosty, 01-28-2026, 06:49 PM
|
0 responses
582 views
1 like
|
Last Post
by RFrosty
01-28-2026, 06:49 PM
|

Comment