Based on JoshG's post (https://ninjatrader.com/support/foru...61#post1048061),
Locking the Account does not appear to resolve the issue.
public class SampleStrat : Strategy { private Account myAccount; protected override void OnStateChange() { if (State == State.SetDefaults) { Calculate = Calculate.OnPriceChange; lock (Account.All) myAccount = Account.All.FirstOrDefault(a => a.Name == "[Live Account Name]"); } } protected override void OnBarUpdate() { if (CurrentBar != 100) return; Print("BuyingPower USD : " + myAccount.Get(AccountItem.BuyingPower, Currency.UsDollar)); Print("BuyingPower AUD : " + myAccount.Get(AccountItem.BuyingPower, Currency.AustralianDollar)); } }
The IB connection Market Data Subscriptions include US Securities Snapshot and Futures Value Bundle and IDEAL FX. The connection has access to the required cross rate, AUDUSD. The IB Base Currency is AUD (set in IB) (I am in Australia). The Account Denomination is AUD (set in NT8). The Account.Get method returns an AUD value regardless of the parameter Currency (i.e. UsDollar or AustralianDollar).
Please assist.
Comment