Build 3 of finantic.Eval contains two imprtant improvements:
1. Better Performance
2. Optimizable in Building Blocks
That picture shows the performance gains between Build 2 and Build 3:
![](/api/discussion/download/image/8018-EvalPerformance-PNG)
There is now no noticeable performance difference between finantic.Eval and the raw indicators.
This was possible because all the heavy lifting is now done just once:
- Loading of Parser DLLs
- Parsing the Indicator Expression
- Building a tree of indicators
With the parse tree of indicators in place the actual calculation of indicators takes no longer with Eval than the respective direct calls.
1. Better Performance
2. Optimizable in Building Blocks
That picture shows the performance gains between Build 2 and Build 3:
There is now no noticeable performance difference between finantic.Eval and the raw indicators.
This was possible because all the heavy lifting is now done just once:
- Loading of Parser DLLs
- Parsing the Indicator Expression
- Building a tree of indicators
With the parse tree of indicators in place the actual calculation of indicators takes no longer with Eval than the respective direct calls.
Rename
The second improvement is the addition of an optimizable version of Eval: EvalOpt.
With this indicator it is possible to rewrite an indicator expression like
"Close - 0.8 * ATR(14)"
into this optimizable form:
"Close - {f1} * ATR({i1}"
with f1 being an floating point optimizable parameter and i1 being an integer optimizable parameter.
EvalOpt support up to four floating point parameters (f1, f2, f3 and f4) and up to four integer parameters (i1, i2, i3 and i4) in it indicator expression.
All this is important when Eval() is to be used in Building Blocks.
(C# Coders could implement the same effect with simpler methods)
With this indicator it is possible to rewrite an indicator expression like
"Close - 0.8 * ATR(14)"
into this optimizable form:
"Close - {f1} * ATR({i1}"
with f1 being an floating point optimizable parameter and i1 being an integer optimizable parameter.
EvalOpt support up to four floating point parameters (f1, f2, f3 and f4) and up to four integer parameters (i1, i2, i3 and i4) in it indicator expression.
All this is important when Eval() is to be used in Building Blocks.
(C# Coders could implement the same effect with simpler methods)
I forgot to mention:
The finantic.Eval extension is available here:
https://www.wealth-lab.com/extension/detail/finantic.Eval
The finantic.Eval extension is available here:
https://www.wealth-lab.com/extension/detail/finantic.Eval
Your Response
Post
Edit Post
Login is required