考虑mt,tb不除外mt at什么意思思

您现在的位置:>>
>>正文内容
福利 跨周期的傻瓜式解决方案 [开拓者 TB]
咨询内容:
& && && &TB的跨周期调用,论坛以前已经有一些解决方案。但对很多人来说不够方便 ,本方案主要参考了追涨杀跌的一些基础函数,兼顾了使用方便、运算性能速度、精确,在具体的算法上如 均线ma 标准差std 等不用因为数据源的变化而重新编写算法函数。
& && &&&比如close 的ma&&myValue 的ma 都可以用一个 iMA函数解决。iMA的形式之所以不用&&iMA(iPrice 数据源,TimeFrame 时间周期,Length 算法参数) 而是选择&&iMA((iPrice 数据源,mtBarCnt ,Length1);是为了运算速度,否则如果一个策略多次用到跨周期的算法 函数内部会多次重复计算mtBarCnt值 ,&&会影响运算速度。
TB技术人员:
此函数是追涨杀跌的MtBar 函数 为了和后面函数包的美观 修改了函数名//------------------------------------------------------------------------// 简称: iBar// 名称: // 类别: 用户函数// 类型: 用户函数// 输出: 数值型//------------------------------------------------------------------------Params & && &&&Numeric TimeFrame(1440);& & & && &&&// 目标时间周期:月线=40320,周线=10080,日线=1440,4小时线=240& && &&&// 其他1小时内的周期等于相应的分钟数,如:1小时=60, 30分钟=30。。。& && &&&// 支持不规则分钟数,如3分钟,8分钟,之类都行& && &&&& && &&&Numeric BarsBack(1); & && &&&// 目标时间周期BAR偏移:& && &&&// 1--表示将目标时间周期下的前1根K线数据作为与当前Bar对应的目标时间周期下的K线数据& && &&&// 0--表示将目标时间周期下的截止到目前为止的数据转换为与当前BAR对应的目标时间周期下K线数据& && &&&& && &&&NumericRef oCurB& && && && && &&&// 目标时间周期下的Bar索引& && &&&NumericRef oOPenHT;& && && &// 目标时间周期下的开盘价& && &&&NumericRef oHighHT;& && && &// 目标时间周期下的最高价& && &&&NumericRef oLowHT;& && && & // 目标时间周期下的最低价& && &&&NumericRef oCloseHT;& && &&&// 目标时间周期下的收盘价& && &&&NumericRef oVolHT;& && && & // 目标时间周期下的成交量& && &&&NumericRef oOpenIntHT;& && &// 目标时间周期下的持仓量Vars& && &&&NumericSeries barC& && &&&NumericSeries CurB& && &&&NumericSeries barCntS & && &&&NumericSeries OpenHT;& && &&&NumericSeries HighHT;& && &&&NumericSeries LowHT;& && &&&NumericSeries CloseHT;& && &&&NumericSeries VolHT;& && &&&NumericSeries OpenIntHT;& && &&&Numeric CurT& && &&&Numeric PreT& && &&&bool condition(false);& && &&&NBegin& && &&&If (TimeFrame == 40320)& && && && && &&&// 月线& && &&&{& && && && && & CurTime = M& && && && && & PreTime = Month[1];& && &&&}& && &&&Else If (TimeFrame == 10080)& && && && && && && && &// 周线& && &&&{& && && && && & CurTime = IntPart(DateDiff(,Date)/7);& && && && && & PreTime = IntPart(DateDiff(,Date[1])/7);& && &&&}& && &&&Else& && && && && && && && && && && && && && && && && && && && && && && && &// 其他时间周期& && &&&{& && && && && & CurTime = IntPart((DateDiff(,date)*1440 + Hour*60 + Minute)/TimeFrame);& && && && && & PreTime = IntPart((DateDiff(,date[1])*1440 + Hour[1]*60 + Minute[1])/TimeFrame);& && &&&} & && &&&condition = CurTime != PreT& && &&&If (CurrentBar==0)& && && && && & // 如果是第一根Bar, CurBar=0& && &&&{& && && && && & barCnt = 0;& && && && && & CurBar = 0;& && && && && & OpenHT = O& && && && && & HighHT = H& && && && && & LowHT = L& && && && && & CloseHT = C& && && && && & VolHT = V& && && && && & OpenIntHT = OpenI& && &&&}& && &&&Else& && &&&{& && && && && & If(Condition)& && && && && & & && && && && & // 如果在目标周期下,属于另一根K线,则CurBar加1& && && && && & {& && && && && && && && &barCnt = 1;& && && && && && && && &CurBar = CurBar[1] + 1;& && && && && && && && &OpenHT = O& && && && && && && && &HighHT = H& && && && && && && && &LowHT = L& && && && && && && && &VolHT = V& && && && && & }Else& && && && && & // 如果在目标周期下,属于同一根K线,则CurBar不变,但最高价和最低价要记录价格的变化,成交量要累加& && && && && & {& && && && && && && && &barCnt = barCnt[1] + 1;& && && && && && && && &CurBar = CurBar[1];& && && && && && && && &OpenHT = OpenHT[1];& && && && && && && && &HighHT = Max(HighHT[1],High);& && && && && && && && &LowHT = Min(LowHT[1],Low);& && && && && && && && &VolHT = VolHT[1] + V& && && && && & }& && && && && & // 收盘价和持仓量总是取最新值& && && && && & CloseHT = C& && && && && & OpenIntHT = OpenI& && &&&}& && &&&& && &&&// 上面的程序,在每根小周期的K线上,记录了它所属的大时间周期下的开高低收等值的变化。& && &&&// 接下来,要把在大的时间周期级别上,属于同一根K线的开高低收这些数据,记录在这一组小周期K线的最后一根上。& && &&&barCntSum = barC& && &&&If(BarsBack == 0)& && &&&// 如果Bar偏移参数为0,则取每根小周期K线上保留的大时间周期截止到这根小周期K线为止的BAR数据& && &&&{& && && && && & barCntSum = 0 ;& && &&&}Else If(BarsBack == 1)& && &&&// 如果Bar偏移参数为1,则取大时间周期的上一根K线的BAr数据& && &&&{& && && && && & barCntSum = barC& && &&&}Else& && &&&// 如果BAR偏移参数为其他,则取大时间周期的指定偏移后的那根K线的BAR数据& && &&&{& && && && && & For i = 2 To BarsBack& && && && && & {& && && && && && && && &barCntSum = barCntSum + barCnt[barCntSum];& && && && && & }& && &&&}& && &&&// 最后将相应的K线数据作为引用参数返回& && &&&oCurBar = CurB& && &&&oOpenHT = OpenHT[barCntSum];& && &&&oHighHT = HighHT[barCntSum];& && &&&oLowHT = LowHT[barCntSum];& && &&&oCloseHT = CloseHT[barCntSum];& && &&&oVolHT = VolHT[barCntSum];& && &&&oOpenIntHT = OpenIntHT[barCntSum];& && &&&Return barCEnd复制代码
iBar 参数太多 调用声明参数太麻烦 以下为简便写法//------------------------------------------------------------------------// 简称: inBar// 名称: 读书山林// 类别: 用户函数// 类型: 用户函数// 输出: 数值型//------------------------------------------------------------------------Params& && &&&Numeric TimeFrame(1440);& && &&&// 目标时间周期参数,参数说明参见MtBar& && &&&Numeric BarsBack(1);& && && && && & // 目标时间周期BAR偏移参数,说明见MtBar函数Vars& && &&&NumericSeries mtBarC& && &&&Numeric refCurB& && &&&Numeric refO& && &&&Numeric refH& && &&&Numeric refL& && &&&Numeric refC& && &&&Numeric refV& && &&&Numeric refOpenI& && &&&& && &&&Numeric SumValue(0);& && &&&N& && &&&Numeric j(0);Begin& && &&&mtBarCnt=iBar(TimeFrame,BarsBack,refCurBar,refOpen,refHigh,refLow,refClose,refVol,refOpenInt);& && &&&Return mtBarCEnd复制代码
网友回复:
本帖最后由 读书山林 于
02:19 编辑
跨周期求和函数//------------------------------------------------------------------------// 简称: iSum// 名称: 跨周期求和函数 读书山林// 类别: 用户函数// 类型: 用户函数// 输出: 数值型//------------------------------------------------------------------------Params& && &&&NumericSeries iPrice(1);& && &&&NumericSeries BarCnt(0);& && &&&Numeric Length(10);Vars& && &&&NumericSeries SumValue(0);& && &&&N& && &&&Numeric j(0);Begin& && & If(Length==0)& && & {& && && && &Return iP& && && &&&& && & }Else& && & {& && && && &j=0;& && && && &SumValue = 0;& && && && &For i = 1 to Length& && && && &{& && && && && & If (iPrice[j] && InvalidNumeric)& && && && && & {& && && && && && && && &SumValue = SumValue + iPrice[j];& && && && && && && && &j = j + BarCnt[j];& && && && && & }& && && && && & else B& && && && &}& && & }& && &&&Return SumVEnd复制代码
网友回复:
本帖最后由 读书山林 于
00:28 编辑
//------------------------------------------------------------------------// 简称: iMA// 名称: 跨周期求均值 读书山林// 类别: 用户函数// 类型: 用户函数// 输出: 数值型//------------------------------------------------------------------------Params & && &&&NumericSeries iPrice(1); //数据源必须为跨周期的值 否则不能返回正确值& && &&&NumericSeries mtBarCnt(1) ;&&& && &&&Numeric Length(10);& && && && && && && && && & Vars & && &&&Numeric SumValue(0);& && &&&N& && &&&Numeric oMA;& && &Begin & && &&&SumValue = iSum(iPrice,mtBarCnt,Length);& && &&&oMA = SumValue/L& && &&&Return oMA;End复制代码iMA&&可求任意数据源
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ:
&进行 有偿 编写!
【字体: 】【】【】
没有相关内容
&本月热门排行
&用户常看内容
会员登录/注册百度拇指医生
&&&普通咨询
您的网络环境存在异常,
请输入验证码
验证码输入错误,请重新输入【图文】国际汇入汇款_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
国际汇入汇款
大小:4.49MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢}

我要回帖

更多关于 淘宝tb号是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信