设为首页收藏本站

 找回密码
 注册
楼主: 读书山林
打印 上一主题 下一主题

福利 跨周期的傻瓜式解决方案 [复制链接]

Rank: 1

精华
0
UID
252132
积分
11
帖子
10
主题
1
阅读权限
10
注册时间
2017-6-6
最后登录
2020-12-24
51#
发表于 2017-7-17 09:34:25 |只看该作者
山林大神你好,请问一下你的解决方案是否解决了夜盘归属到第二天日K线的问题?如果没解决的话,应该从什么思路去解决呢?

使用道具 举报

Rank: 1

精华
0
UID
256802
积分
30
帖子
26
主题
4
阅读权限
10
注册时间
2017-9-18
最后登录
2017-12-7
52#
发表于 2017-11-4 21:08:23 |只看该作者
比如我的策略运行在1小时K线周期里面,但是我想调用日线周期里面的5日、10日、20日均线,代码怎么写

使用道具 举报

Rank: 1

精华
0
UID
256802
积分
30
帖子
26
主题
4
阅读权限
10
注册时间
2017-9-18
最后登录
2017-12-7
53#
发表于 2017-11-4 21:08:55 |只看该作者
比如我的策略运行在1小时K线周期里面,但是我想调用日线周期里面的5日、10日、20日均线,代码怎么写

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
30159
积分
1116
帖子
280
主题
23
阅读权限
60
注册时间
2011-3-23
最后登录
2019-3-21
54#
发表于 2017-11-24 11:28:30 |只看该作者
coolyks 发表于 2017-7-17 09:34
山林大神你好,请问一下你的解决方案是否解决了夜盘归属到第二天日K线的问题?如果没解决的话,应该从什么 ...
  1. //------------------------------------------------------------------------
  2. // 简称: iBar
  3. // 名称:
  4. // 类别: 用户函数
  5. // 类型: 用户函数
  6. // 输出: 数值型
  7. //------------------------------------------------------------------------

  8. Params
  9.         Numeric TimeFrame(1440);   
  10.         // 目标时间周期:月线=40320,周线=10080,日线=1440,4小时线=240
  11.         // 其他1小时内的周期等于相应的分钟数,如:1小时=60, 30分钟=30。。。
  12.         // 支持不规则分钟数,如3分钟,8分钟,之类都行
  13.         
  14.         Numeric BarsBack(1);
  15.         // 目标时间周期BAR偏移:
  16.         // 1--表示将目标时间周期下的前1根K线数据作为与当前Bar对应的目标时间周期下的K线数据
  17.         // 0--表示将目标时间周期下的截止到目前为止的数据转换为与当前BAR对应的目标时间周期下K线数据
  18.         
  19.         NumericRef oCurBar;                 // 目标时间周期下的Bar索引
  20.         NumericRef oOPenHT;         // 目标时间周期下的开盘价
  21.         NumericRef oHighHT;         // 目标时间周期下的最高价
  22.         NumericRef oLowHT;          // 目标时间周期下的最低价
  23.         NumericRef oCloseHT;        // 目标时间周期下的收盘价
  24.         NumericRef oVolHT;          // 目标时间周期下的成交量
  25.         NumericRef oOpenIntHT;      // 目标时间周期下的持仓量

  26. Vars
  27.         NumericSeries barCnt;
  28.         NumericSeries CurBar;
  29.         NumericSeries barCntSum;
  30.         NumericSeries OpenHT;
  31.         NumericSeries HighHT;
  32.         NumericSeries LowHT;
  33.         NumericSeries CloseHT;
  34.         NumericSeries VolHT;
  35.         NumericSeries OpenIntHT;
  36.         Numeric CurTime;
  37.         Numeric PreTime;
  38.         bool condition(false);
  39.         Numeric i;
  40. Begin
  41.         If (TimeFrame == 40320)                 // 月线
  42.         {
  43.                 CurTime = Month;
  44.                 PreTime = Month[1];
  45.         }
  46.         Else If (TimeFrame == 10080)                        // 周线
  47.         {
  48.                 CurTime = IntPart(DateDiff(19700105,Date)/7);
  49.                 PreTime = IntPart(DateDiff(19700105,Date[1])/7);
  50.         }
  51.         Else                                                                        // 其他时间周期
  52.         {
  53.                 CurTime = IntPart((DateDiff(19700105,TrueDate(0))*1440 + Hour*60 + Minute)/TimeFrame);
  54.                 PreTime = IntPart((DateDiff(19700105,TrueDate(1))*1440 + Hour[1]*60 + Minute[1])/TimeFrame);
  55.         }
  56.         condition = CurTime != PreTime;

  57.         If (CurrentBar==0)                // 如果是第一根Bar, CurBar=0
  58.         {
  59.                 barCnt = 0;
  60.                 CurBar = 0;
  61.                 OpenHT = Open;
  62.                 HighHT = High;
  63.                 LowHT = Low;
  64.                 CloseHT = Close;
  65.                 VolHT = Vol;
  66.                 OpenIntHT = OpenInt;
  67.         }
  68.         Else
  69.         {
  70.                 If(Condition)               
  71.                 // 如果在目标周期下,属于另一根K线,则CurBar加1
  72.                 {
  73.                         barCnt = 1;
  74.                         CurBar = CurBar[1] + 1;
  75.                         OpenHT = Open;
  76.                         HighHT = High;
  77.                         LowHT = Low;
  78.                         VolHT = Vol;
  79.                 }Else
  80.                 // 如果在目标周期下,属于同一根K线,则CurBar不变,但最高价和最低价要记录价格的变化,成交量要累加
  81.                 {
  82.                         barCnt = barCnt[1] + 1;
  83.                         CurBar = CurBar[1];
  84.                         OpenHT = OpenHT[1];
  85.                         HighHT = Max(HighHT[1],High);
  86.                         LowHT = Min(LowHT[1],Low);
  87.                         VolHT = VolHT[1] + Vol;
  88.                 }
  89.                 // 收盘价和持仓量总是取最新值
  90.                 CloseHT = Close;
  91.                 OpenIntHT = OpenInt;
  92.         }
  93.         
  94.         // 上面的程序,在每根小周期的K线上,记录了它所属的大时间周期下的开高低收等值的变化。
  95.         // 接下来,要把在大的时间周期级别上,属于同一根K线的开高低收这些数据,记录在这一组小周期K线的最后一根上。
  96.         barCntSum = barCnt ;
  97.         If(BarsBack == 0)
  98.         // 如果Bar偏移参数为0,则取每根小周期K线上保留的大时间周期截止到这根小周期K线为止的BAR数据
  99.         {
  100.                 barCntSum = 0 ;
  101.         }Else If(BarsBack == 1)
  102.         // 如果Bar偏移参数为1,则取大时间周期的上一根K线的BAr数据
  103.         {
  104.                 barCntSum = barCnt ;
  105.         }Else
  106.         // 如果BAR偏移参数为其他,则取大时间周期的指定偏移后的那根K线的BAR数据
  107.         {
  108.                 For i = 2 To BarsBack
  109.                 {
  110.                         barCntSum = barCntSum + barCnt[barCntSum];
  111.                 }
  112.         }

  113.         // 最后将相应的K线数据作为引用参数返回
  114.         oCurBar = CurBar;
  115.         oOpenHT = OpenHT[barCntSum];
  116.         oHighHT = HighHT[barCntSum];
  117.         oLowHT = LowHT[barCntSum];
  118.         oCloseHT = CloseHT[barCntSum];
  119.         oVolHT = VolHT[barCntSum];
  120.         oOpenIntHT = OpenIntHT[barCntSum];
  121.         Return barCnt;
  122. End
