直接使用使用数字货币交易类库 (期货支持OKCoin期货/BitVC, 支持$.CTA函数) 做测试,没有做任何改动。 出现的结果是 not set contracttype ht
但查看代码有设置的 function main() { if (exchange.GetName() === ‘Futures_OKCoin’) { var info = exchange.SetContractType(“this_week”);
不知为何出现这样的问题。我在编写其他策略时,也是出现同样的问题。
发明者量化-小小梦 明白您的问题了,您是直接 回测这个 模板了吧。 这个模板的测试 代码 main 函数: ``` // 测试代码 /* 2017.5.1 - 2017.10.11 , K线 天, 模拟级别, OK国际 , BTC */ function main() { $.CTA(exchanges[0], 0.01, function(r, mp, pair){ // $.CTA = function(Exchange, MinStock, onTick, interval) // Log(r.length) // 测试 if (r.length < 20) { return } var emaSlow = TA.EMA(r, 20) var emaFast = TA.EMA(r, 5) var cross = _Cross(emaFast, emaSlow); if (mp <= 0 && cross > 1) { Log(pair, "买, 金叉周期", cross, "mp:", mp); return 0.1 * (mp < 0 ? 2 : 1) } else if (mp >= 0 && cross < -1) { Log(pair, "卖, 死叉周期", cross, "mp:", mp); return -0.1 * (mp > 0 ? 2 : 1) } }) } ``` 是测试 $.CTA 函数的, $.CTA 函数是用于 现货交易所的, 您选择了 期货交易所 , 所以会报 没有设置 合约类型 这个错误。 对于期货的用法是: ``` var p = $.NewPositionManager() // this_week 即 当周合约 开多仓 , PositionManager.prototype.OpenLong = function(contractType, shares, price) exchange.SetContractType("this_week") p.OpenLong("this_week", 1, 1000) // 这样就 1000 美元价格 开多仓 合约 1张 ```
发明者量化-小小梦 您具体怎么使用这个 模板的需要看下。 贴下代码。
发明者量化-小小梦 不客气 ^^
feiyuemiwuh 谢谢,这下明白了!!