以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  这样对吗,怎么还是执行交易?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=6327)

--  作者:manbutianya
--  发布时间:2011/4/27 8:30:53
--  这样对吗,怎么还是执行交易?
 //日线及其以下周期.

 N:=barslast(date<>ref(date,1))+1;
 preDayHigh:ref(hhv(h,N),N),linethickDATE0; //昨日最高价
 preDayLOW:ref(LLv(L,N),N),linethick0;  //昨日最低价
 
 preDayclose:ref(c,N),linethickDATE0; //昨日收盘价
 preDayopen:ref(o,N),linethick0;  //昨日开盘价
 jinDayopen:="open#day";  //今日开盘价
 
if  preDayclose>preDayopen then
    昨日开收价差1:=(preDayclose-preDayopen)/preDayopen;
    IF 昨日开收价差1>0.02 and jinDayopen<preDayclose and jinDayopen>preDayopen THEN
    EXIT;
 if  preDayclose<preDayopen then
    昨日开收价差2:=(preDayopen-preDayclose)/preDayopen;
    IF 昨日开收价差2>0.02 and jinDayopen>preDayclose and jinDayopen<preDayopen THEN
    EXIT;
[此贴子已经被作者于2011-4-27 8:36:10编辑过]

--  作者:董小球
--  发布时间:2011/4/27 8:47:33
--  

不知道楼主发的是什么问题

你描述一下是什么问题啊,代码里连交易函数都没有 怎么会交易呢


--  作者:manbutianya
--  发布时间:2011/4/27 9:57:29
--  
 版主帮个忙
--  作者:董小球
--  发布时间:2011/4/27 10:17:00
--  

你留一下你的QQ 我让同事远程给你看看


--  作者:董小球
--  发布时间:2011/4/27 10:23:40
--  

你先按照我这个方法设置试试:

 

第一步:新建一个指标,命名为Y,在Y中写入下面这句代码(注意这里要不要使用冒号,否则指标线会变成赋值):

HH:HIGH;

第二步:新建第二个指标,命名为TEST,在TEST中写入下面代码:

AA:”Y.HH##DAY”;

第三步:将指标“TEST”运行应用于盘面,就可以在分笔图中显示前一日的最高价了


--  作者:fly
--  发布时间:2011/4/27 10:49:02
--  

//日线及其以下周期.

 N:=barslast(date<>ref(date,1))+1;
 preDayHigh:ref(hhv(h,N),N),linethick0; //昨日最高价
 preDayLOW:ref(LLv(L,N),N),linethick0;  //昨日最低价

若该公式用于分钟K线(日K线以下),---速度是可以的.

但如果用于分笔周期,速度就会变的很慢,所以,如果是分笔周期,请采用以下方式.

 

//注:以下方法应用于所有周期,但要保证日K线上的数据是完整的,最好的方法,是先浏览一下该品种的日K线

第一步:新建一个指标,命名为H,在H中写入下面这句代码

H1:high;
L1:low;

 

第二步:新建第二个指标,命名为TEST,在TEST中写入下面代码:

preDayHigh:"H.H1##day",linethick0; //昨日最高价
preDayLOW:"H.L1##day",linethick0;  //昨日最低价

 

第三步:将指标“TEST”运行应用于盘面,您将看到昨日最高价和昨日最低价


--  作者:manbutianya
--  发布时间:2011/4/27 11:37:38
--  
 看是看到了昨日收盘价和开盘价,我这段程序的意思是符合要求,开盘在昨日的收盘和开盘之间,且昨日的涨跌超过2%,公式退出,不再做交易。请问这样编对吗?
[此贴子已经被作者于2011-4-27 11:37:58编辑过]

--  作者:fly
--  发布时间:2011/4/27 13:22:08
--  

可简化成这样.

昨日开收价差:=ABS(preDayclose-preDayopen)/preDayopen;
IF 昨日开收价差>0.02 and jinDayopen<preDayclose and jinDayopen>preDayopen THEN EXIT;
IF 昨日开收价差>0.02 and jinDayopen>preDayclose and jinDayopen<preDayopen THEN EXIT;


--  作者:manbutianya
--  发布时间:2011/4/27 14:16:06
--  
 谢谢楼上了,可是经检查,19日锌大跌,但20日锌还是有交易!
--  作者:fly
--  发布时间:2011/4/27 14:54:10
--  

这样试试

昨日开收价差:=ABS(preDayclose-preDayopen)/preDayopen;
IF 昨日开收价差>0.02 and jinDayopen<preDayclose and jinDayopen>preDayopen and islastbar THEN EXIT;
IF 昨日开收价差>0.02 and jinDayopen>preDayclose and jinDayopen<preDayopen and islastbar THEN EXIT;