以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助] (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=182499) |
||
-- 作者:liuxy9966 -- 发布时间:2020/10/13 17:43:27 -- [求助] 老师您好! 我的策略是1分钟周期运行的。我想在我现有的策略条件里加一条策略:调用小时线周期,小时线周期中前一根K线的close小于布林线的upper才启动我的策略运行。 例如:原策略如下 定义各种参数。。。。。。; 开多条件:ma20-ma120>=2 and dea>0 and dea<0.3 and cross(diff,dea); if 开多条件 and holding=0 then BEGIN
buy(1,1,MARKETR); end 止损; 止盈; 我想请老师帮我加一条:调用小时线周期的如下情况。 定义各种参数: 开多条件:ma20-ma120>=2 and dea>0 and dea<0.3 and cross(diff,dea); cd2:=前一根小时线的K线close<upper; if 开多条件 and cd2 and holding=0 then BEGIN
buy(1,1,MARKETR); end 止损; 止盈; 也就是说,我想让我现在的策略只在小时线K线位于boll上轨下方才运行策略。 谢谢老师!!
|
||
-- 作者:FireScript -- 发布时间:2020/10/14 8:50:07 -- 先修改下系统里的布林线指标: MID : MA(CLOSE,M); UPPER: MID + N*STD(CLOSE,M); LOWER: MID - N*STD(CLOSE,M); cd:UPPER>REF(c,1); 然后当前指标下调用下: cd:stkindi(\'\',\'BOLL.cd\',0,5,0); 把这个cd也作为开仓条件就行了。
|
||
-- 作者:liuxy9966 -- 发布时间:2020/10/14 13:44:10 -- 谢谢老师!您提到:
|
||
-- 作者:FireScript -- 发布时间:2020/10/14 13:47:18 -- 你如果判断的是小时线前一个K的收盘价是否大于upper。那直接就在被调用的指标 里做判断。也就是上面布林指标里加的那个变量cd。否则你在交易指标里至少还需要额外调用下小时线上个周期的额收盘价。所以改布林:1.减少代码量 2.减少不必要的调用。 |
||
-- 作者:liuxy9966 -- 发布时间:2020/10/14 15:19:29 -- 收到,谢谢老师,我修改了策略,加进了您说的那几个代码,其中有两个CD变量出错。我把其中1个cd改为CD1,应用在图上好像还是有点问题。您帮看看,我改的CD1对不对,谢谢! MID: MA(CLOSE,26);//布林中轨 UPPER: MID + 2*STD(CLOSE,26);//布林上轨 LOWER: MID - 2*STD(CLOSE,26);//布林下轨 cd:UPPER>REF(c,1); cd1:stkindi(\'\',\'BOLL.cd\',0,2,0); 开空条件:(cross(high,upper) and close<=upper) ; if cd and 开空条件 and holding=0 then BEGIN
buyshort(1,1,MARKETR); end 止盈; 止损; |
||
-- 作者:FireScript -- 发布时间:2020/10/14 15:45:38 -- 你这个布林线和交易代码在一个指标里? 这个 cd:UPPER>REF(c,1); 要在你被调用的指标的代码里面。
|
||
-- 作者:liuxy9966 -- 发布时间:2020/10/14 16:00:05 -- 是的,布林线它们都在一个指标里。难道我放了个基础严重错误。。。。抱歉老师,我是没半点基础的那种学员。请教我一下,我这个怎么修改修改?谢谢!意思是不是要先新建一个小时线的boll指标,然后再在1分钟线的策略里使用小时线的指标? |
||
-- 作者:FireScript -- 发布时间:2020/10/14 16:04:16 -- cd是放在你调用的那个指标里面: 这样看明白了吧?
|
||
-- 作者:liuxy9966 -- 发布时间:2020/10/14 20:18:51 -- 谢谢,我明白了,我按照老师您教的做,但是出现了:未定义变量:CD |