开仓价3583,止盈价3613,第二根k线最高价3621(大于止盈价应该止盈),却没止盈操作,调试时有进入止盈卖出函数啊
源码如下:
此主题相关图片如下:f.jpg

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

此主题相关图片如下:f.jpg

你看下与之前图区别,第二张有平仓,第一张没平仓,只是把limit改成market
[此贴子已经被作者于2013/12/13 11:32:15编辑过]
你加个IGNORECHECKPRICE //忽视价格检查看下是不是价格超过了k线范围导致的
sellshort(1,0,limitr,myexitprice),,IGNORECHECKPRICE;
可以,但怎么不能成交呢,最高价为3600,而限价为3574