http://zorro-trader.com/manual/en/advisor.htm For training several objectives with the NEURAL method, pass the further objectives as Signal parameters to the advise function. For using more than 20 signals, collect them in a global array and send them to the machine learning algorithm with NEURAL_LEARN or NEURAL_TRAIN.
Noted. Simple enough. But can this be combined with Objective = 0 somehow?
Quote:
For training trade results, call the advise function with Objective = 0 just before entering a trade; Zorro then uses the trade result for learning the rules...
It doesn't keep the bar ordering. Ordering depends on the trades' end time. By that time the contents of the global array have been overwritten. I'm about to use bar timestamps to restore an order to the trades and make it possible to associate inputs and outputs. Am I overlooking an easy solution here?
You must somehow store the array until the trade exits. For instance, you could use series for all signals. Then call the advise function at the exit of the trade instead of the entry, and send the signal values from the trade entry bar to the NN.
But this is tricky and there is great room for mistakes. I want you to be aware. For example, if Entry and EntryTime are used, the position may not be entered in the same bar it is placed. In that case, TradeTime can't help you. There is no such thing as TradeOrderPlacedTime. For that, I need to store the bar number in a TradeVar myself.
That's right - but don't you normally need the signals at trade open, rather than at trade placement? Anyway for the signals at placement you must indeed store the Bar value in a trade variable.