以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请老师帮修改以下代码在图中不显示及测试没有数据的原因  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=160702)

--  作者:liurunning
--  发布时间:2017/12/27 14:48:53
--  请老师帮修改以下代码在图中不显示及测试没有数据的原因
input:inb(4,1,500,1),outb(2,1,500,1),risk(2,0,10,0.1);
//突破策略
variable:times=0,i=0,n=0;
cond:TACCOUNT(28) / TACCOUNT( 6) <=0.3;
rn:=ema(ref(tr,1),20);
n:=valuewhen(holding=0,rn);
rh:=ref(h,1);
rl:=ref(l,1);
h1:hhv(rh,inb);
h2:hhv(rh,outb),linedot;
l1:llv(rl,inb);
l2:llv(rl,outb),linedot;
lotst:asset*risk*0.01/(n*2*multiplier),linethick0;
lots:=if(risk=0,1,lotst); //如果risk取0,表示固定开1手
tbc:=h<>l;//判断是否停板
partline(holding>0,enterprice-2*n);
if barpos<inb+1 then exit;
if holding=0 and tbc then //不是停板才可以交易
begin
if h>h1 then //开多
begin
buyp:=max(o,h1);
buy(cond,30%,marketr),PERTRADER;
end;//开多结束
else if l<l1 then //开空
begin
sellp:=min(o,l1);
buyshort(cond,30%,limitr,sellp);
end;
end;//holding=0
if holding>0 and tbc then //已有多仓
begin
exitlongp:=max(enterprice-2*n,l2);
if l<exitlongp and enterbars<>0 then //出场
begin
exitp:=min(o,exitlongp);
sell(1,0,limitr,exitp);
times:=0;
end;//出场

end;//holding>0
if holding<0 and tbc then //已有空仓
begin
exitlongp:=min(enterprice+2*n,h2);
if h>exitlongp and enterbars<>0 then //出场
begin
exitp:=max(o,exitlongp);
sellshort(1,0,limitr,exitp);
times:=0;
end;//出场
end;//holding<0

--  作者:FireScript
--  发布时间:2017/12/27 14:59:56
--  


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
1.你说不显示,具体指什么。如上 我随便加载下都有信号的。

2.测试没有数据,是回测吗。回测的过程中有提示数据补充的,你补充了本地的数据了吗?

 


--  作者:liurunning
--  发布时间:2017/12/27 15:09:12
--  回复:(FireScript)[upload=png,1.png]UploadFile/2...
老师好,我回测的时候,怎么啥也看不到,点应用于图,图上没任何显示。点测评,也是没有任何数据
--  作者:wenarm
--  发布时间:2017/12/27 15:11:44
--  

不要中中文字符。还有把你自己的数据量扩充后在看。你本地数据不够用把

input:inb(4,1,500,1),outb(2,1,500,1),risk(2,0,10,0.1);
//突破策略
variable:times=0,i=0,n=0;
cond:TACCOUNT(28) / TACCOUNT( 6) <=0.3;
rn:=ema(ref(tr,1),20);
n:=valuewhen(holding=0,rn);
rh:=ref(h,1);
rl:=ref(l,1);
h1:hhv(rh,inb);
h2:hhv(rh,outb),linedot;
l1:llv(rl,inb);
l2:llv(rl,outb),linedot;
lotst:asset*risk*0.01/(n*2*multiplier),linethick0;
lots:=if(risk=0,1,lotst); //如果risk取0,表示固定开1手
tbc:=h<>l;//判断是否停板
partline(holding>0,enterprice-2*n);
if barpos<inb+1 then exit;
if holding=0 and tbc then //不是停板才可以交易
begin
if h>h1 then //开多
begin
buyp:=max(o,h1);
buy(cond,30%,marketr),PERTRADER;
end;//开多结束
else if l<l1 then //开空
begin
sellp:=min(o,l1);
buyshort(cond,30%,limitr,sellp);
end;
end;//holding=0
if holding>0 and tbc then //已有多仓
begin
exitlongp:=max(enterprice-2*n,l2);
if l<exitlongp and enterbars<>0 then //出场
begin
exitp:=min(o,exitlongp);
sell(1,0,limitr,exitp);
times:=0;
end;//出场


end;//holding>0
if holding<0 and tbc then //已有空仓
begin
exitlongp:=min(enterprice+2*n,h2);
if h>exitlongp and enterbars<>0 then //出场
begin
exitp:=max(o,exitlongp);
sellshort(1,0,limitr,exitp);
times:=0;
end;//出场
end;//holding<0
 

[此贴子已经被作者于2017/12/27 15:14:58编辑过]

--  作者:FireScript
--  发布时间:2017/12/27 15:12:44
--  
以下是引用liurunning在2017/12/27 15:09:12的发言:
老师好,我回测的时候,怎么啥也看不到,点应用于图,图上没任何显示。点测评,也是没有任何数据

你连接行情了吗?是不是没有行情啊。 软件 右上角- 行情。


--  作者:liurunning
--  发布时间:2017/12/27 15:26:58
--  
重启动软件就好了, 谢谢了图片点击可在新窗口打开查看