Probably you missed the very big difference between the FSB Pro and MT backtesting engine:
- MT re-calculates indicators at every "tick". Here tick means a particular price in the data series. It starts from the beginning and goes forward to the newest bar.
- FSB Pro calculates the indicators only once for the complete DataSet. Depending on the indicator's role it uses different "components" of type IndComponentType to save the output values. The IndicatorComponent has a value array. It is with the length of the DataSet. The "value" have one value of type "double" for each bar.
Value of 0 means no entry/ exit price or entry/exit signal.
- IndComponentType.OpenLongPrice - the component.value stores the entry price for a long position. It has one entry price for a bar. It can be bar Open for indicators as "Bar opening" or other value for indicators as "Moving Average" or "Pivot Point"
- IndComponentType.OpenShortPrice - stores an entry price for short positions.
- .OpenPrice - entry price for both long and short entries. This can be used for indicators that have a single entry price (Moving Average, Bar Opening...)
- .CloseLongPrice, .CloseShortPrice, .ClosePrice - are the same as above but FSB checks them for closing.
- .OpenClosePrice - here you can set a single value that will work for both entry and exit in both directions. (for example Moving Average)
- .IndicatorValue - you use this type to store a value that you want to show in the chart or in the dynamic info, but it doesn't affect the trading. For example, the middle line of Bollinger Bands.
- .AllowOpenLong, .AllowOpenShort - you set 0 or 1 for these types. FSB uses them to check if long or short entry is allowed for the bar.
- .ForceCloseLong, .ForceCloseShort, .ForceClose the same as above but for "allowing" closing signals.