First one -- What is the WayPoint class for, what does it do?
FSB stores the backtest in the array static Session[] session;.
Each session is one backtested bar.
The actual activities from the backtest are stored as Way_Points in the session.
Each Way_Point contains the activity price, type, order and position (if any).
All available activities are:
public enum WayPointType
{
None, Open, High, Low, Close, Entry, Exit, Add, Reduce, Reverse, Cancel
}
Open, High, Low, Close waypoints shows when the backtester reaches the corresponding price levels.
Entry, Exit, Add, Reduce, Reverse are the transactions.
Cancel shows when the backtester cancels orders.
...
You can see all this represented in the "Bar Explorer".