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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]如何在老图表上编写策略模型

   

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


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

主题:[求助]如何在老图表上编写策略模型

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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/6/7 13:34:31    Post IP:58.246.57.26[显示全部帖子]

问题正在解决中


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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/6/7 14:24:38    Post IP:58.246.57.26[显示全部帖子]

不知行不行

input:D(350,0.00001,1000,0.00001),M1(1.5,0.0001,100,0.0001),M2(0.8,0.0001,100,0.0001);
input:A1(75,0,100,1),A2(25,0,100,1),B1(8,-60,60,1),B2(12,-60,60,1);
//下列变量用于区别首次,和完成后面的条件 开多以来和开空以来
VARIABLE:kkyl=0,kdyl=0;
VX:"vcr.vx";
CX:"vcr.cx";
R:"vcr.r";
RX:"vcr.rx";

//首次开多条件(程序开启后只执行一次):
if STKINDI('','vcr.vx',2,5)>=M1 and STKINDI('','vcr.r',2,2)<=A1 and STKINDI('','vcr.rx',2,2)>=B2 and kdyl=0 then
begin
BUY(kdyl=0,1,market);
kdyl=BARPOS;
end
if STKINDI('','vcr.rx',2,5)>=B1 and STKINDI('','vcr.rx',2,2)>=B2 and STKINDI('','vcr.r',2,2)<=A1 and kdyl=0 then
 begin
BUY(kdyl=0,1,market);
kdyl=BARPOS;
end
 
 if STKINDI('','vcr.cx',2,5)>=M1 and STKINDI('','vcr.r',2,2)<=A1 and STKINDI('','vcr.rx',2,2)>=B2 and kdyl=0 then
begin
BUY(kdyl=0,1,market);
kdyl=BARPOS;
end

//首次开空条件(程序开启后只执行一次):
if STKINDI('','vcr.vx',2,5)<=M2 and STKINDI('','vcr.r',2,2)>=A2 and STKINDI('','vcr.rx',2,2)<=-B2 and kkyl=0 then
begin
BUYSHORT( kkyl=0,1,market);
kkyl=BARPOS;
end

if STKINDI('','vcr.rx',2,5)<=-B1 and STKINDI('','vcr.rx',2,2)<=-B2 and STKINDI('','vcr.r',2,2)>=A2 and kkyl=0  then
begin
BUYSHORT( kkyl=0,1,market);
kkyl=BARPOS;
end

if STKINDI('','vcr.cx',2,5)<=M2 and STKINDI('','vcr.r',2,2)>=A2 and STKINDI('','vcr.rx',2,2)<=-B2 and kkyl=0  then
begin
BUYSHORT( kkyl=0,1,market);
kkyl=BARPOS;
end
//开多仓条件(程序开启后循环执行):CLOSE>=开空以来的最低价+D;
if close>=LLV(c,BARPOS-kkyl)+D and kkyl<>0 then BUY(HOLDING<>0,1,market);

//平多仓条件(程序开启后循环执行):CLOSE<=开多以来的最高价-D;
if close<=HHV(c,BARPOS-kdyl)-D and kdyl<>0 then SELL(HOLDING<>0,1,market);

//开空仓条件(程序开启后循环执行):CLOSE<=开多以来的最高价-D;
if close<=HHV(c,BARPOS-kdyl)-D and kdyl<>0 then BUYSHORT(HOLDING<>0,1,market);

//平空仓条件(程序开启后循环执行):CLOSE>=开空以来的最低价+D;
if close>=LLV(c,BARPOS-kkyl)+D and kkyl<>0 then BUY(HOLDING<>0,1,market);


 

[此贴子已经被作者于2011-6-7 14:28:31编辑过]

 回到顶部