欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教老师次策略如何编写

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5436人关注过本帖树形打印复制链接

主题:请教老师次策略如何编写

帅哥哟,离线,有人找我吗?
gsqh_zyp
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/9 11:25:05    Post IP:221.4.150.210[显示全部帖子]

//当价格突破20周期内最高点后5个周期内出现PDI上穿MP,则根据cross(PDI,MP)作为开仓信号

if cross(pdi,mp) and barslast(flag1=1 and ref(flag1,1)=0)<5 and holding=0 then

请问老师,上面语句 barslast(flag1=1 and ref(flag1,1)=0)<5中的“and ref(flag1,1)=0”这个是指什么意思,一定要些这句吗?

直接 barslast(flag1=1)<5可以吗?


 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/9 14:09:14    Post IP:221.4.150.210[显示全部帖子]

老师能帮忙解答下吗?

 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/9 14:34:56    Post IP:221.4.150.210[显示全部帖子]

哦,fly ,由于刚接触这个不久,不太懂,上午的时候想了很久都不知道,脑子反应慢。

能介绍下那条件的含义吗?


 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/9 16:08:22    Post IP:221.4.150.210[显示全部帖子]

前面没描述清楚,试了没达到自己想要的效果,麻烦老师帮我按照下面的需求编写完整的策略。

非常感谢!

 

1、当PDI上穿MP时,后5个周期内出现最高价突破20周期内的最高点时,则以最高价突破20周期内的最高点作为平空开多信号;
   当PM下穿MDI时,后5个周期内出现最低价突破20周期内的最低点时,则以最低价突破20周期内的最低点作为平多开空信号;
2、当PDI上穿MP时,前5个周期内出现最高价突破20周期内的最高点时,则以PDI上穿MP作为平空开多信号;
   当PM下穿MDI时,前5个周期内出现最低价突破20周期内的最低点时,则以PM下穿MDI作为平多开空信号;
3、当PDI上穿MP时,前后5个周期内都未出现最高价突破20周期内的最高点时,则以前后5个周期 之后的向上突破20周期最高点作为平空开多信号;
   当PM下穿MDI时,前后5个周期内都未出现最低价突破20周期内的最低点时,则以前后5个周期 之后的向下突破20周期最低点作为平多开空信号;


 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/9 16:37:37    Post IP:221.4.150.210[显示全部帖子]

fly ,能帮忙解答下吗?

 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
序列模式的运行效率是逐k线模式的10倍  发帖心情 Post By:2013/12/10 10:02:56    Post IP:221.4.150.210[显示全部帖子]

图片点击可在新窗口打开查看没人回答~~~~

 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/10 10:37:12    Post IP:221.4.150.210[显示全部帖子]

//参数设置:

RUNMODE:0;

INPUT : M(26,1,100,1);
INPUT : N(20,1,100,1);
INPUT : P(14,1,100,1);

 

//flag1控制满足开仓条件1和条件3开仓,
//flag2控制满足开仓条件2开仓,

 

variable:flag1=0,flag2=0,flag3=0,flag4=0;

 

TR1 := SUM(MAX(MAX(HIGH - LOW, ABS(HIGH-REF(CLOSE,1))), ABS(LOW - REF(CLOSE, 1))), P); 
HD := HIGH - REF(HIGH, 1);
LD := REF(LOW, 1) - LOW; 
DMP := SUM(IF(HD>0 AND HD>LD,HD,0),P);
DMM := SUM(IF(LD>0 AND LD>HD,LD,0),P);
PDI := MA(DMP*100/TR1,18);
MDI := MA(DMM*100/TR1,18); 
PM := PDI-MDI;
MP := MDI-PDI;

h20 := ref(HHV(HIGH,N),1);
l20 := ref(LLV(LOW,N),1);

 

if CROSS(PDI,MP) AND HOLDING=0 THEN flag1:=1;
if h>h20 and HOLDING=0 then flag2:=1;
if CROSS(MDI,PM) AND HOLDING=0 THEN flag3:=1;
if l<l20 and HOLDING=0 then flag4:=1;

 

//当PDI上穿MP时,后5个周期内出现最高价突破20周期内的最高点时,则以最高价突破20周期内的最高点作为买入信号;
if h>h20 and BARSLAST(flag1=1 and ref(flag1,1)=0)<5 and holding=0 then
begin
SELLSHORT(1,0,MARKET);
buy(1,1,market);
flag1:=0;
flag2:=0;
end

 

//当PM下穿MDI时,后5个周期内出现最低价突破20周期内的最低点时,则以最低价突破20周期内的最低点作为卖出信号;
if l<l20 and BARSLAST(flag3=1 and ref(flag3,1)=0)<5 and holding=0 then
begin
sell(1,0,market);
BUYSHORT(1,1,MARKET);
flag3:=0;
flag4:=0;
end

 

//当PDI上穿MP时,前5个周期内出现最高价突破20周期内的最高点时,则以PDI上穿MP作为买入信号;
if CROSS(PDI,MP) and barslast(flag2=1 and ref(flag2,1)=0)<5 and holding=0 then
begin
SELLSHORT(1,0,MARKET);
buy(1,1,market);
flag1:=0;
flag2:=0;
end

 

//当PM下穿MDI时,前5个周期内出现最低价突破20周期内的最低点时,则以PM下穿MDI作为卖出信号;
if CROSS(MDI,PM) and barslast(flag4=1 and ref(flag4,1)=0)<5 and holding=0 then
begin
sell(1,0,market);
BUYSHORT(1,1,MARKET);
flag3:=0;
flag4:=0;
end

 

//当PDI上穿MP时,前后5个周期内都未出现最高价突破20周期内的最高点时,则以前后5个周期之后的向上突破作为买入信号;
if h>h20 and barslast(flag1=1 and ref(flag1,1)=0)>5 and holding=0 then
begin
SELLSHORT(1,0,MARKET);
buy(1,1,market);
flag1:=0;
flag2:=0;
end

 

//当PM下穿MDI时,前后5个周期内都未出现最低价突破20周期内的最低点时,则以前后5个周期之后的向下突破作为卖出信号;
if l<l20 and barslast(flag3=1 and ref(flag3,1)=0)>5 and holding=0 then
begin
sell(1,0,market);
BUYSHORT(1,1,MARKET);
flag3:=0;
flag4:=0;
end

 

//账户信息:
资产:ASSET,NOAXIS,COLORRED,LINETHICK2;
可用现金:CASH(0),PRECISION0,NOAXIS,LINETHICK0;
持仓:HOLDING,LINETHICK0;
胜率:PERCENTWIN,LINETHICK0;
交易次数:TOTALTRADE,LINETHICK0;

 

麻烦看下我这样写可以吗?但是我调试的时候只有一个信号。不知道哪里写错了。


 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/10 14:14:01    Post IP:221.4.150.210[显示全部帖子]

fly 能帮我看看吗?

 回到顶部
帅哥哟,离线,有人找我吗?
gsqh_zyp
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:168 积分:148 威望:0 精华:0 注册:2012/6/21 9:54:02
  发帖心情 Post By:2013/12/11 10:01:23    Post IP:221.4.150.210[显示全部帖子]

等了一天都没人回答,有谁能帮忙解答下吗?


 回到顶部
总数 20 上一页 1 2