Calibration of indicators before build

from geektrader: one more idea about the whole level "calibration" thing: another trading platform that I do not want to name, does it in an even more smart way. Before beginning to build any strategies, it runs all indicators with periods 50 100 200 300 400 on the selected backtest-data to check which parameter ranges each indicator provides min and max for that specific pair / timeframe combination. Then it uses this range for building the strategies. That is a pretty smart idea and might be something that SQX should possibly do in the future too.



The quesiton is - if we'll do it in this automatic way, how will we allow configuring it like it is now?
If indicator is callibrated automatically, it will automatically compute min, max, step. 


Then there will be no way to configure them in UI. It is either automatic callibration or manual configuration. Or do you have some idea?

Attachments
No attachments
  • Votes +18
  • Project StrategyQuant X
  • Type Feature
  • Status Fixed
  • Priority High

History

MF
#1

Mark Fric

03.01.2019 09:23

Task created

g
#2

geektrader

03.01.2019 09:55
Voted for this task.
h
#3

hankeys

03.01.2019 10:02
Voted for this task.
g
#4

geektrader

03.01.2019 10:53
My idea: after selecting a new target symbol, SQX will ask the user if she/he wants to adjust the building block levels for the newly select symbol/timeframe combination or "target symbols"/timeframe combinations, in case a multi-market check is being done in the cross-tests, or for the case that SQX can, later on, generate real portfolio strategies on multi-symbols (e.g.. builds a strategy that trades on EURUSD and GBPUSD at the same time but optimizes for the COMBINED equity curve on both symbols, so a real portfolio strategy that is also optimized / evolution like that, not just by a cross-test).


If the user answers YES, SQX will go ahead and run a test for all indicators (that actually use levels that can vary, so, for example, RSI will not need that) on the selected symbol(s) and timeframe, with various periods (50 / 150 / 300 / 600 would be good values) on several random places of the history data (to exclude that it just selects a flat period or a highly volatile period which gives useless values), puts the results into an array, then uses MathMax / MathMin on the array and adjusts the min / max values in the Building Blocks accordingly. This way the user can still manually adjust the values in the Building Blocks if needed and can easily verify if the auto-adjustment worked fine too.


Of course this procedure can take a while to finish (or maybe I am wrong as the backtesting engine is really fast and actually can calculate millions of values in a few milliseconds), especially since we need to run several periods at several places on the history data, but SQX could cache those values too, so that it would only ask for a new run if the symbol is new or its data has been updated/changed. Otherwise, it could just use the values from a previous selected run. And of course, it´s important that it handles each timeframe of the symbol separately, as a M5 chart will have very different values to a H1 chart of the same symbol. Also the multi-symbol handling is important. As you´ve noticed, if someone wants to build a strategy on EURUSD that should also work on XAUUSD, indicators like StdDev will have HUGE variations in levels (EURUSD ~ 0.314, XAUUSD ~12.000), so the min and max values SQX adds to the building blocks need to be adjusted accordingly.


Update: Seeing how quick the backtests really are, I think the cache might not really be needed, as a new adjustment should finish in seconds, if not milliseconds.

IH
#5

clonex / Ivan Hudec

03.01.2019 11:47
Voted for this task.
M
#6

MKquant

03.01.2019 13:27
Voted for this task.
a
#7

Ash24FX

03.01.2019 23:45
Voted for this task.
m
#8

Martin

04.01.2019 19:23
Voted for this task.
BA
#9

Grandmamoses

04.01.2019 20:49
Voted for this task.
Tt
#10

tactevo

06.01.2019 01:55
Voted for this task.
HH
#11

Hans

07.01.2019 14:01
Voted for this task.
m
#12

mabi

11.01.2019 03:51
Voted for this task.
OS
#13

trader4711

19.01.2019 13:42
Voted for this task.
DR
#14

mentaledge

03.02.2019 11:50
Voted for this task.
Dw
#15

Diwi

05.02.2019 12:21
Voted for this task.
Rr
#16

Partizanas

10.02.2019 11:43
Voted for this task.
r
#17

roman

12.02.2019 13:52
Voted for this task.
MF
#18

Mark Fric

18.02.2019 14:18

Status changed from In progress to Fixed

PS
#19

ps21

18.04.2019 13:05
Voted for this task.
HH
#20

Hans

03.05.2019 00:45
How was the topic implemented now?
Is there a documentation?
MF
#21

Mark Fric

03.05.2019 06:53
there is a button "Calibrate indicators" in Builder -> Settings -> Building blocks
jn
#22

Josef Němeček

03.05.2019 14:21
Voted for this task.
GS
#23

glenn

04.05.2019 14:13
Voted for this task.

Votes: +18

Drop files to upload

or

choose files

Max size: 5MB

Not allowed: exe, msi, application, reg, php, js, htaccess, htpasswd, gitignore

...
Wait please