以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=168693)

--  作者:我来自火星
--  发布时间:2019/3/9 15:51:01
--  均线代码编写求助

第一次使用金字塔,感觉功能比较全,但是还不会金字塔的语言,请老师帮编一个模型。

思路:1、当日线的MA20大于日线的MA60,十五分钟周期的20均线金叉60均线,开多。

        2、十五分钟周期的20均线死叉60均线,平三分之一的仓位。

        3、日线周期的收盘价小于5日均线,平三分之一。

        4、日线周期的20均线死叉60均线,全平。


--  作者:FireScript
--  发布时间:2019/3/11 9:04:56
--  
你的程序是要运行在什么周期上?日线还是十五分钟。


--  作者:我来自火星
--  发布时间:2019/3/11 16:55:04
--  
在十五分钟上运行,但是引用日线
--  作者:FireScript
--  发布时间:2019/3/11 17:20:40
--  
 需要新建一个被引用指标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编辑过]

--  作者:我来自火星
--  发布时间:2019/3/12 16:44:56
--  
在日线上引用十五分钟为什么没有信号显示
--  作者:FireScript
--  发布时间:2019/3/12 16:54:51
--  
截图给我看下你代码和图表上的情况。 2个指标都打开截图我看下。用IE浏览器传图或让官方群客服帮忙传图。

[此贴子已经被作者于2019/3/12 16:55:37编辑过]

--  作者:我来自火星
--  发布时间:2019/3/12 17:04:24
--  

 

十五分钟的代码,命名为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线,没有出现买卖信号


--  作者:FireScript
--  发布时间:2019/3/12 17:13:27
--  
 
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

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