以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]如何在老图表上编写策略模型  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=6786)

--  作者:xxn139
--  发布时间:2011/6/7 12:34:18
--  [求助]如何在老图表上编写策略模型

请教版主、高手,下面策略方案怎样在老图表上实现------(如果不行也可在新图表上编策略)

新建一个综合指标,名称VCR(含一个缺省N),其中有4条指标线分别是VX、CX、R、RX

策略方案如下:

 缺省设置

 D缺省=350,最小=0.00001,最大=1000; 

 M1缺省=1.5最小=0.0001,最大=100;

 M2缺省=0.8,最小=0.0001,最大=100; 
 A1缺省=75最小=0,最大=100;

 A2缺省=25最小=0,最大=100; 

 B1缺省=8最小=-60,最大=60;

 B2缺省=12最小=-60,最大=60;

首次开多条件(程序开启后只执行一次):

一、60分钟分析周期VCR指标中VX >=M1并且5分钟分析周期VCR指标中的R <=A1并且5分钟分析周期VCR指标中的 RX>=B2或者

二、60分钟分析周期VCR指标中RX>=B1并且5分钟分析周期VCR指标中RX>=B2并且5分钟分析周期VCR指标中的

R <=A1  或者

三、60分钟分析周期VCR指标中CX>=M1并且5分钟分析周期VCR指标中的R <=A1并且5分钟分析周期VCR指标中的RX>=B2 

首次开空条件(程序开启后只执行一次):

一、60分钟分析周期VCR指标中VX <=M2并且5分钟分析周期VCR指标中的R >=A2并且5分钟分析周期VCR指标中的

RX<=-B2  或者

二、60分钟分析周期VCR指标中RX<=-B1并且5分钟分析周期VCR指标中RX<=-B2并且5分钟分析周期VCR指标中的

R >=A2 或者

三、60分钟分析周期VCR指标中CX<=M2并且5分钟分析周期VCR指标中的R >=A2并且5分钟分析周期VCR指标中的

RX<=-B2 

开多仓条件(程序开启后循环执行):CLOSE>=开空以来的最低价+D;

平多仓条件(程序开启后循环执行):CLOSE<=开多以来的最高价-D;

开空仓条件(程序开启后循环执行):CLOSE<=开多以来的最高价-D;

平空仓条件(程序开启后循环执行):CLOSE>=开空以来的最低价+D;


--  作者:26327756l
--  发布时间:2011/6/7 13:34:31
--  

问题正在解决中


--  作者:xxn139
--  发布时间:2011/6/7 13:45:12
--  

补充说明一下,以上程序涉及三个周期。是加载在1分钟或30秒的图表分析周期上运行的。


--  作者:26327756l
--  发布时间:2011/6/7 14:24:38
--  

不知行不行

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编辑过]

--  作者:xxn139
--  发布时间:2011/6/8 0:27:42
--  

不论可行与否,都倍感谢意!


--  作者:董小球
--  发布时间:2011/6/24 10:43:54
--  

我这几天试试了下,可以自动交易,但是主要跟X的值有关系,希望有帮助,其他真没啥办法了

 

input:X(350,0.00001,1000),N(60,1,1000),E(10,1,1000),M1(1.5,0.01,100),M2(0.5,0.01,100);
variable:AA=0,BB=0,CC=0;
IF C>O AND AA=0 AND HOLDING=0 AND CROSS(MA(C,5),MA(C,30)) THEN BEGIN
BUY(1,1,MARKET);
AA:=AA+1;
END
IF  C<O AND HOLDING=0 AND CROSS(MA(C,30),MA(C,5)) THEN BEGIN
BUYSHORT(1,1,MARKET);
AA:=AA+1;
END
开多以来的最高价:=HHV(H,ENTERBARS);
开空以来的最低价:=LLV(L,EXITBARS);
开多仓条件:=CLOSE>=开空以来的最低价+X*MINDIFF;
平多仓条件:=CLOSE<=开多以来的最高价-X*MINDIFF;
开空仓条件:=CLOSE<=开多以来的最高价-X*MINDIFF;
平空仓条件:=CLOSE>=开空以来的最低价+X*MINDIFF;

 

   IF HOLDING>=0 THEN BEGIN
     SELL(平多仓条件,HOLDING,market);
     BUYSHORT(开空仓条件,1,market);
   END
   IF HOLDING<=0 THEN BEGIN
 SELLSHORT(平空仓条件,HOLDING,market);
 BUY(开多仓条件,1,market);
   END
持仓量:holding,linethick0;
资产:ASSET,NOAXIS,colorblue;