以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]请大师写个语句 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=175864) |
-- 作者:abcing -- 发布时间:2020/5/6 9:28:42 -- [求助]请大师写个语句 趋势打分机制: 1,如果当前K线的收盘价大于之前回溯周期内的某一根K线的收盘价时,记+1分,否则记-1分, 加总这些分数以获得当前K线的得分; 2,计算K线得分的均线; 3,若当前K线的收盘得分高于得分均线,则次日开盘时 开多或平空;反之,则开空或平多。 例如, input:回溯周期(15,10,20,2); 如果当前k线收盘价大于 ref(close,1)、ref(close,2)……ref(close,回溯周期)这些数中任何一个则记+1分; 小于其中任何一个数记-1分;与其中数字相等的则不加不减。 加总这些得分,即是当前K线的趋势得分 |
-- 作者:FireScript -- 发布时间:2020/5/6 9:45:44 -- “ 如果当前k线收盘价大于 ref(close,1)、ref(close,2)……ref(close,回溯周期)这些数中任何一个则记+1分; 小于其中任何一个数记-1分” 很明显回溯周期内,是很可能找到同时满足+1 和-1条件的2个K的。只要当前K不是最大或者最小值即可。
|
-- 作者:abcing -- 发布时间:2020/5/6 9:57:50 -- 不是, 例如, 回溯周期为5, 当前收盘价为close=10,回溯期里的5个收盘价为:7,8,6,5,11 则, 10<11,记-1分; 10>5,记+1分; 10>6,记+1分; 10>8,记+1; 10>7,记+1; 当前K线得分为:(-1)+(+1)+(+1)+(+1)+(+1)=3
|
-- 作者:abcing -- 发布时间:2020/5/6 10:00:53 -- 应该是定义个全局变量,写个循环语句就行了, 但是for循环里提示不能出现ref函数,不知道怎么办
|
-- 作者:FireScript -- 发布时间:2020/5/6 10:29:33 -- 肯定不能用循环和ref处理,会卡死 这种用HOD( , ) 函数吧。根据排序位置来处理。也就是获取当前C在N+1周期内的排名。 但是无法处理C相等的情况。
|
-- 作者:abcing -- 发布时间:2020/5/6 10:35:25 -- 是的,排序无法处理相等收盘价,有没有解决办法? 谢谢
|
-- 作者:wenarm -- 发布时间:2020/5/6 10:45:21 -- 没办法。 |
-- 作者:FireScript -- 发布时间:2020/5/6 11:05:22 -- 这个目前没有太好的办法了。 |
-- 作者:abcing -- 发布时间:2020/5/6 11:14:28 -- 好的,谢谢 |