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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 金字塔能自导选个股吗?

   

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


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

主题:金字塔能自导选个股吗?

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/2 15:09:50 [显示全部帖子]

直接用条件选股,然后选出的品种加入到板块中即可

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/2 15:13:11 [显示全部帖子]

自动的话看下我们最新版出的一个股票池,里面就是相当于在条件选股基础上自动化了

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/21 16:34:23 [显示全部帖子]

if cross(ma1,ma0) and flag1=0 then 
    begin
       开多1:buy(h and holding=0 ,1,MARKET);
       flag1:=1;
end
if cross(ma0,ma22) and flag1=1 then 
    begin
      平多1:sell(h,1,MARKET);
      flag1:=0;
end
 
每个条件里面的开平语句前面用不同的名字,然后看下是不是不同条件的触发。然后开仓代码条件里都加上一个holding=0不加仓控制下,用户最好自己能对代码有一定的了解。

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/21 17:05:11 [显示全部帖子]

用了原帖里的开平语句,这边以3个为例子,您先看你下是否符合以后在考虑加进更多

 

//JJ1的单仓必须在JJ0平多,JJ1才能第二次开多,

if cross(jj1,ma1) and flag1=0 then
    begin
       开多1:buy(1,1,MARKET);
       flag1:=1;
end
if cross(ma1,jj0) and flag1=1 then
    begin
      平多1:sell(1,1,MARKET);
      flag1:=0;
end

//JJ2的单仓必须在JJ1平多,JJ2才能第二次开多
if cross(jj2,ma1) and flag2=0 then
    begin
       开多2:buy(1,1,MARKET);
       flag2:=1;
end
if cross(ma1,jj1) and flag2=1 then
    begin
     平多2: sell(1,1,MARKET);
      flag2:=0;
end

//JJ3的单仓必须在JJ2平多,JJ3才能第二次开多,
if cross(jj3,ma1) and flag3=0 then
    begin
      开多3: buy(1,1,MARKET);
       flag3:=1;
end
if cross(ma1,jj2) and flag3=1 then
    begin
      平多3:sell(1,1,MARKET);
      flag3:=0;
end


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/22 9:14:07 [显示全部帖子]

你把图放大,看下是同一个k吗??

这明显不是在一根k上的,你不要看这么小的图就以为是一起的了,放大去看


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/23 9:13:15 [显示全部帖子]

那你自己每个开仓的部分,都加上一个and并列条件cross(jj0,ma1) and cross(jj1,ma1)  ma1同时下穿jjo和jj1时候才开仓,然后flag1作为标志位不变

 

看下这个范例,if cross(jj0,ma1) and cross(jj1,ma1)  and flag1=0 then 
    begin
       buy(h,1,MARKET);
       flag1:=1;
     开1:1;  
end
if cross(ma1,jj0) and flag1=1 then 
    begin
      sell(h,1,MARKET);
      flag1:=0;
     平1:1;       
end

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/23 10:43:19 [显示全部帖子]

理解条件啊,cross(jj0,ma1) and cross(jj1,ma1)  ma1同时下穿jjo和jj1时候才开仓

这个就是你说的答:我的意思是MA1连续跌破JJ0跌破JJ1才能开多

您看下代码逻辑,难道这个不是同时下穿的意思吗?还是你要求第一根ma1 X jj0然后第二根 ma1 x jj1还是什么其他方式

 

其实这种已经给出了您整个框架都有了,具体你要吃饭是吃一口还是吃两口这种细节问题完全可以用户自己去判断


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/23 13:37:37 [显示全部帖子]

//当前ma1下穿jj1并且在x个周期内发生过ma1下穿jj0这个情况时候进行开多,开多后flag1置1不再开多直到ma1上传jj0平多后flag置为

if  cross(jj1,ma1) and count(cross(jj0,ma1),X)>1  and flag1=0 then       

begin

       开1:buy(h,1,MARKET);
       flag1:=1;
end
if cross(ma1,jj0) and flag1=1 then 
    begin
     平1:sell(h,1,MARKET);
      flag1:=0;
end
 
看下这个是否符合用户需求,另外建议您这段代码请一定要看懂,对于条件部分我已做了详细的解释说明

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/23 14:08:05 [显示全部帖子]

这个是需要您来确定的啊,首先你对这个连续下穿就要给出明确的定义

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/3/23 16:56:06 [显示全部帖子]

你这边的flag都没对应上没发现吗??1号开平的开关flag1,2号开平的开关是flag2

 

if cross(jj1,ma1) and count(cross(jj0,ma1),X)>1  and flag1=0 then    
    begin
   开多1:buy(h ,1,MARKET);      
       flag1:=1;
end
if cross(ma1,JJ0)  and flag1=0 then
    begin
  平多1:sell(h,1,MARKET); 
      flag1:=0;        
end
//////////////////////////////////
if cross(jj2,ma1) and count(cross(jj1,ma1),X)>1  and flag2=0 then  
    begin
   开多2:buy(h ,1,MARKET);
       flag2:=1;   
end
if  cross(ma1,JJ1)  and flag1=0 then
    begin
  平多2:sell(h,1,MARKET);
      flag2:=0;
end
///////////////////////////////////
if cross(jj3,ma1) and count(cross(jj2,ma1),X)>1  and flag3=0 then  
    begin
   开多3:buy(h ,1,MARKET);
       flag3:=1;    
end
if  cross(ma1,JJ2)  and flag1=0 then
    begin
  平多3:sell(h,1,MARKET);
      flag3:=0;     
end


 回到顶部
总数 11 1 2 下一页