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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → X个交易日后自动退出交易的公示表达法

   

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


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

主题:X个交易日后自动退出交易的公示表达法

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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
X个交易日后自动退出交易的公示表达法  发帖心情 Post By:2014/5/28 11:13:22    Post IP:218.80.198.221[显示全部帖子]

如果我想写一个交易系统指标,建仓条件如下:
//交易条件
mashort:= ma(c,9);
malong:=ma(c,8);
开多平空条件:=CROSS(mashort,malong);//开多条件
开空平多条件:=CROSS(malong,mashort);//开空条件

能否帮忙写平仓条件?
平仓条件为在建仓后x个交易日收盘自动卖出。另外如果是X个自然日自动退出又该如何写?

谢谢!


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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2014/5/28 14:45:38    Post IP:218.80.198.221[显示全部帖子]

写了下面的公式,为何在附图中  ‘持仓时间‘     没有显示呢? 烦请帮忙指正 ,谢谢!

shortday:=9;
longday:=18;
testdate:=5;

mashort:=ma(c,shortday),colorwhite;
malong:=ma(c,longday),colorgreen;

//交易条件
开多条件:=CROSS(mashort,malong);//开多平空条件
开空条件:=CROSS(malong,mashort);//开空平多条件

if  (barpos=1) or (barpos<longday) then 
     holdingDate:=-500;
 else
if (开多条件 or 开空条件)  and  (barpos>=longday)   then
     holdingdate:=0;

holdingdateYD:=ref(holdingdate,1);

if (mashort>malong) and (holdingDate<-400) then
     holdingdate:=holdingdateYD+1;
else 
     if (holdingDate<-400) then
          holdingdate:=holdingdateYD-1;
          
持仓时间:holdingdate;



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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2014/5/28 14:51:48    Post IP:218.80.198.221[显示全部帖子]

股票,股票指数,还有期货的连续合约

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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2014/5/28 14:54:55    Post IP:218.80.198.221[显示全部帖子]

都没有啊,我都试过了 没有一个显示出来持仓时间的啊
比如PTA连续 上证指数等等

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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2014/5/28 16:21:41    Post IP:218.80.198.221[显示全部帖子]

谢谢了!
根据您的建议,现在确实能够显示出来了,

我更改了一下程序,变为技术指标。可为何数值只有-501,-500,-499, 0 这几个值?

我感觉在下面的代码中
 holdingDate:=-500;
 holdingdateYD:=ref(holdingdate,1);
这出问题了。无论前一天的 holdingDate是什么 holdingdateYD:=ref(holdingdate,1);都是-500?


runmode:0;

shortday:=9;
longday:=18;
testdate:=5;

mashort:=ma(c,shortday),colorwhite;
malong:=ma(c,longday),colorgreen;

//交易条件
开多条件:=CROSS(mashort,malong);//开多平空条件
开空条件:=CROSS(malong,mashort);//开空平多条件

 holdingDate:=-500;
 holdingdateYD:=ref(holdingdate,1);

if  barpos<longday then
     holdingDate:=-500;
else
begin
     if  开多条件 or 开空条件 then
      holdingdate:=0;
        else        //******************************
          begin
               if mashort>malong then
                    holdingdate:=holdingdateYD+1;
               else
                    holdingdate:=holdingdateYD-1;
           end;     
end;

cjsj:holdingdate;


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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2014/5/28 16:32:10    Post IP:218.80.198.221[显示全部帖子]

是下面的写法吗?似乎没变化啊!

runmode:0;

variable:holdingdate=0;

shortday:=9;
longday:=18;
testdate:=5;

mashort:=ma(c,shortday),colorwhite;
malong:=ma(c,longday),colorgreen;

//交易条件
开多条件:=CROSS(mashort,malong);//开多平空条件
开空条件:=CROSS(malong,mashort);//开空平多条件

 holdingDate:=-500;
 holdingdateYD:=ref(holdingdate,1);

if  barpos<longday then
     holdingDate:=-500;
else
begin
     if  开多条件 or 开空条件 then
      holdingdate:=0;
        else
          begin
               if mashort>malong then
                    holdingdate:=holdingdateYD+1;
               else
                    holdingdate:=holdingdateYD-1;
           end;     
end;

cjsj:holdingdate;


[此贴子已经被作者于2014/5/28 16:32:28编辑过]

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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2014/5/28 16:35:17    Post IP:218.80.198.221[显示全部帖子]

刚刚查了一下历史帖子,不知道我应该用哪种呢?

全局变量有两种,一种是在公式里的,每次执行都被初始化一次的,这里的每次执行指的是每次金字塔执行公式系统的运行,即从1周期到BARCOUNT的过程。

比如一个变量这样声明:

variable:maxprofit=0;

他只会在第一个周期被初始化赋值为0,其他周期均不会对此变量进行赋值,比如:

variable:maxprofit=0;

IF BARPOS = 2 THEN

   MAXPROFIT := 10;

 

IF BARPOS = 10 THEN

   MAXPROFIT := 30;

 

AA:MAXPROFIT;

 

通过AA的显示曲线,用户应该会明白全局变量的用途

 

金字塔还有一种全局变量,可以保存数据到全局变量数据库中,具体参考 EXTGBDATASET 和  EXTGBDATA 函数的调用


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


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2014/5/28 18:28:06    Post IP:218.80.198.221[显示全部帖子]

运行成功,太好了,谢谢!

 回到顶部