以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=166685) |
-- 作者:海鱼 -- 发布时间:2018/11/26 15:25:53 -- 大周期引用出现的问题,请教! 在日内交易中,我的开仓模式中有ABC三个条件,A是引用日线周期,BC是盘中条件。设计思路是先满足A,再满足BC后开仓。 但在跑盘的时候,出现两个问题。一:是当满足A条件后,信号点会找到之前满足BC点的位置,存在偷价行为。二:是满足A条件后 之前图表上之前没出现的买卖信号,都会出现,而且是满足BC条件的开仓信号! 我不知道问题出在什么地方,请老师解答。谢谢!
|
-- 作者:FireScript -- 发布时间:2018/11/26 15:36:19 -- 提供下代码。具体代码具体分析。 |
-- 作者:海鱼 -- 发布时间:2018/11/26 15:48:23 -- 日线ATR《ATR测试》 input:TT(4,1,20,0.5); TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR1:=MA(TR1,1); ATR2:=MA(TR1,TT);//大周期天数DT VAR1:=ATR1<=ATR2; VARZ:VAR1; -------------------------------------------------------------------------------------------------------- 5分钟引用 cond_atr:stkindi(\'\',\'ATR测试.VARZ\',0,6,0)=0;
|
-- 作者:海鱼 -- 发布时间:2018/11/26 15:48:59 -- 以上是条件A |
-- 作者:FireScript -- 发布时间:2018/11/26 16:03:24 -- A是引用日线周期,BC是盘中条件。设计思路是先满足A,再满足BC后开仓。 给我看下你实现这个逻辑的代码。 肯定是某些代码组合了上面几个条件的,给我看下你这个逻辑怎么实现的。另外如果a,b,c相互不关联的话,那么出现的时机的和顺序是有多种情况的。你这个思路限定还不够,比如可能出现AAABBAAC这种情况,从最早的a触发来看的话,那就该下单的,从最近的a触发来看的话,则不应该下的。
|
-- 作者:海鱼 -- 发布时间:2018/11/26 19:20:55 -- INPUT:X(60,1,100,1),NMIN(10,1,100,1),SS(1,1,10000,1); 手数:=SS; X周期高点:=REF(HHV(H,X),1);//X是参数,自行调整 X周期低点:=REF(LLV(L,X),1); cond_atr:stkindi(\'\',\'ATR测试.VARZ\',0,6,0)=0; 开仓时间:=time>013000 and time<185000;// 开盘后50分钟开仓,收盘前10分钟不再开仓; 平仓时间:=TIME>=CLOSETIME(0)-NMIN*100; {NMIN为参数,CLOSETIME(0)-NMIN*100表示 收盘时间-提前N分钟 N由NMIN控制} //交易条件: 开多平空条件:=High>=X周期高点 and cond_atr and 开仓时间 and holding<=0; 开空平多条件:=Low<=X周期低点 and cond_atr and 开仓时间 and holding>=0; //交易系统 收盘平多:sell(平仓时间 and holding>0, 0, thisclose); 收盘平空:sellshort(平仓时间 and holding<0,0,thisclose); 平空:sellshort(开多平空条件 and holding<0, 手数,limitr,X周期高点); 平多:sell(开空平多条件 and holding>0,手数,limitr,X周期低点); 开空:buyshort(开空平多条件 and holding=0,手数,limitr,X周期低点); 开多:buy(开多平空条件 and holding=0, 手数,limitr,X周期高点); 当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值 |
-- 作者:海鱼 -- 发布时间:2018/11/26 19:22:44 -- High>=X周期高点 AND 开仓时间 是条件BC。条件A是cond_atr 谢谢老师
|
-- 作者:FireScript -- 发布时间:2018/11/27 9:28:28 -- 可能不是条件BC的问题。你当前交易用的什么周期,如果是小周期,那你这里就是小引大了。那就是条件A的问题了,也就是说历史K可能会出现当时没有信号,事后反倒出现信号的问题。也就是你描述的这个问题 “是满足A条件后之前图表上之前没出现的买卖信号,都会出现,而且是满足BC条件的开仓信号!” 另外这个思路“设计思路是先满足A,再满足BC后开仓。” 按照这个情况可能是实现不了的。因为BC是小周期,而A则是一个大周期。 |
-- 作者:海鱼 -- 发布时间:2018/11/27 11:44:47 -- 谢谢 |
-- 作者:海鱼 -- 发布时间:2018/11/29 11:29:45 -- 老师: input:m(1.2,0,10,0.01),TT(10,1,50,0.5); TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR1:MA(TR1,1); ATR2:MA(TR1,TT);//大周期天数 VAR1:ATR1>REF(ATR2,1);
这样的表达,在引用到小周期里面会不会出现信号闪烁? 另外一个问题:
在表达上><和CROSS,有什么区别?
比如MA1>MA2与CROSS(MA1,MA2) 在小周期引用大周期时,怎样的表达是正确的? 谢谢! |