Rss & SiteMap

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

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

标题:参数问题求助!

1楼
2017gogogoo 发表于:2017/11/27 21:49:34

图表交易,请问这里第二个参数我输入659.8,点确定后再打开来看的时候变成了59.799988呢?这个细微的差距影响到了实盘,请问我该怎么解决?版本4.22,运行环境64位win8.1,劳驾了!!!


图片点击可在新窗口打开查看此主题相关图片如下:111111.jpg
图片点击可在新窗口打开查看

2楼
2017gogogoo 发表于:2017/11/27 21:50:18

公式全部代码如下:

input:ss(2,1,999,1),p(0,0,400000,1),wt(0,-20,20,1),tbzs(3,0,20,1);
VARIABLE:dzsATR=drawnull,doubleATR=drawnull,threeATR=drawnull,cfT=0,CFP=0,eckcON=0;//eckcON为二次开仓开关。
ATR:=if(tbzs=0,ref(MA(tr,20),1),(tbzs-1)*mindiff);
abb:=(time0-timetot0(dynainfo(207))<=20) or not(islastbar);
mck:=(h-l)/ma(tr,20);
3D:=if(ref(holding,1)>0,llv(ref(l,1),2),drawnull);
hh:if(cfT=0 and p<>0 and date[DATACOUNT]=date,p,drawnull),LINETHICK2,COLORRED;
hhh:if(cfP=0 and wt<>0 and eckcON=1 AND date[DATACOUNT]=date,p+wt*mindiff,drawnull),LINETHICK2,COLORRED;

 

//收盘和夜盘平仓
IFclose:=time=closetime(0) or (time=closetime(1) and closetime(1)<>141500);
if holding>0 and IFclose and abb and dynainfo(54)<>c then begin
 sell(1,holding,marketr);
 dzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
end


//开多
if  h>=hh then begin
 if o<=hh and holding=0 and not(IFclose) then BEGIN 
  buy(1,ss,limitr,hh+mindiff*4);
  dzsATR:=hh-ATR;
  doubleATR:=hh+ATR*2;
  threeATR:=hh+ATR*3;
 end
 cfT:=1;
end

if h>=hhh then begin
 if  o<=hhh and holding=0 and eckcON=1 and not(IFclose) then BEGIN 
  buy(1,ss,limitr,hhh+mindiff*4);
  dzsATR:=hhh-ATR;
  doubleATR:=hhh+ATR*2;
  threeATR:=hhh+ATR*3;
 end  
 if h>hhh then cfP:=1;
end

 

//破3根K线最低价平仓
if holding>0 and l<3D then BEGIN
   sell(1,holding,marketr);
 dzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
 eckcON:=1;
end
 
 
 
 //ATR止损
if holding>0 then begin
 if h>doubleATR then dzsATR:=max(dzsATR,ENTERPRICE-mindiff*4);//突破2倍ATR后上移止损
 if h>threeATR  then dzsATR:=max(dzsATR,ENTERPRICE-mindiff*2);//突破3倍ATR后上移止损
end

CorL:=if(enterbars=0 or dzsATR>ref(dzsATR,1),c,l);
if  CorL<dzsATR and holding>0 then BEGIN
 sell(1,holding,marketr);
 dzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
 eckcON:=1;
end  

 

//脉冲大K线平仓
ccl:=openint<ref(openint,1);
if  holding>0 and ccl and mck>5 and c<>h then begin
 sell(1,holding,marketr);
 dzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
end

if  holding>0 and  mck>7 and c<>h then begin
 sell(1,holding,marketr);
 dzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
end

//日内全局变量归零处理
//if time=CLOSETIME(0) then eckcON:=0;


止损线:max(dzsatr,3d),COLORGREEN;

//深绿色COLOR238e23
//调试
2atrr:doubleATR;
3atr:threeatr;

3楼
马良 发表于:2017/11/27 21:59:51
检查你的公式编辑器上参数区设置上最大和最小范围
4楼
2017gogogoo 发表于:2017/11/28 9:20:12
以下是引用马良在2017/11/27 21:59:51的发言:
检查你的公式编辑器上参数区设置上最大和最小范围

input:ss(2,1,999,1),p(0,0,400000,1),wt(0,-20,20,1),tbzs(3,0,20,1);

 

范围应该没有问题吧

5楼
2017gogogoo 发表于:2017/11/28 9:21:09
以下是引用马良在2017/11/27 21:59:51的发言:
检查你的公式编辑器上参数区设置上最大和最小范围

只发现动力煤一个品种上有问题

6楼
2017gogogoo 发表于:2017/11/28 9:48:40

一楼少写了个6,应该是:“请问这里第二个参数我输入659.8,点确定后再打开来看的时候变成了659.799988呢?”不好意思

7楼
2017gogogoo 发表于:2017/11/28 13:37:03

请帮忙解答下!!!

8楼
yukizzc 发表于:2017/11/28 13:38:29

input:ss(2,1,999,1),p(0,0,400000,0.001)

步长也用小树呢

9楼
2017gogogoo 发表于:2017/11/28 14:10:03
以下是引用yukizzc在2017/11/28 13:38:29的发言:

input:ss(2,1,999,1),p(0,0,400000,0.001)

步长也用小树呢

"步长也用小树",请问小树是什么意思,说详细点行吗?万分感谢!!!

10楼
banzhuan 发表于:2017/11/28 14:22:56
把小数的精度控制在0.001, 比如input: p(0,0,400000,0.001);
共11 条记录, 每页显示 10 条, 页签: [1] [2]


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