以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 全局变量无法更新 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=63157) |
-- 作者:fff -- 发布时间:2014/3/26 14:32:35 -- 全局变量无法更新 //对全局变量重置和保存 if barpos>extgbdata(\'barp\') then
begin
extgbdataset(\'num\',0) ; //记录当根K线的交易次数
extgbdataset(\'lossnum\',0) ; //记录亏损次数,在新一根K线开始时,初始化为0
extgbdataset(\'barp\',barpos) ; //控制新的一根K线重新计算
end //输出 Tbarp: barpos, linethick0 ; Tnum: extgbdata(\'num\'), linethick0 ; Tlossnum: extgbdata(\'lossnum\'), linethick0 ; 模拟账户运行是发现(使用免费专业版),到下一根K线时候,金字塔无法更新全局变量保存。(先手动令以上三个变量都不为0) |
-- 作者:fff -- 发布时间:2014/3/26 14:34:41 -- 继续运行发现,可累加但不能在运行至下根K线处重置为0。
|
-- 作者:fff -- 发布时间:2014/3/26 14:38:40 -- 累加如下: if Tholding<0 and
平空条件 then //平空
begin
Tsellshort(1,0,mkt), ALLOWREPEAT,ORDERQUEUE ;
extgbdataset(\'num\',extgbdata(\'num\')+1) ;//平仓一次算一次交易
if C>Tenterprice then extgbdataset(\'lossnum\',extgbdata(\'lossnum\')+1) ; // 平仓时判断,是否亏损,并记录亏损次数
end if Tholding>0 and
平多条件 then //平多
begin
Tsell(1,0,mkt), ALLOWREPEAT,ORDERQUEUE ;
extgbdataset(\'num\',extgbdata(\'num\')+1) ;//平仓一次算一次交易
if C<Tenterprice then extgbdataset(\'lossnum\',extgbdata(\'lossnum\')+1) ; // 平仓时判断,是否亏损,并记录亏损次数
end |
-- 作者:fff -- 发布时间:2014/3/26 14:44:54 -- 另:以上方式的平仓的ORDERQUEUE ,和开仓的ORDERQUEUE 能匹配吗?
|
-- 作者:jinzhe -- 发布时间:2014/3/26 14:53:41 -- orderqueue是在反手程序里面才是顺序下单 if .....then begin tsell,orderqueue; tbuyshort,orderqueue; end
你那样单独的写是在下单条件触发后等两秒的时间,之后就下单,不管前面的开平仓
其他的问题在测试 |
-- 作者:jinzhe -- 发布时间:2014/3/26 14:56:24 -- //对全局变量重置和保存
if barpos>extgbdata(\'barp\') then
begin
extgbdataset(\'num\',0) ; //记录当根K线的交易次数
extgbdataset(\'lossnum\',0) ; //记录亏损次数,在新一根K线开始时,初始化为0
extgbdataset(\'barp\',barpos) ; //控制新的一根K线重新计算
end //输出
Tbarp: barpos, linethick0 ;
Tnum: extgbdata(\'num\'), linethick0 ;
Tlossnum: extgbdata(\'lossnum\'), linethick0 ;
这段代码的结果和你想象的不一样在哪里? 运行的结果哪里不对? |
-- 作者:fff -- 发布时间:2014/3/26 15:07:43 -- 发现全局变量无法更新。 模拟账户运行是发现(使用免费专业版),到下一根K线时候,金字塔无法更新全局变量保存。(先手动令以上三个变量都不为0,下根K线处未见金字塔重置全局变量为0)
|
-- 作者:jinzhe -- 发布时间:2014/3/26 15:22:25 -- 以下是引用fff在2014/3/26 15:07:43的发言:
发现全局变量无法更新。
模拟账户运行是发现(使用免费专业版),到下一根K线时候,金字塔无法更新全局变量保存。(先手动令以上三个变量都不为0,下根K线处未见金字塔重置全局变量为0)
这个是没问题的,你把有问题的现象截图下 |
-- 作者:fff -- 发布时间:2014/3/26 15:36:02 -- 后台轮询方式: 在当根K线先手动令num和lossnum为0,然后交易操作亏损平仓后,到下根K线后再查会发现num和lossnum未重置为0。(BARP第一次被金字塔保存,但下一根K线不见更新!) |
-- 作者:fff -- 发布时间:2014/3/26 15:37:01 -- 或者,在当根K线先手动令num和lossnum不为为0,到下根K线后再查会发现num和lossnum未重置为0。(BARP第一次被金字塔保存,但下一根K线不见更新!) |