以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 调试有执行到语句却没显示 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=59893) |
-- 作者:zita -- 发布时间:2013/12/13 11:13:07 -- 调试有执行到语句却没显示 开仓价3583,止盈价3613,第二根k线最高价3621(大于止盈价应该止盈),却没止盈操作,调试时有进入止盈卖出函数啊 源码如下: input : length(10,10,30,10),lots(1,1,10,1); input : stoplos(20,20,100,10),stopwin(30,10,100,10); uppband : ref(hhv(high,length),1); lowband : ref(llv(low,length),1); if high > uppband && holding = 0 then
buy(1,lots,limitr,open),ignorecheckprice;//开多仓 else if low < lowband && holding = 0 then
buyshort(1,lots,limitr,open); //开空仓 if holding = 1 && enterbars >= 0 then begin stoploslin := enterprice - stoplos * mindiff; //止损线 if low < stoploslin then begin myexitprice := stoploslin; if open < stoploslin then myexitprice := open; sell(1,0,limitr,myexitprice); //平多仓 end stopwinlin := enterprice + stopwin * mindiff; //止盈线 if high > stopwinlin then begin
myexitprice := stopwinlin;
if open > stopwinlin then
myexitprice := open;
sell(1,0,limitr,myexitprice); end end else if holding = -1 && enterbars >= 0 then begin
stoploslin := enterprice + stoplos * mindiff; //止损线
if high > stoploslin then
begin
myexitprice := stoploslin;
if open > stoploslin then
myexitprice := open;
sellshort(1,0,limitr,myexitprice);
end stopwinlin := enterprice - stopwin * mindiff; //止盈线
if low < stopwinlin then
begin
myexitprice := stopwinlin;
if open < stopwinlin then
myexitprice := open;
sellshort(1,0,limitr,myexitprice);
end end
|
-- 作者:yukizzc -- 发布时间:2013/12/13 11:18:36 -- 图表显示K线数据长度和你调试时候长度一致吗?
|
-- 作者:zita -- 发布时间:2013/12/13 11:26:08 -- 我把 sellshort(1,0,limitr,myexitprice);l改成sellshort(1,0,market);就可以,这什么原因啊 |
-- 作者:zita -- 发布时间:2013/12/13 11:31:09 -- ![]() ![]() 你看下与之前图区别,第二张有平仓,第一张没平仓,只是把limit改成market [此贴子已经被作者于2013/12/13 11:32:15编辑过]
|
-- 作者:yukizzc -- 发布时间:2013/12/13 11:52:07 -- 你加个IGNORECHECKPRICE //忽视价格检查看下是不是价格超过了k线范围导致的 sellshort(1,0,limitr,myexitprice),,IGNORECHECKPRICE; |
-- 作者:zita -- 发布时间:2013/12/13 13:33:01 -- 可以,但怎么不能成交呢,最高价为3600,而限价为3574 |
-- 作者:yukizzc -- 发布时间:2013/12/13 13:36:34 -- 最低价多少,3574在K线的价格范围内吗? |
-- 作者:zita -- 发布时间:2013/12/13 13:39:01 -- 最低价3550,在范围内啊 |
-- 作者:yukizzc -- 发布时间:2013/12/13 13:55:26 -- 你把limit换成limitr就可以看到信号了,这两个区别在于一个本周期下单另一个次周期下单对应的K线不同导致 可以看下这边介绍http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=52160&replyID=&skin=1 |