以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=173756)

--  作者:跟庄买进
--  发布时间:2019/12/28 21:15:23
--  请老师帮忙编写公式
如果开盘价<=昨日收盘价,从9点30分开始判断涨幅,如果开盘价>昨日收盘价从9点31分开始判断涨幅。
--  作者:跟庄买进
--  发布时间:2019/12/29 11:07:39
--  
研究一晚上,会了老师,删除吧帖子。。。
--  作者:跟庄买进
--  发布时间:2019/12/29 11:53:48
--  
写得输出不对,还得麻烦老师帮下忙。。。图片点击可在新窗口打开查看
--  作者:跟庄买进
--  发布时间:2019/12/29 14:02:18
--  
我的意思是9点31分开始判断区间涨幅,不是判断日K线涨幅比如10分钟的涨幅,我写了if(time>093100 and time<300000,((C-REF(C,10))/REF(C,10))*100>1,0);和
time>093100 and time<300000 and ((C-REF(C,10))/REF(C,10))*100>1;和
OPENMINUTES(TIME)>1 and ((C-REF(C,10))/REF(C,10))*100>1,输出都不对。

--  作者:yukizzc
--  发布时间:2019/12/29 22:45:46
--  
如果开盘价<=昨日收盘价,从9点30分开始判断涨幅,如果开盘价>昨日收盘价从9点31分开始判断涨幅。

 

if valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;

if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;

 

你这个涨幅是最新价和昨天收盘比较,还是0930以来的最高价和昨天收盘比较


--  作者:跟庄买进
--  发布时间:2019/12/30 12:22:58
--  


1、老师这两个条件意思是不是这样?我理解的是if valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;如果开盘价小于等昨天收盘价,则从9点31的前值算起?

if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;如果开盘价大于昨日收盘价则从9点31分的前值算起,输出为否定的?不知道这么理解对不对,那从9点31分开始的怎么计算?

2、(1)我用在1分钟周期里,我的意思是如果开盘大于昨日收盘价,从9点31分开始判断10分钟的区间涨幅为多少,也就是从9点31分开始到9点41分的区间涨幅。

       (2)如果开盘价小于等于昨日收盘价从9点30分开始判断区间涨幅,也就是从9点30分到9点40分的区间涨幅。



--  作者:跟庄买进
--  发布时间:2019/12/30 12:26:18
--  
再说的明白一点,因为股票有集合竞价,从9点30分开始判断,已经包含了集合竞价的涨幅,我的目的是要排除集合竞价的涨幅,也就是从9点31分开始算起,高开的排除在外。
--  作者:yukizzc
--  发布时间:2019/12/30 13:32:48
--  
cond就是用来判断是否大于昨收的一个条件
如果是1就表示小于昨收
vairable:ss=0;

f valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;

if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;


if todaybar=1 then ss:=0;
if cond=1 and time = 0941 then ss:=(c-ref(c,10))/ref(c,10);
if cond=0 and time = 0942 then ss:=(c-ref(c,10))/ref(c,10);
ans:ss;

--  作者:FireScript
--  发布时间:2019/12/30 14:00:55
--  
 1.是的。5楼的代码就是你理解的那个意思。五楼那个就是处理了下对“开盘价<=昨日收盘价”的判断。
 2.

这样试下呢。
if valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;
if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;


c1:=VALUEWHEN(TODAYBAR=1,c);
c2:=VALUEWHEN(TODAYBAR=2,c);
temp1:=if(cond,(c-c1)/c1,(c-c2)/c2);

result:if(cond,VALUEWHEN(time=94000,temp1),VALUEWHEN(time=94100,temp1));

--  作者:跟庄买进
--  发布时间:2019/12/30 16:40:57
--  
可能是我没表述清楚,老师的意思是整体作为条件判断。
比如如果开盘大于昨天收盘价从9点31分开始计算至3点收盘10分钟之内的涨幅大于2的作为输出结果。也就是9点30分至9点31分这1分钟不计算这1分钟,排除在外。
如果开盘小于或者等于昨天收盘价,从9点30分开始计算至3点收盘,10分种之内出现过涨幅大于2的作为输出结果。
因为因为如果只写((C-REF(C,10))/REF(C,10))*100>2集合竞价高开的2%,后面没涨也计算在内了。我要的输出结果是实际10分钟之内有过涨幅大于2的输出。