Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:模型编写问题

1楼
zengxing 发表于:2017/10/21 21:53:49
跨周期编写
以15分钟周期的MACD红绿柱为基础,
1分钟K线图,设置一条60均线,
开多条件:当15分钟周期出现红柱,1分钟K线在60均线之上开多,
平多条件,15分钟周期出现绿柱. 
开空条件:15分钟周期出现绿柱,1分钟K线在60均线之下开空,
平空条件,15分钟周期出现红柱

这个应该怎么编?是编写在15分钟上还,还是1分钟上好?
2楼
wenarm 发表于:2017/10/22 20:15:58
当前用于什么周期是你自己的策略思想决定的。
如果你当前用于1分钟周期,你直接引用macd的值进行判断,使用stkindi函数实现。
如果当前用于15分钟周期,那就直接饮用1分钟周期上的ma(c,60)<close的结果。
3楼
zengxing 发表于:2017/10/23 11:26:21
那就用 15分钟周期吧,应该怎么编写?

4楼
wenarm 发表于:2017/10/23 13:37:43

公式1:

ma_cond:c>ma(close,60);

 

当前公式。空头方向的参考该方式自行实现

DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);


开多:=CROSS(MACD,0) and stkindi('','公式1.ma_cond',0,1) ;
平多:=CROSS(0,MACD);
buy(开多,1,MARKET);
sell(平多,1,MARKET);

5楼
zengxing 发表于:2017/10/23 23:07:41
两个问题,第一,引用的公式,为什么一定要: 不要:=

但是用:  整个K线就变形了。这个怎么解决?

还有,为什么都是

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  :=EMA(DIFF,9);
MACD :=2*(DIFF-DEA);

开多:CROSS(MACD,0) and stkindi('','公式1.ma_cond',0,1) ;
平多:=CROSS(0,MACD);
sell(平多,1,MARKET);
buy(开多,1,MARKET);



开空:CROSS(0,MACD) and stkindi('','公式1.ma_cond2',0,1) ;
平空:=CROSS(MACD,0);
SELLSHORT(平空,1,MARKET);
BUYSHORT(开空,1,MARKET);

我补全后,为什么只有开空,没有开多?
6楼
wenarm 发表于:2017/10/24 8:13:30

1,:=代表中间变量,被引用时的变量只能是:

2.顺序不对,图表要遵循先平后开的原则

开多:CROSS(MACD,0) and stkindi('','Formula33.ma_cond',0,1) ;
开空:CROSS(0,MACD) and stkindi('','Formula33.ma_cond2',0,1) ;
平多:=CROSS(0,MACD);
平空:=CROSS(MACD,0);
sell(平多,1,MARKET);
SELLSHORT(平空,1,MARKET);
buy(开多,1,MARKET);
BUYSHORT(开空,1,MARKET);

 

7楼
zengxing 发表于:2017/10/24 9:32:50
按照您新发的源码,就全部变成了正反手交易,没有单独的开平了?怎么回事?
8楼
wenarm 发表于:2017/10/24 9:36:41
你自己看下你的条件。开多条件成立的情况下,平空条件肯定也是成立的。
共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03094 s, 3 queries.