以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=160938) |
-- 作者:a383623133 -- 发布时间:2018/1/9 9:27:49 -- 后台策略-移动止盈问题 //移动止损模块部分******************************* VARIABLE:A1=0,aa1=0; IF 多仓>0 AND EXTGBDATA(\'a1\' )=0 THEN EXTGBDATASET( \'a1\',1 ); IF 空仓>0 AND EXTGBDATA(\'aa1\' )=0 THEN EXTGBDATASET( \'aa1\',1 ); //使A始终表示监控开始后的最高价 IF DYNAINFO( 7)>EXTGBDATA(\'a1\' ) and EXTGBDATA(\'a1\' )>0 THEN EXTGBDATASET( \'a1\',DYNAINFO( 7)); IF DYNAINFO( 7)>EXTGBDATA(\'aa1\' ) and EXTGBDATA(\'aa1\' )>0 THEN EXTGBDATASET( \'aa1\',DYNAINFO( 7)); //发现空仓,将A赋值为0 IF 多仓=0 THEN EXTGBDATASET( \'a1\',0); IF 空仓=0 THEN EXTGBDATASET( \'aa1\',0); 多最高盈:(EXTGBDATA(\'a1\' )-多仓均价)/MINDIFF,LINETHICK0; 多回撤幅度:多最高盈率-多仓盈亏,LINETHICK0; 空最高盈:(EXTGBDATA(\'aa1\' )-空仓均价)/MINDIFF,LINETHICK0; 空回撤幅度:空最高盈率-空仓盈亏,LINETHICK0; 如上公式,为什么运行单个策略单个品种就正常,运行两个策略或一个策略两个品种就不正常?请问是哪里出错?
|
-- 作者:FireScript -- 发布时间:2018/1/9 9:40:14 -- 使用上有错误 全局变量的说明链接:http://www.weistock.com/WeisoftHelp/index.html?zbgs003.htm
EXTGBDATA 对应的全局变量 在工具-数据管理-全局变量下设置,是整个金字塔内有效的,可以实现多个指标之间的一些沟通。 variable定义的直接使用即可,如下所示: VARIABLE:A1=0,aa1=0;
IF 多仓>0 AND a1=0 THEN a1:=1;
|
-- 作者:a383623133 -- 发布时间:2018/1/9 10:15:20 -- 我要运行多个策略,公式该如何修改? |
-- 作者:FireScript -- 发布时间:2018/1/9 10:37:29 -- 2楼 我回复错了,后台不能用variable 替换成GLOBALVARIABLE即可。
还有你说问:运行多个策略怎么改?没明白你的需求具体怎样的,建议详细说明下。 |
-- 作者:a383623133 -- 发布时间:2018/1/9 10:43:17 -- GLOBALVARIABLE代替variable吗? 每个品种单独做一个公式,同时会运行多个公式,这样会不会冲突的意思?如果会该如何编写?
|
-- 作者:a383623133 -- 发布时间:2018/1/9 13:37:40 -- 没人回答吗?? |
-- 作者:FireScript -- 发布时间:2018/1/9 13:38:16 -- 每个品种之间是独立的,全局变量GLOBALVARIABLE不会相互冲突的。 |
-- 作者:a383623133 -- 发布时间:2018/1/9 14:07:38 -- GLOBALVARIABLE代替variable就可以了? |
-- 作者:FireScript -- 发布时间:2018/1/9 14:14:47 -- 是的,要替换下。 |
-- 作者:a383623133 -- 发布时间:2018/1/9 14:34:22 -- //移动止损模块部分******************************* GLOBALVARIABLE=0,aa1=0; IF 多仓>0 AND a1=0 THEN EXTGBDATASET( \'a1\',1 ); IF 空仓>0 AND aa1=0 THEN EXTGBDATASET( \'aa1\',1 ); //使A始终表示监控开始后的最高价 IF DYNAINFO( 7)>EXTGBDATA(\'a1\' ) and EXTGBDATA(\'a1\' )>0 THEN EXTGBDATASET( \'a1\',DYNAINFO( 7)); IF DYNAINFO( 7)>EXTGBDATA(\'aa1\' ) and EXTGBDATA(\'aa1\' )>0 THEN EXTGBDATASET( \'aa1\',DYNAINFO( 7)); //发现空仓,将A赋值为0 IF 多仓=0 THEN EXTGBDATASET( \'a1\',0); IF 空仓=0 THEN EXTGBDATASET( \'aa1\',0); 多最高盈:(EXTGBDATA(\'a1\' )-多仓均价)/MINDIFF,LINETHICK0; 多回撤幅度:多最高盈率-多仓盈亏,LINETHICK0; 空最高盈:(EXTGBDATA(\'aa1\' )-空仓均价)/MINDIFF,LINETHICK0; 空回撤幅度:空最高盈率-空仓盈亏,LINETHICK0; 是这样写吗?
|