以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- enterbars貌似只能找到最近一次开多头的位置,寻找最近一次开空头的位置就会出错 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=28010) |
-- 作者:lucindawuyi -- 发布时间:2012/9/17 17:09:25 -- enterbars貌似只能找到最近一次开多头的位置,寻找最近一次开空头的位置就会出错 enterbars貌似只能找到最近一次开多头的位置,寻找最近一次开空头的位置就会出错 |
-- 作者:jinzhe -- 发布时间:2012/9/17 17:12:15 -- 能否举例说明,本地测试无问题 |
-- 作者:lucindawuyi -- 发布时间:2012/9/17 17:16:47 -- //多头止损价位 BuySideStopLoss:=if(holding>0,ref(llv(low,barslast(LaunchingBuySignal=1)-ENTERBARS+1),ENTERBARS),0),noaxis; 是正确的 //空头止损价位 SellSideStopLoss:if(holding<0,ref(hhv(high,barslast(LaunchingSellSignal=1)-ENTERBARS+1),ENTERBARS),0),noaxis; 返回值为0 |
-- 作者:jinzhe -- 发布时间:2012/9/17 17:22:51 -- e1:enterbars,linethick0; 这个放到公式里面看看对不对 |
-- 作者:lucindawuyi -- 发布时间:2012/9/17 17:25:14 -- 多头是对的,空头的始终为-1 |
-- 作者:lucindawuyi -- 发布时间:2012/9/17 17:37:48 -- 发现错误的地方了 不是ENTERBARS的问题 不过问题在于两种写法为什么会结果不一样? 1、初始出错的写法:if holding<0 and close>SellSideStopLoss then sellshort(1,0,market); 我发现在close>SellSideStopLoss条件没有满足时也平仓了 2、修正后的写法:SELLSHORT(holding<0 and close>SellSideStopLoss,0,MARKET); 就对了 请问初始写法究竟错在了哪里? |
-- 作者:王锋 -- 发布时间:2012/9/17 17:54:28 -- 两种写法是一样的,至于为什么会开仓,建议使用一些调试手段来查找原因 参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题4 |