Skip to content

Parameters setting for multiple indicators with the same argument names

4 messages · Brian G. Peterson, Igor Chernukhin

#
On Tue, 2011-09-06 at 15:40 +0200, igor_vilcek_external at tatrabanka.sk
wrote:
<...>
You have two options, a simple one, and a more complex one.

The simple one is for you to generate a brute force set of parameters
and loop over them, setting them as variables in  your strategy using
quote().  see ?expand.grid

Or, more flexible but also more complicated, see the two parameterTest
demos in the quantstrat package.  You can tell the parameter subsystem
which slots (indicators) you are applying parameters to, and apply a
different distribution to each.

Regards,

  - Brian
2 days later
#
On Fri, 2011-09-09 at 09:35 +0200, igor_vilcek_external at tatrabanka.sk
wrote:

        
I wrote:
The answer won't change because you ask the question again.

I understand your question exactly, two variables named 'n'. got it.

The answer below is still exactly correct.  I'll add a bit more detail:
Original:
stratMACROSS <- add.indicator(strategy = stratMACROSS, name = "SMA",
arguments = list(x=quote(Cl(mktdata)), n=50),label= "ma50" )
stratMACROSS <- add.indicator(strategy = stratMACROSS, name = "SMA",
arguments = list(x=quote(Cl(mktdata)), n=200),label= "ma200")

New:
stratMACROSS <- add.indicator(strategy = stratMACROSS, name = "SMA",
arguments = list(x=quote(Cl(mktdata)), n=quote(shortMA)),label= "ma50" )
stratMACROSS <- add.indicator(strategy = stratMACROSS, name = "SMA",
arguments = list(x=quote(Cl(mktdata)), n=quote(longMA)),label= "ma200")

I'll leave as an exercise for the reader how to use expand.grid and loop
over applyStrategy with two different values for shortMA and longMA.
The second option remains the more flexible and harder (for you) to code
method.