龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2018-12-3 10:54

开拓者求N天前的收盘价closD(N)原理,源码[开拓者公式]

[code]
//------------------------------------------------------------------------
// 简称: CloseD
// 名称: 求N天前的收盘价
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        Numeric daysAgo(2);
Vars
        NumericSeries barCnt;
        NumericSeries dayClose;
        Numeric i;
        Numeric j;
        Numeric nIndex(0);
        Numeric CBIndex;
Begin
        CBIndex = CurrentBar;
        If(CBIndex == 0 || Date != Date[1])
        {
                barCnt = 1;
        }Else
        {
                barCnt = barCnt + 1;
        }
        dayClose = Close;
               
        If(daysAgo == 0)
        {
                return dayClose;
        }Else
        {
                For i = 1 To daysAgo
                {
                        If( i == 1)
                        {      
                                j = 0;
                        }Else
                        {
                                j = j + BarCnt[j];                              
                        }
                        If (j > CBIndex )
                                Return InvalidNumeric;
                        nIndex = nIndex + BarCnt[j];
                }
                Return dayClose[nIndex];
        }
End

//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 版权所有        TradeBlazer Software 2003-2010
// 更改声明        TradeBlazer Software保留对TradeBlazer平
//                        台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
[/code]

[list][*][b]TB技术人员:[/b]
BarCnt记录的是从当天第一根K线到当前K线的K线数
所以回溯BarCnt就可得到前一天最后一K的收盘价,也就是CloseD(1)
当回溯天数大于1,比如2:[list=1][*]For i = 1 To daysAgo
[*]                {
[*]                        If( i == 1)
[*]                        {
[*]                                j = 0;
[*]                        }Else
[*]                        {
[*]                                j = j + BarCnt[j];
[*]                        }
[*]                        If (j > CBIndex )
[*]                                Return InvalidNumeric;
[*]                        nIndex = nIndex + BarCnt[j];[/list]复制代码i = 1时,j=0,nIndex = 0 + BarCnt[0] = BarCnt(cxh99.com),也就是回溯到前一天的最后一K;
i = 2,j = 0 + BarCnt[0] = BarCnt
nIndex = BarCnt+BarCnt[BarCnt]
也就是回溯到前一天的前一天的最后一K;

OK,以此类推。

[*][b]TB客服:[/b] 谢谢楼上,有一点懂了;
但是还有一点不明白,barCnt是NumericSeries,也就是序列,但是barCnt的每个元素并没有初始赋值呀,真是奇怪了。
比如:nIndex = BarCnt+BarCnt[BarCnt];
BarCnt[BarCnt]没有初始赋值,就使用,不会出错吗?
[*][b]网友回复:[/b] 比如以下代码:
Begin
        CBIndex = CurrentBar;
        If(CBIndex == 0 || Date != Date[1])
        {
                barCnt = 1;
        }Else
        {
                barCnt = barCnt + 1;
        }//www.cxh99.com

如果第一次执行Else里面的代码,barCnt = barCnt + 1;而barCnt没有初始值,不会出错吗?
[*][b]网友回复:[/b] 程序是从图上第一根K线开始执行的

此时CBIndex == 0成立,barCnt = 1,没有问题[/list]

页: [1]
渠道·推广(20年运营值得信赖!)▼:温馨提示:期货论坛稳定、流畅的访问体验有赖于赞助商的广告支持,赞助商业务内容非本站官方业务,期货、证券及外汇投资均有亏损的风险,访问赞助商广告即代表您已了解其中的风险。欢迎意向赞助商联系客服或管理员咨询相关事宜。
                     
❤️2025年通过期货论坛开户享受如下优惠政策:政策一:手续费最低交易所+1分起,政策二:日内炒单及大资金享更高比率返还,政策三:保证金可申请交易所标准+0,政策四:开户即享有论坛Prime会员资格(价值199元/年),开户咨询管理员或右侧客服! 😋欧美期货杂志购买、下载与中文翻译:/thread-10603-1-1.html |TB/MC开户优惠政策:/thread-5986-1-1.html2025年最新交易所手续费表:/thread-7537-1-1.htmlSC2.png2025年最新中文翻译:/thread-160355-1-1.html;
欧美期货程序化期刊中文翻译目录: 【1982/83.01-12期】 【1984.01-12期】 【1985.01-12期】 【1986.01-12期】 【1987.01-12期】 【1988.01-12期】 【1989.01-12期】 【1990.01-12期】 【1991.01-12期】 【1992.01-12期】 【1993.01-12期】 【1994.01-12期】 【1995.01-12期】 【1996.01-12期】 【1997.01-12期】 【1998.01-12期】 【1999.01-12期】 【2000.01-12期】 【2001.01-12期】 【2002.01-12期】 【2003.01-12期】 【2004.01-12期】 【2005.01-12期】 【2006.01-12期】 【2007.01-12期】 【2008.01-12期】 【2009.01-12期】 【2010.01-12期】 【2011.01-12期】 【2012.01-12期】 【2013.01-12期】 【2014.01-12期】正在更新中...... 【2015.01-12期】待补 【2016.01-12期】待补 【2017.01-12期】正在更新中...... 【2018.01-12期】 【2019.01-12期】 【2020.01-12期】 【2021.01-12期】 【2022.01-12期】 【2023.01-12期】 【2024.01-12期】 【2025.01-12期】正在更新中......
欧美杂志精华: 欧美杂志2025年最新中文翻译 量化交易 技术分析 心理研究 套利/统计 波浪理论 江恩理论 道氏理论 策略开发 动量交易 量化建模 神经网络 资金管理 行为金融 图表/形态 蜡烛/K线 Van K. Tharp Wyckoff 名人采访 投机新手 量化问答(Q&A) 外汇货币 交易池(Pool) TS/MC量化 点数(P&F)图 [基金/ETF] [加密货币] [Algo(Q&A)] [人工智能(AI)] 真实世界 期货世界 《Futures Truth》 《Futures&Options》