Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:放个伪代码,求编写!~~~

1楼
tonybig 发表于:2011/11/9 21:29:51

自己瞎想的策略,做成伪代码,请高手们来编写一下。

 

昨天真实波幅大于前五天真实波幅的3倍今天不开仓(5天指的是日周期),如小于则:

 

当天开盘价大于昨收盘价

空仓情况下

最高价突破上轨做多(上轨价委托),上轨:hhv(h,20); 

最低价下穿下轨做空(下轨价委托),下轨:昨天最低


当天开盘价小于昨收盘价

空仓情况下

最高价突破上轨做多(上轨价委托),上轨:昨天最高

最低价下穿下轨做空(下轨价委托),下轨:llv(l,20);



不管当天开盘价是否大于或小于昨天收盘价,持有多仓时

最高价大于 开仓价+5天(日周期)真实波幅均值的3倍止盈(收盘价委托);

 

上一根收盘价小于多头止损价(开盘价委托),多头止损:max(llv(l,10), max(今开盘,(昨日最高+昨日最低)/2)) //三者最高

 

最低价突破下轨反手做空(下轨价委托),下轨:max(昨日最高-(昨天最高-昨天最低),昨日最低);

 


 

不管当天开盘价是否大于或小于昨天收盘价,持有空仓时

最低价小于 开仓价-5天(日周期)真实波幅均值的3倍止盈(收盘价委托);

 

上一根收盘价大于空头止损价(开盘价委托),空头止损:min(hhv(h,10),min(今开盘,(昨日最高+昨日最低)/2))//三者最低

 

最高价突破上轨反手做多(上轨价委托),上轨:min(昨日最低+(昨日最高-昨天最低),昨日最高);

                                                                                                        


[此贴子已经被作者于2011-11-9 21:51:45编辑过]
2楼
jinzhe 发表于:2011/11/10 9:12:30
正在编写中~
3楼
tonybig 发表于:2011/11/10 10:37:55
图片点击可在新窗口打开查看图片点击可在新窗口打开查看
4楼
jinzhe 发表于:2011/11/10 11:25:44

写完鸟~~~

 

首先建立一个名为F117的公式用来引用数据:

bf1:ref(tr,1),linethick0;
bf5:ref(tr,5),linethick0

 

然后另外建立个公式写:
n:barslast(date<>ref(date,1)),linethick0;
jk:ref(o,n),linethick0;//今开
tt1:stkindi('if00','F117.bf1',0,6,0),linethick0;//昨天振幅
tt2:stkindi('if00','F117.bf5',0,6,0),linethick0;//前5天振幅
zs:callstock('if00',vtclose,6,-1),linethick0;//昨收
zd:callstock('if00',vtlow,6,-1),linethick0;//昨低
zg:callstock('if00',vthigh,6,-1),linethick0;//昨高

sg:ref(hhv(h,20),1),linethick0;//上轨
xg:ref(llv(l,20),1),linethick0;//下轨

if tt1>3*tt2 then exit;//昨天真实波幅大于前五天真实波幅的3倍今天不开仓
//predayhigh:valuewhen(date<>ref(date,1),ref(hhv(h,n+1),1)),linethick0;非引用的昨高
//predaylow:valuewhen(date<>ref(date,1),ref(llv(l,n+1),1)),linethick0;非引用的昨低
//predayclose:valuewhen(date<>ref(date,1),ref(c,1)),linethick0;非引用的昨收

 

if jk>zs and h>sg then begin
 buy(holding=0,1,thisclose);
end
//最高价突破上轨做多(上轨价委托),上轨:hhv(h,20); 


if jk>zs and l<zd then begin 
 buyshort(holding=0,1,thisclose);
end
//最低价下穿下轨做空(下轨价委托),下轨:昨天最低

 

if jk<zs and h>zg then begin 
 buy(holding=0,1,thisclose);
end
//最高价突破上轨做多(上轨价委托),上轨:昨天最高


if jk<zs and l<xg then begin 
 buyshort(holding=0,1,thisclose);
end
//最低价下穿下轨做空(下轨价委托),下轨:llv(l,20);


if h>enterprice+3*tt2 then sell(holding>0,0,thisclose);//多头止盈
if ref(c,1)<max(ref(llv(l,10),1),max(jk,(zg+zd)/2)) then sell(holding>0,0,limitr,open);//多头止损


if l>max(zg-(zg-zd),zd) then begin
 sell(holding>0,0,thisclose);
 buyshort(holding,0,limitr,max(zg-(zg-zd),zd));
end //反手做空
 
if l<enterprice-3*tt2 then sellshort(holding<0,0,thisclose);//空仓止盈
if ref(c,1)>min(ref(hhv(h,10),1),min(jk,(zg+zd)/2)) then sellshort(holding<0,0,limitr,o);//空仓止损

 

 
if h>min(zd+(zg-zd),zg) then begin
 sellshort(holding<0,0,thisclose);
 buy(holding=0,1,limitr,min(zd+(zg-zd),zg));
end//反手做多
 

5楼
tonybig 发表于:2011/11/10 11:44:28
又上了一课  谢谢 jinzhe老师
6楼
tonybig 发表于:2011/11/10 11:46:36
看来还是把思路写成伪代码 方便一点。
7楼
tonybig 发表于:2011/11/10 12:00:00
系统显示正常,但是  信号也是满天飞,   我的模型逻辑有问题?  请高手指点。
8楼
蔡宛宏 发表于:2011/12/19 17:07:45
不晓得怎么回事 我加载之后也是这样
共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .01563 s, 2 queries.