Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共41 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5]
[浏览完整版]

标题:全局变量无法更新

1楼
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)

来源:  http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=63019&replyID=&skin=1

2楼
fff 发表于:2014/3/26 14:34:41


继续运行发现,可累加但不能在运行至下根K线处重置为0。
3楼
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



4楼
fff 发表于:2014/3/26 14:44:54


另:以上方式的平仓的ORDERQUEUE ,和开仓的ORDERQUEUE 能匹配吗?
5楼
jinzhe 发表于:2014/3/26 14:53:41

orderqueue是在反手程序里面才是顺序下单

if  .....then  begin

tsell,orderqueue;

tbuyshort,orderqueue;

end

 

你那样单独的写是在下单条件触发后等两秒的时间,之后就下单,不管前面的开平仓

 

其他的问题在测试

6楼
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 ;

 

 

这段代码的结果和你想象的不一样在哪里?

运行的结果哪里不对?

7楼
fff 发表于:2014/3/26 15:07:43


发现全局变量无法更新。

模拟账户运行是发现(使用免费专业版),到下一根K线时候,金字塔无法更新全局变量保存。(先手动令以上三个变量都不为0,下根K线处未见金字塔重置全局变量为0)
8楼
jinzhe 发表于:2014/3/26 15:22:25
以下是引用fff在2014/3/26 15:07:43的发言:


发现全局变量无法更新。

模拟账户运行是发现(使用免费专业版),到下一根K线时候,金字塔无法更新全局变量保存。(先手动令以上三个变量都不为0,下根K线处未见金字塔重置全局变量为0)

 这个是没问题的,你把有问题的现象截图下

9楼
fff 发表于:2014/3/26 15:36:02


图片点击可在新窗口打开查看此主题相关图片如下:全局变量数据管理.jpg
图片点击可在新窗口打开查看

后台轮询方式:
在当根K线先手动令num和lossnum为0,然后交易操作亏损平仓后,到下根K线后再查会发现num和lossnum未重置为0。(BARP第一次被金字塔保存,但下一根K线不见更新!

10楼
fff 发表于:2014/3/26 15:37:01


或者,在当根K线先手动令num和lossnum不为为0,到下根K线后再查会发现num和lossnum未重置为0。(BARP第一次被金字塔保存,但下一根K线不见更新!

共41 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5]


Powered By Dvbbs Version 8.3.0
Processed in 0.10547 s, 3 queries.