以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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)
在小周期引用大周期时,怎样的表达是正确的?
谢谢!