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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 初学者求助关于交易按程序的编写问题

   

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


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

主题:初学者求助关于交易按程序的编写问题

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


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/4/7 21:00:31
初学者求助关于交易按程序的编写问题  发帖心情 Post By:2014/4/14 14:46:11    Post IP:221.7.7.122[显示全部帖子]

思路如下:

1:空仓情况下(2个常量:X/Y)

   收盘价上穿X开多,如果收盘前下破X平多,否则持多仓过夜;
   收盘价下破Y开空,如果收盘前上穿Y平空,否则持空仓过夜;


2:持仓情况下(2个常量:X/Y)

   持多仓:
   收盘价下破Y平多开空,如果收盘前上穿Y平空开多,否则持空仓过夜;

   持空仓:
   收盘价上穿X平空开多,如果收盘前下穿X平多开空,否则持多仓过夜;

 

已经请人编好的如下:

 

 

if holding=0 and cross(close,x) then begin

   buy(1,1,market);

end

 

if cross(x,close) and holding>0 then begin

   sell(1,0,market);

 end

 

if holding=0 and cross(y,close) then begin

    buyshort(1,1,market);

end

 

if holding<0 and cross(close,y) then begin

    sellshort(1,0,market);

end

 

 

if holding>0 and cross(y,close) then begin

    sell(1,0,market);

    buyshort(holding=0,1,market);

end

 

if  cross(close,y) then begin

   sellshort(1,0,market);

   buy(holding=0,1,market);

end

 

if holding<0 and cross(close,x) then begin

  sellshort(1,0,market);

  buy(holding=0,1,market);

end

 

if cross(x,close) then begin

   sell(1,0,market);

   buyshort(holding=0,1,market);

end

 

问题是:

 

在我持有隔夜多单时,次日日内在没有出现平多开空动作情况下,直接开多了,也就是这段指令发生作用了:

if holding<0 and cross(close,x) then begin

  sellshort(1,0,market);

  buy(holding=0,1,market);

end

 

我是想在我持有隔夜多单时,次日日内如果没有下破Y则持有多单过夜,若下破Y,则平多开空,若再次上穿X,则平空开多,上述条件循环执行。能力有限,不知我表达清楚了没有,还请各位老师不吝赐教!

[此贴子已经被作者于2014/4/14 14:46:39编辑过]

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


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/4/7 21:00:31
  发帖心情 Post By:2014/4/14 15:14:44    Post IP:221.7.7.122[显示全部帖子]

非常感谢超版,我再好好研究一下。。。

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


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/4/7 21:00:31
  发帖心情 Post By:2014/4/14 17:05:19    Post IP:221.7.7.117[显示全部帖子]

老师好,上述代码里的‘buyshort(holding=0,1,market);可以这么写吗?holding=0可以放在这里吗?谢谢

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


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/4/7 21:00:31
  发帖心情 Post By:2014/4/14 18:19:39    Post IP:221.7.7.68[显示全部帖子]

非常感谢!

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


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/4/7 21:00:31
  发帖心情 Post By:2014/4/15 7:57:02    Post IP:222.82.187.14[显示全部帖子]

老师麻烦看一下,这样写对吗?我试了一下,主图没有显示,软件好像还是不能判断持仓情况:

 

持多仓:
   收盘价下破Y平多开空,如果收盘前上穿Y平空开多,否则持空仓过夜;

cond3:=CROSS(C,Y);
cond4:=CROSS(Y,C);

 

if holding>0 and cond4 then
begin

sell(1,0,market);

buyshort(holding=0,1,market);

end


if  holding>0 and cond3 then
begin

   sellshort(1,0,market);

   buy(holding=0,1,market);

end


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


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/4/7 21:00:31
  发帖心情 Post By:2014/4/15 10:29:16    Post IP:221.7.7.98[显示全部帖子]

非常感谢,受教了

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


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/4/7 21:00:31
  发帖心情 Post By:2014/4/15 10:30:05    Post IP:221.7.7.98[显示全部帖子]

明白了,谢谢老师

 回到顶部