以文本方式查看主题

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

--  作者:nsr168
--  发布时间:2014/7/31 14:33:36
--  公式咨询
老师您好:此指标现在用在通达信软件里的,请帮忙把该指标导入金字塔软件,要求在主图k线指标信号转换处显示图标笑脸、哭脸、红圆点、蓝原点、文字。  根据发出的信号可以无缝链接到期货交易下单软件,进行智能全自动交易。  k线信号转换点可以预警,可以选股。  智能交易,可以选择只做多,只做空,或多空都做。

  源码如下:

N:=IF(BARSCOUNT(C)>=5,13,BARSCOUNT(C));
{N赋值:如果收盘价的有效数据周期数>=5,返回13,否则返回收盘价的有效数据周期数}

AMOV:=VOL*(C+L+H)/3;
{AMOV赋值:成交量(手)*(收盘价+最低价+最高价)/3}

MN:=SUM(AMOV,N)/SUM(VOL,N);
{MN赋值:AMOV的N日累和/成交量(手)的N日累和}


NOTEXT1:IF(C>=MN,MN,DRAWNULL),LINETHICK2,COLORRED;
{输出NOTEXT1:如果收盘价>=MN,返回MN,否则返回无效数,线宽为2,画红色
【交易:空挡变红色开多,红色变空挡平多; 空挡变黄色开空,黄色变空挡平空】
【提示:空挡变红色,k线下方图标笑脸、文字开多, 红色变空挡,k线下方图标哭脸、文字平多; 空挡变黄色,k线上方图标红圆,文字开空; 黄色变空挡,k线上方图标蓝圆,文字平空】}

NOTEXT2:IF(C<MN,MN,DRAWNULL),LINETHICK2,COLORYELLOW;
{输出NOTEXT2:如果收盘价<MN, 返回MN,否则返回无效数,线宽为2,画黄色
【交易:空挡变红色开多,红色变空挡平多; 空挡变黄色开空,黄色变空挡平空】
【提示:空挡变红色,k线下方图标笑脸、文字开多, 红色变空挡,k线下方图标哭脸、文字平多; 空挡变黄色,k线上方图标红圆,文字开空; 黄色变空挡,k线上方图标蓝圆,文字平空】}

TJ1:=LLV(CLOSE,3)>REF(L,3) AND HHV(V,1)<=REF(V,3) AND REF(C,3)>REF(O,3) 
AND REF(V,3)>0.8*REF(V,4) AND REF(V,3)>1.1*REF(V,5);
{TJ1赋值:3日内收盘价的最低值>3日前的最低价 
AND 1日内成交量(手)的最高值<=3日前的成交量(手)
AND 3日前的收盘价>3日前的开盘价 
AND 3日前的成交量(手)>0.8*4日前的成交量(手) 
AND 3日前的成交量(手)>1.1*5日前的成交量(手)}

LJL:=FILTER(TJ1,1);
{LJL赋值:TJ1的1日过滤}

TJ2:=IF(BARSLAST(LJL)=1 AND CLOSE>REF(HIGH,1),1,IF(BARSLAST(LJL)=2 
AND CLOSE>REF(HIGH,2),1,IF(BARSLAST(LJL)=3 AND CLOSE>REF(HIGH,3),1,0)));
{TJ2赋值:如果上次LJL距今天数=1ANDCLOSE>1日前的最高价,返回1,否则返回
如果上次LJL距今天数=2ANDCLOSE>2日前的最高价,返回1,否则返回
如果上次LJL距今天数=3ANDCLOSE>3日前的最高价,返回1,否则返回0}

TP:=TJ2=1;
{TP赋值:TJ2=1}

STICKLINE(CLOSE,REF(LLV(L,3),BARSLAST(LJL)),REF(LLV(L,3),BARSLAST(LJL)),0,0),COLORYELLOW;
{当满足条件收盘价时,在上次LJL距今天数日前的3日内最低价的最低值和
上次LJL距今天数日前的3日内最低价的最低值位置之间画柱状线,宽度为6,0不为0则画空心柱,画黄色}

TJ3:=IF(BARSLAST(LJL)=1 AND CLOSE>REF(LOW,1),1,IF(BARSLAST(LJL)=2 
AND CLOSE>REF(LOW,2),1,IF(BARSLAST(LJL)=3 AND CLOSE>REF(LOW,3),1,0)));
{TJ3赋值:如果上次LJL距今天数=1ANDCLOSE>1日前的最低价,返回1,否则返回
如果上次LJL距今天数=2ANDCLOSE>2日前的最低价,返回1,否则返回
如果上次LJL距今天数=3ANDCLOSE>3日前的最低价,返回1,否则返回0}

STFZ:=TJ3=1;
{STFZ赋值:TJ3=1};


--  作者:jinzhe
--  发布时间:2014/7/31 14:35:53
--  
可以直接使用
--  作者:nsr168
--  发布时间:2014/7/31 15:18:03
--  
谢谢老师,已经将该公式导入金字塔,由于跟自带指标“战士2号”类似,就把刚导入的公式取名“战士1号”吧,把“战士2号”原始参数稍做修改后,几乎跟“战士1号”效果差不多;看来看去,在细节地方,修改参数后的“战士2号”看起来更好些。 感谢老师!!

问题:自带的“战士2号”修改参数后,想将该公式修改一下提示与交易:
(1)提示:空挡变红色,k线下方图标笑脸、文字开多, 红色变空挡,k线下方图标哭脸、文字平多; 空挡变黄色,k线上方图标红圆,文字开空; 黄色变空挡,k线上方图标蓝圆,文字平空; 
(2)交易:空挡变红色开多,红色变空挡平多; 空挡变黄色开空,黄色变空挡平空;

请帮我修改一下,做成智能交易,弄好后,告知我源码,可以吗,谢谢!


--  作者:pyd
--  发布时间:2014/7/31 15:33:40
--  

按照1楼代码改的

kd:ref(c<mn,1) and c>=mn;//平空开多
pd:ref(c>=mn,1)=1 and c<mn;//平多开空

sell(pd and holding>0,1,market);
sellshort(kd and holding<0,1,market);
buy(kd and holding=0,1,market);
buyshort(pd and holding=0,1,market);

DRAWICON(kd,l,1);
DRAWICON(pd,l,2);
DRAWICON(pd,h,10);
DRAWICON(kd,h,11);

[此贴子已经被作者于2014/7/31 15:34:08编辑过]

--  作者:nsr168
--  发布时间:2014/7/31 16:07:57
--  
感谢四楼的pyd,我把您的公式代码复制进去后,主图k线压缩变形了哟再请下要教如何做谢谢!!

--  作者:pyd
--  发布时间:2014/7/31 16:32:49
--  
价格坐标轴 点击右键 勾选仅随k线变动
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:nsr168
--  发布时间:2014/7/31 16:49:46
--  
 请教: 文字提示,现在弄到一起去啦,看不清,要求:开多平多文字在K线下方,开空平空在k线上方  这里要如何修改呢 谢谢 

--  作者:pyd
--  发布时间:2014/7/31 17:01:09
--  

"开多平多文字在K线下方,开空平空在k线上方"这肯定是会重合显示的

我稍微改下

1,在工具-》选项-》视图里 交易系统状态不要打勾

2,在原来代码里加上以下代码

drawtext(kd,l,\'开多\');
drawtext(pd,c,\'平多\');
drawtext(pd,h,\'开空\');
drawtext(kd,o,\'平空\');