以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  模型编写问题2  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=57319)

--  作者:gavinwon
--  发布时间:2013/10/9 11:10:29
--  模型编写问题2

下面是一个布林线上下轨的画线:上、下轨上升红色,下降蓝色。

PARTLINE(LOWER3>REF(LOWER3,1),LOWER3),COLOR0000FF,LINETHICK2;
PARTLINE(UPPER3<REF(UPPER3,1),UPPER3),COLOR40FF00,LINETHICK2;

PARTLINE(LOWER3<REF(LOWER3,1),LOWER3),COLOR40FF00,LINETHICK2;
PARTLINE(UPPER3>REF(UPPER3,1),UPPER3),COLOR0000FF,LINETHICK2;

 

问题:

1)取值问题:上轨下降时正常取值,当上轨上升时取上升前一个值(即最后一个下降的值),直到上轨再次下降,怎样取值?

2)画线:同取值一样,上轨下降时正常画线,当上轨上升时取上升前一个值画线(即最后一个下降的值),直到上轨再次下降,怎样画线?

3)突破开仓的设定,按照上述画线,某根K线收于布林线上轨之上后,其后价格达到这根K线的最大值加N(即H+N,N为变量),开多仓,如何设定?


 

 


--  作者:jinzhe
--  发布时间:2013/10/9 11:18:49
--  

1.上轨上升是不是只需要判断一个周期上升就行了?

2、第一个问题没处理,这个还没考虑

3.k线收于BOLL上轨,指的是K线最低价比上轨高?还是收盘价?


--  作者:gavinwon
--  发布时间:2013/10/9 11:29:47
--  
是的,只需考虑上一个周期
--  作者:gavinwon
--  发布时间:2013/10/9 13:34:48
--  
以下是引用jinzhe在2013/10/9 11:18:49的发言:

1.上轨上升是不是只需要判断一个周期上升就行了?

2、第一个问题没处理,这个还没考虑

3.k线收于BOLL上轨,指的是K线最低价比上轨高?还是收盘价?

3、指的是收盘价
--  作者:jinzhe
--  发布时间:2013/10/9 16:32:35
--  
{下面是一个布林线上下轨的画线:上、下轨上升红色,下降蓝色。}
m:=26;
n:=2;
MID :=  MA(CLOSE,M);
UPPER3:= MID + N*STD(CLOSE,M);
LOWER3:= MID - N*STD(CLOSE,M);
//PARTLINE(LOWER3>REF(LOWER3,1),LOWER3),COLOR0000FF,LINETHICK2;
//PARTLINE(UPPER3<REF(UPPER3,1),UPPER3),COLOR40FF00,LINETHICK2;
//PARTLINE(LOWER3<REF(LOWER3,1),LOWER3),COLOR40FF00,LINETHICK2;
//PARTLINE(UPPER3>REF(UPPER3,1),UPPER3),COLOR0000FF,LINETHICK2;
variable:upr=upper3;
variable:lwr=lower3;
if barpos>1 and upper3<ref(upper3,1) then upr:=upper3;
uu:upr;
variable:biaoji=0;
if close>upper3 then biaoji:=1;
if close<=upper3 then biaoji:=0;
nn:=barslast(close>upper3)+1;
if biaoji=1 and h>ref(h,nn)+n then buy(holding=0,1,market);

--  作者:gavinwon
--  发布时间:2013/10/10 10:52:23
--  

谢谢,问题1、2都解决了,就是第三个问题,好像只是实现了下一周期开盘价开仓,没有实现达到指定的值开仓。有点象闪电手中条件单的功能一样,(即 现价》=指定价 时,按指定价挂单)怎样实现?


--  作者:jinzhe
--  发布时间:2013/10/10 11:02:44
--  

if biaoji=1 and h>ref(h,nn)+n then buy(holding=0,1,market);

把这句改成

if ref(biaoji,1) and ref(h,1)>ref(h,nn+1)+n then buy(holding=0,1,limitr,ref(h,nn+1)+n);