复制代码
把基础函数更新下就好
把Date函数替换为TrueDate 其他函数不变

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
30159
积分
1116
帖子
280
主题
23
阅读权限
60
注册时间
2011-3-23
最后登录
2019-3-21
55#
发表于 2017-11-24 11:37:09 |只看该作者
本帖最后由 读书山林 于 2018-3-5 09:49 编辑

......

使用道具 举报

Rank: 1

精华
0
UID
255119
积分
7
帖子
5
主题
2
阅读权限
10
注册时间
2017-8-7
最后登录
2019-10-11
56#
发表于 2017-12-16 08:34:25 |只看该作者
谢谢读书山林。
不过群还是加不上。

使用道具 举报

Rank: 1

精华
0
UID
267464
积分
5
帖子
4
主题
1
阅读权限
10
注册时间
2018-7-12
最后登录
2018-10-15
57#
发表于 2018-7-31 11:38:53 |只看该作者
读书山林 发表于 2015-5-8 23:52
白线就是Mean  自定义的数据源的跨周期值

山林老师,为什么小周期上(比如1分钟)显示的大周期均线数值和目标周期(比如日线图)数值不一样?

使用道具 举报

Rank: 1

精华
0
UID
269926
积分
3
帖子
2
主题
1
阅读权限
10
注册时间
2018-9-11
最后登录
2019-5-18
58#
发表于 2019-5-18 00:40:14 来自手机 |只看该作者
看不到啊

使用道具 举报

Rank: 1

精华
0
UID
157785
积分
6
帖子
4
主题
2
阅读权限
10
注册时间
2011-1-1
最后登录
2021-4-16
59#
发表于 2021-1-17 17:13:35 |只看该作者
请问ihhv如何调用,谢谢

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-25 03:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部