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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [讨论]如何直接显示最长回撤起止日期?

   

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


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

主题:[讨论]如何直接显示最长回撤起止日期?

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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
[讨论]如何直接显示最长回撤起止日期?  发帖心情 Post By:2020/1/5 15:48:03 [只看该作者]

我想在回测或者K线图形中直接显示最长回撤天数的起止日期,请问该如何写代码?

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


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

max_asset:HHVBARS(ASSET,BARPOS);
min_asset:llVBARS(ASSET,max_asset);
begin_DATE:=ref(DATE,MAX_ASSET);
end_date:=ref(DATE,min_ASSET);

起始:VALUEWHEN(begin_DATE<end_date, begin_DATE);
结束:VALUEWHEN(begin_DATE<end_date,end_date)



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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
  发帖心情 Post By:2020/1/6 8:32:22 [只看该作者]

这段代码正好实现了我可以直观查看最近策略回撤情况了。请问如何实现图中所示的A点到B点回撤结束新高出现这段时间的准确日期?
图片点击可在新窗口打开查看此主题相关图片如下:drawdown.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
  发帖心情 Post By:2020/1/6 8:33:39 [只看该作者]

这段回撤是K线图中时间段内回撤时间最长的一段,想知道如何显示这一段的起止日期。

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2020/1/6 9:24:53 [只看该作者]

您是要所有回测时段中回测天数最长一段,并求出该时段的起始和结束日期是吧

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


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

加上这句话

次起始:ref(DATE,MAX_ASSET+1);

 

 

 



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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
  发帖心情 Post By:2020/1/6 9:46:21 [只看该作者]

以下是引用banzhuan在2020/1/6 9:24:53的发言:
您是要所有回测时段中回测天数最长一段,并求出该时段的起始和结束日期是吧

是的。只要求出K线加载数据周期内这段时间回撤天数最长一段的起始和结束日期就行。当然,这一段回撤可能因为加载的K线数据周期而发生变化,因为不同数据周期回撤的天数肯定是不一样的。能显示出来,可以更方便直观分析。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/6 14:29:45 [只看该作者]

 在原先交易代码下加一段:

cd:ASSET=hhv(ASSET,0) and (TOTALTRADE<>0 or holding<>0);
DRAWICON(cd,l-20*MINDIFF,1);//高点位置做个标识
len1:BARSLAST(cd);//上次最新高点距离现在的跨度
len0:HHVBARS(len1,0);//最大跨度距离现在的位置


len0表示B距离现在的位置。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
alohamora
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
  发帖心情 Post By:2020/1/6 14:46:31 [只看该作者]

以下是引用FireScript在2020/1/6 14:29:45的发言:
 在原先交易代码下加一段:

cd:ASSET=hhv(ASSET,0) and (TOTALTRADE<>0 or holding<>0);
DRAWICON(cd,l-20*MINDIFF,1);//高点位置做个标识
len1:BARSLAST(cd);//上次最新高点距离现在的跨度
len0:HHVBARS(len1,0);//最大跨度距离现在的位置


len0表示B距离现在的位置。

抱歉,这个还是不对。高点显示的位置是对的,但是LEN0输出总是0.。我很想知道策略回测中的最长回撤天数是怎么计算的,那个应该是最佳算法。只是不知道如何写这段代码在图表中体现出来最长回撤天数。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/6 15:45:10 [只看该作者]

 0很正常。因为我取的是B点距离当前的位置,返回值是0表示当前位置一直是最新的B点。一直在之前最高点后的回撤过程中。你上面例图中B点之后产生了新高点,但是实际情况是可能一直在回撤中。
[此贴子已经被作者于2020/1/6 15:46:23编辑过]


命数如织,当如磐石。
 回到顶部