以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  策略编写求助区  (http://weistock.com/bbs/list.asp?boardid=11)
----  图表策略求助 少量金币答谢  (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=65123)

--  作者:legend
--  发布时间:2014/5/16 19:30:13
--  图表策略求助 少量金币答谢
开多条件

1:跳空开盘向上突破昨日5日均线,开盘价加2个价位开多;
2:正常开盘市价突破昨日5日均线时,以昨日5日均线价位开多;
3:如果昨天发生平多动作(止损止盈都算),市价向上突破昨天最高价时以昨天最高价开多。

 

平多条件
1:开仓当日市价跌破开仓均价8个价位后止损。当天出现止损3次后就不再开仓。
2:下跳空开盘跌破昨日5日均线,开盘价减2个价位平多;
3:正常开盘市价跌破昨日5日均线时,以昨日5日均线价位平多;

 

 

开空/平空相反


--  作者:fly
--  发布时间:2014/5/19 10:06:57
--  
是在几分钟周期上使用的.
--  作者:legend
--  发布时间:2014/5/19 14:33:16
--  
如果可能能否写成按当前图表的周期,无法实现的话就在5分钟周期上做。
--  作者:legend
--  发布时间:2014/5/20 10:41:15
--  
有高人帮忙指导一下不?
--  作者:fly
--  发布时间:2014/5/21 16:25:10
--  
请您耐心等待
--  作者:legend
--  发布时间:2014/5/21 23:06:05
--  

谢谢支持


--  作者:qq代人发帖
--  发布时间:2014/5/23 17:28:59
--  

上跳空,下跳空,正常开盘具体是怎么定义的?

跳空是开盘价和 昨天最后一根k的最低价最高价 还是和昨天一天的最高价或最低价比较的?


--  作者:qq代人发帖
--  发布时间:2014/5/26 15:35:09
--  

以下代码:跳空是按今天的最低价 最高价和昨天最后一根k的最高价最低价比较写的

 

好象执行起来有点问题,请您暂时等待,我这边再运行运行.

 

建一个公式命名:公式1, 另一个公式引用公式1的ma5

公式1

ma5:ma(c,5);

 

公式2

VARIABLE:d:=0,pc:=0,zs:=0;
zg:=VALUEWHEN(TODAYBAR=1,ref(h,1));
zd:=VALUEWHEN(TODAYBAR=1,ref(l,1));
z5:=stkindi(\'\',\'公式1.ma5\',0,6,-1);
h1:=VALUEWHEN(TODAYBAR=1,h);
l1:=VALUEWHEN(TODAYBAR=1,l);
oo:=VALUEWHEN(TODAYbar=1,o);
hh:=CALLSTOCK(\'if00\',vthigh,2,-1);
ma5:ma(c,5);
j1:cross(h,ma5);
//开仓1
if l1>zg and h>z5 and zs<=3 then
begin
buy(holding=0,1,limit,oo+2*mindiff);
d:=1;
end

 
//开多2
 if h1>zd or l1<zg and h>z5 and zs<=3 then
 begin
 buy(holding=0,1,limit,z5);
 d:=1;
end

//开多3
 pc2:VALUEWHEN(TODAYBAR=1,ref(pc,2));
 pc1:VALUEWHEN(TODAYBAR=1,ref(pc,1));

if pc1=0 and pc2=1 and h>hh and zs<=3 then
begin
buy(holding=0,1,limit,hh);
d:=1;
end

//下跳空平多
if h1<zd and l<z5 then
begin
sell(holding>0,1,limit,oo-2*mindiff);
pc:=1;
end
//正常开盘平多
j2:cross(ma5,l);
if h1>zd or l1<zg and l<z5 THEN
begin
sell(holding>0,holding,limit,z5);
pc:=1;
end

//止损
if AVGENTERPRICE-l>=8*MINDIFF and d=1 THEN
begin
sell(holding>0,holding,market);
pc:=1;
zs:=zs+1;
end

if time=CLOSETIME(0) THEN
begin
pc:=0;
zs:=0;
d:=0;
end