欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 在进行回测的时候,如何才能知道当前K线是否是最后一根K线

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2901人关注过本帖树形打印复制链接

主题:在进行回测的时候,如何才能知道当前K线是否是最后一根K线

帅哥哟,离线,有人找我吗?
microsoft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
在进行回测的时候,如何才能知道当前K线是否是最后一根K线  发帖心情 Post By:2016/10/12 18:01:43 [只看该作者]

RT,逐K线模式


 回到顶部
帅哥哟,离线,有人找我吗?
microsoft
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
  发帖心情 Post By:2016/10/12 18:42:25 [只看该作者]

是回测的最后一根K线


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/10/12 19:08:38 [只看该作者]

barpos 就是回测时你的K线序列


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
microsoft
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
  发帖心情 Post By:2016/10/12 19:11:07 [只看该作者]

我是想在回测的最后一根K线输出一些数据,但是回测结束的时间不是当前日期


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/10/12 19:12:14 [只看该作者]

ISLASTBAR函数


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
microsoft
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
  发帖心情 Post By:2016/10/13 17:40:23 [只看该作者]

在回测的时候不起作用呢,例如测试的结束日期是20160331

是不是测试的时候最后一根K线和设置的结束日期无关,固定为当前的最新的K线?


 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2016/10/14 9:49:08 [只看该作者]

对弈回测,计算到当时的k线,这个k在当时就是最后一根,

至于你想在回测中确定是否是自己回测最后的一个。只能通过代码比较日期进行处理。

但是这就本末倒置的,策略编写调试的整个过程是回测----模拟---实盘。

回测主要是针对策略对历史上数据进行一个系统的分析统计。

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
microsoft
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
  发帖心情 Post By:2016/10/14 10:58:37 [只看该作者]

在回测的时候,ISLASTBAR并不起作用,至回测结束也没有为1,不能调用outputCw和msgout(1,'finish')

我的版本是3.92 x64

 

pel代码

逐K模式

 

if ISLASTBAR then
//if pbdate = date and time >= CCLOSETIME then
begin
  tmp4:=outputCw(-1,year,month,year,month,asset,maxAsset,minAsset,huiche,huicheBl,maxHuiChe,maxHuicheBl);

  msgout(1,'finish');
end

 

vba代码

'历史回测时,输出具体每个月的数据
function outputCw(Formula,initial,yearP1,monthP1,yearP2,monthP2,asset,maxAsset,minAsset,huiche,huicheBl,maxHuiChe,maxHuicheBl)
    if initial =1 then
       pbCwArray.RemoveAll()
    end if
   
    if initial =0 then
       pbCwArray.AddBack(asset)
    end if
   
    dim outputStr
    outputStr = ""
    if initial < 0 then
       'if abs(initial) = Formula.DataSize then'最后一根K线
       pbCwArray.AddBack(asset)
       application.MsgOut("enter")
       outputStr = formulaParam
       arrLen = pbCwArray.Count
       yyl = 0
       for n = 1 to arrLen -1 step 1
          yyl = pbCwArray.GetAt(n) - pbCwArray.GetAt(n-1)
          outputStr = outputStr & "," & cstr(yyl)
       next
      
       document.DebugFile "C:\\" & formula.name  &  ".Txt",outputStr,0
       'outputStr = formulaParam & "," &
       'end if
    end if
   
end function


 回到顶部