以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 求助:如何编写 30分钟内涨幅超过30点 且 持仓为零 时 开多仓 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=95723) |
||
-- 作者:amealll -- 发布时间:2016/4/1 1:54:22 -- 求助:如何编写 30分钟内涨幅超过30点 且 持仓为零 时 开多仓 10分钟内涨幅超过30点 且 持仓为零 时 开多仓 我写了一个 LL:=LLV(L,10); BUY(C-LL>30 and holding=0,1,THISCLOSE); 但是不行..不知道哪里有错呢? 谢谢。
|
||
-- 作者:amealll -- 发布时间:2016/4/1 1:57:11 -- 比如 现在价格为1000,过了6分钟后涨到了1030,(因为6分钟在10分钟内,)开多仓。 |
||
-- 作者:jinzhe -- 发布时间:2016/4/1 9:26:00 -- ll:l;
for i=1 to 10 do begin if c>ll[barpos-i]+30 then goto abc; end
abc@ buy(holding=0,1,marketr); |
||
-- 作者:amealll -- 发布时间:2016/4/1 11:41:31 -- 谢谢回答 请问能告诉我一下我写的问题在哪么...
|
||
-- 作者:jinzhe -- 发布时间:2016/4/1 13:21:15 -- 没表达出10分钟内涨10点的意思,表达的是比10分钟内最低价高30点,问题是:不是最低价也可以高30点,比如最低为5,次低为10,当前为100,那么次低的情况就被你的算式排除了 |
||
-- 作者:amealll -- 发布时间:2016/4/1 20:34:43 -- 如果再加一个要求 10分钟内涨幅超过30点 且 期间从最高点回落的幅度小于15 时开多仓 比如说: 如果10分钟内1000涨到1020,再从1020跌到1005,然后从1005涨到1030的话,此时不开仓,因为从1020跌到1005幅度不不小于15. 这样的话要怎么写呢? 麻烦您了...
[此贴子已经被作者于2016/4/1 20:35:08编辑过]
|
||
-- 作者:jinzhe -- 发布时间:2016/4/5 9:06:05 -- 10分钟内涨幅超过30点 且 期间从最高点回落的幅度小于15 时开多仓: if h>ref(c,10)+30 and ref(hhv(h,9),1)-ref(llv(l,9),1)>15 then buy(holding=0,1,marketr);
|
||
-- 作者:amealll -- 发布时间:2016/4/5 17:40:52 --
这样是不行的.. 比如有一组数据: 1分钟close 4分钟close 5分钟close 1000 1020 1030 按照我的要求是满足开仓条件的,但是实际上不会开仓。 因为 首先,h>ref(c,10)+30 只是当前 high 与 十分钟前的close 相比,而我需要的是 当前high与过去十分钟的每一分钟的close相比。 您在楼上的回答
另外, ref(hhv(h,9),1)会等于1020(因为开仓前的一根k线就是最高价)而不是我想要的前一高点 ref(llv(l,9),1)等于1000 1020-1000=20>15 所以不会开仓。 [此贴子已经被作者于2016/4/5 17:42:44编辑过]
|
||
-- 作者:amealll -- 发布时间:2016/4/5 17:57:54 -- 在python实现条件 期间从最高点回落的幅度小于15 的话,逻辑是这样的: 1 定义一个数量为10的组 2 申明变量wh=0和wl=0 3 high>wh时wh=high且wl=low 4 low<wl时wl=low 5 wh=wh-wl 6 判断wh在组内的十个数据里有没有出现过15以上的数据,如果没有的话再判断其他条件(10分钟内是否涨幅超过30点 和 持仓是否为0)。如果有出现15以上的数据的话此根k线就不会开仓。 7 在每一根k线都运行一遍这一过程 不知道金字塔里怎么写...
|
||
-- 作者:jinzhe -- 发布时间:2016/4/6 9:00:23 -- ll:l;
for i=1 to 10 do begin if c>ll[barpos-i]+30 then goto abc; end
abc@ if c<hhv(h,10)-15 then buy(holding=0,1,marketr); |