以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]如何在老图表上编写策略模型 (http://222.73.7.161/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; 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); //首次开多条件(程序开启后只执行一次): //首次开空条件(程序开启后只执行一次): 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 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 //平多仓条件(程序开启后循环执行):CLOSE<=开多以来的最高价-D; //开空仓条件(程序开启后循环执行):CLOSE<=开多以来的最高价-D; //平空仓条件(程序开启后循环执行):CLOSE>=开空以来的最低价+D;
[此贴子已经被作者于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);
IF HOLDING>=0 THEN BEGIN |