以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]怎么样实现K线计数功能  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=63959)

--  作者:wsljztd
--  发布时间:2014/4/15 15:01:05
--  [求助]怎么样实现K线计数功能

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

 

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

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

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

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


--  作者:jinzhe
--  发布时间:2014/4/15 15:03:26
--  

使用全局变量进行记录

 

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

 

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

   n:=n+1;

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

 

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


--  作者:wsljztd
--  发布时间:2014/4/15 15:48:25
--  

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
--  发布时间:2014/4/15 15:52:35
--  

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

 

这样就不报错了