第一次使用金字塔,感觉功能比较全,但是还不会金字塔的语言,请老师帮编一个模型。
思路:1、当日线的MA20大于日线的MA60,十五分钟周期的20均线金叉60均线,开多。
2、十五分钟周期的20均线死叉60均线,平三分之一的仓位。
3、日线周期的收盘价小于5日均线,平三分之一。
4、日线周期的20均线死叉60均线,全平。
需要新建一个被引用指标a,代码如下:
ma20:ma(c,20);
ma60:ma(c,60);
sc:cross(ma60,ma20);
cd1:ma20>ma60;
cd2:c<ma(c,5);
上面代码新建一个公式指标存放,指标名为a.
当前运行的指标代码如下:
ss:3;
day_sc:STKINDI('','a.sc',0,6,0);
day_cd1:STKINDI('','a.cd1',0,6,0);
day_cd2:STKINDI('','a.cd2',0,6,0);
ma60:ma(c,60);
ma20:ma(c,20);
jc:cross(ma20,ma60);
sc:cross(ma60,ma20);
if day_cd1 and jc then buy(holding=0,ss,market);
if sc and holding>0 then sell(holding>0,holding/3,market);
if day_cd2 and holding>0 then sell(holding>0,holding/2,market);//平一半,相当于平初始开仓仓位的三分之一
if day_sc and holding>0 then sell(holding>0,holding,market);
[此贴子已经被作者于2019/3/11 17:21:24编辑过]
截图给我看下你代码和图表上的情况。 2个指标都打开截图我看下。用IE浏览器传图或让官方群客服帮忙传图。
[此贴子已经被作者于2019/3/12 16:55:37编辑过]
十五分钟的代码,命名为aa
ma20:ma(c,20);
ma60:ma(c,60);
jc:cross(ma20,ma60);
sc:cross(ma60,ma20);
日线周期代码,
ss:3;
minute_sc:STKINDI('','aa.sc',0,3,0);
minute_jc:STKINDI('','aa.jc',0,3,0);
//MINUTE_cd2:=STKINDI('','aa.cd2',0,3,0);
ma15:ma(c,15);
ma60:ma(c,60);
sc:cross(ma60,ma15);
cd1:ma15>ma60;
EM5:(H+L+C)/3;
cd2:c<ema(EM5,5);
if cd1 and minute_jc then buy(holding=0,ss,market);
if cd2 and holding>0 then sell(holding>0,holding/3,market);
if minute_sc and holding>0 then sell(holding>0,holding/2,market);
if sc and holding>0 then sell(holding>0,holding,market);
我不懂什么截图,但是图上只出现那MA线,没有出现买卖信号

此主题相关图片如下:temp.png

代码可以。应该是数据问题,因为日线容易拓展到比较久远的历史K,但是你跨周期调用的15分钟数据未必有那么多。你直接把5分钟数据补充的多一点再试下。比如补充一年的5分钟数据试下。