Rss & SiteMap

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

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

标题:请教老师代写编码问题

1楼
Hxpj 发表于:2019/11/27 10:35:40
老师,我想判断MACD在 15分钟,60分钟,日 ,三个周期内同时收到金叉信号才进行交易,这个代码怎么写?
2楼
FireScript 发表于:2019/11/27 10:44:32
 先单独编写一个指标A:
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);//参数设置

DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA), COLORSTICK;
macdjc:cross(diff,dea);//macd金叉
macdsc:cross(dea,diff);

然后跨周期调用指标A的macdjc变量即可。
15min_jc:=STKINDI('','A.macdjc',0,3,0);
60min_jc:=STKINDI('','A.macdjc',0,5,0);
day_jc:=STKINDI('','A.macdjc',0,6,0);

cd:15min_jc and 60min_jc and day_jc;

if cd  and holding=0 then
begin
//这里编写下单语句即可
end

3楼
Hxpj 发表于:2019/11/27 11:37:12
老师,这里的 A 是什么??没有看都代入?
4楼
FireScript 发表于:2019/11/27 13:08:27
 A是新建的一个指标,字母A是指标名称。你要新建一个指标,把下面代码放进去。

input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);//参数设置

DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA), COLORSTICK;
macdjc:cross(diff,dea);//macd金叉
macdsc:cross(dea,diff);


5楼
FireScript 发表于:2019/11/27 13:11:11
 这个A 是单独的一个指标的。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
6楼
Hxpj 发表于:2019/11/27 13:36:45
//MACD
X1:CROSS(DIFF,DEA);
X2:CROSS(DEA,DIFF);

//条件1
X3:MA1>MA2 AND MA2>MA3 AND MA3>MA4 AND MA4>MA5 AND MA5>MA6 AND MA1>REF(MA1,1) AND MA2>REF(MA2,1) AND MA3>REF(MA3,1) AND MA4>REF(MA4,1) AND MA5>REF(MA5,1) AND MA6>REF(MA6,1);
X4:MA1<MA2 AND MA2<MA3 AND MA3<MA4 AND MA4<MA5 AND MA5<MA6 AND MA1<REF(MA1,1) AND MA2<REF(MA2,1) AND MA3<REF(MA3,1) AND MA4<REF(MA4,1) AND MA5<REF(MA5,1) AND MA6<REF(MA6,1);

X5:X1 AND X3;
X6:X2 AND X4;

15min_jc:=STKINDI('','X5',0,3,0);
60min_jc:=STKINDI('','X5',0,5,0);
day_jc:=STKINDI('','X5',0,6,0);

KDCL:15min_jc and 60min_jc and day_jc;

回测没有数据,错在哪里呢?
7楼
Hxpj 发表于:2019/11/27 13:47:25
是否由于公式是 5、60、日,而公式测试里的开仓条件只能是日,所以无法返回数据?
8楼
FireScript 发表于:2019/11/27 14:04:54
 1.你上面代码里面都没有下单语句吗 还是只是没帖出来?
 2.你跨周期代码写的不对 。首先macd金叉的代码要单独放在一个指标下。
  然后红色部分格式也不对。 是  “公式名.被调用的变量”
15min_jc:=STKINDI('','X5',0,3,0);
参考下图的做法:


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

这是2个指标,macd单独在一个指标里面。

3.跨周期的调用是不会自动补充数据的。你要补充5分钟和日线数据。
  单个品种得话 你可以在K线上切换到相应周期然后用键盘上下箭 就能自动触发历史数据的补充。
9楼
Hxpj 发表于:2019/11/27 16:19:51

图片点击可在新窗口打开查看此主题相关图片如下:a20191127161814.jpg
图片点击可在新窗口打开查看


//条件汇总

15min_jc:=STKINDI('','MADC_T.macdjc',0,3,0);
60min_jc:=STKINDI('','MADC_T.macdjc',0,5,0);
day_jc:=STKINDI('','MADC_T.macdjc',0,6,0);

15min_ga:=STKINDI('','GMMA-T.X3',0,3,0);
60min_ga:=STKINDI('','GMMA-T.X3',0,5,0);
day_ga:=STKINDI('','GMMA-T.X3',0,6,0);


KDCL:15min_jc and 60min_jc and day_jc and 15min_ga and 60min_ga and day_ga;



老师,我按例子重新修改了,X3如下

指标名称:GMMA-T

X3:MA1>MA2 AND MA2>MA3 AND MA3>MA4 AND MA4>MA5 AND MA5>MA6 AND MA1>REF(MA1,1) AND MA2>REF(MA2,1) AND MA3>REF(MA3,1) AND MA4>REF(MA4,1) AND MA5>REF(MA5,1) AND MA6>REF(MA6,1);

同时也补充了 15 分钟 60分钟,日数据,还是出不了结果?
图片点击可在新窗口打开查看

10楼
Hxpj 发表于:2019/11/27 16:32:52
下单的语句先不写了,万一真的下单了,就比较危险,所以先做好预警,只是3个周期MACD的条件,也出不了数据?
共17 条记录, 每页显示 10 条, 页签: [1] [2]


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