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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]怎么样实现K线计数功能

   

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


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

主题:[求助]怎么样实现K线计数功能

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


加好友 发短信
等级:新手上路 帖子:2 积分:0 威望:0 精华:0 注册:2014/4/15 14:03:12
[求助]怎么样实现K线计数功能  发帖心情 Post By:2014/4/15 15:01:05    Post IP:221.226.93.70[只看该作者]

我想实现当k线根数满足某一条件时 进行买入操作

 

例如在日线图上 设定某一天的k线计数为1

之后任意一天的k线 满足三个条件的时候 计数加1

这三个条件是 收盘价大于或等于之前第2根K线最高价;
                  最高价大于之前第1根 K线的最高价;
                  收盘价大于之前第1个计数的收盘价。

直到总的计数k线根数达到某一个数字 进行开仓 怎么编写呢


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/4/15 15:03:26    Post IP:58.246.57.26[只看该作者]

使用全局变量进行记录

 

variable:n=0;//定义全局变量,赋初值为 0

 

if 条件1 and 条件2 and 条件3 then begin

   n:=n+1;

end//判断上面的3个条件,满足后自加1

 

然后判断这个n多少就行了



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:2 积分:0 威望:0 精华:0 注册:2014/4/15 14:03:12
  发帖心情 Post By:2014/4/15 15:48:25    Post IP:221.226.93.70[只看该作者]

VARIABLE:n=0;
VARIABLE:n1=0;
VARIABLE:case=0;
VARIABLE:a=0;

if case=0 then BEGIN
    if REF(c,1)<REF(c,5) AND BARPOS>a then
    n:=n+1;
    else
    n:=0;
    if n>3 then
    case:=1;
end


if case=1 then Begin
    if REF(C,1)>REF(H,3) AND REF(h,1)>REF(h,2) AND BARPOS>a then
    n1:=n1+1;
    if n1>3 then
    BUY(1,1,MARKET);
    case:=0;
end
   
a:=BARPOS  

 

 

老师请教一下 我这段代码的思路是按照每来一个tick进行一次计算的 BARPOS>a表示不再同一根k线上进行计算 等待到这根k线走完 

 可是金字塔不能用序列模式 怎么改才好呢


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/4/15 15:52:35    Post IP:58.246.57.26[只看该作者]

if case=0 then BEGIN
    if REF(c,1)<REF(c,5) AND BARPOS>a then
    n:=n+1;
    else
    n:=0;
    if n>3 then
    case:=1;
end

 

类似这样的按照提示里面的连接改成这样的

BB:=REF(c,1)<REF(c,5);

if case=0 then BEGIN
    if BB AND BARPOS>a then
    n:=n+1;
    else
    n:=0;
    if n>3 then
    case:=1;
end

 

这样就不报错了



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部