作者x9060000456 (你好)
看板R_Language
标题[问题] 关於类似choose挑选变数
时间Tue Apr 4 01:11:17 2017
请简略描述你所要做的事情,或是这个程式的目的
各位前辈大大大家好,
小弟写R资历尚浅,
最近在研究关於股市分析的quantstrat这个套件,
以下为问题求解, 假如加入指标策略如下,
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("K", "D"), relationship = "gt"),
label = "KD1")
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("rsi", "thr20"), relationship = "gt"),
label = "KD2")
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("sma20", "sma5"), relationship = "gt"),
label = "KD3")
.
.
.
.
.
add.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("D", "K"), relationship = "lt"),
label = "KD20")
假设小弟现有20个下判断的决策, 名称为KD1到KD20,
因此接下来是希望以上这20个指标判断"某些"同时成立的情况下才enter,
如下:
add.signal(strategy.st, name = "sigAND",
arguments = list(columns = c("atrX", "KD1", "KD2"),
cross = TRUE), label = "Entry1")
因此想请问在上面这个code中的下面这行
arguments = list(columns = c("atrX", "KD1", "KD2"),
我该如何做到所有排列组合都做到, 如下
arguments = list(columns = c("atrX", "KD1"),
和
arguments = list(columns = c("atrX", "KD2"),
.
.
.
arguments = list(columns = c("atrX", "KD20"),
共有choose(20, 1)种可能,
arguments = list(columns = c("atrX", "KD1", "KD2"),
arguments = list(columns = c("atrX", "KD1", "KD3"),
.
.
.
arguments = list(columns = c("atrX", "KD19", "KD20"),
共有choose(20, 2)种可能
依此类推, 一值做到choose(20, 19)种排列组合,
亦即想把所有纳入一到二十个指标的所有排列组合都想得到结果,
目前没有想到比较聪明的写法, 希望各位大大能提供一写想法~
如表达不清, 请见谅, 谢谢大家!
题外话:记得年前看到报导, 国内某劵商砸重金提升硬体设备,
据说开发R的下单系统, 希望能像国外IBrokers进行交易~_~"
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.206.26
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1491239480.A.4F5.html
1F:→ x88776544pc: 最阳春 sapply(1:20,function(i)t(combn(x,i)))[-20] 04/04 02:19
2F:→ x9060000456: 谢谢x大, 用这个方法已完成! 04/04 12:05