Key Implementation Details
Immediate Instantiation: You do not need to call the custom indicator using Indicators.GetIndicator(). Instantiating the built-in AverageTrueRange and passing its Result directly into SimpleMovingAverage inside Initialize() is significantly faster and uses less memory.
Log Throttling: When a strategy triggers a persistent "Buy" signal (e.g., price stays within an entry zone for 30 seconds), OnTick() will attempt to execute thousands of times. The LogRejection() method restricts the journal output to once per minute, ensuring your broker logs remain readable.
State Reset: _lastRejectionLogTime is reset to DateTime.MinValue upon successful execution, ensuring the next rejection is logged immediately, even if it happens on the very next candle.
Brokers with good VPS partnerships for low latency
Re: Brokers with good VPS partnerships for low latency
Preserve your own money. Scale with the market's money. Exponential growth is the ultimate key.