Rss & SiteMap

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

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

标题:符合条件却没有触发

1楼
zaiyuanfang1 发表于:2019/11/6 10:38:49
input:grid(3,1,60,1);
variable:level=0;
dist:=barslast(date<>ref(date,1));
oo:=ref(open,dist);
cc:=oo+level*grid*mindiff;
if high>=cc+grid*mindiff then
 level:=level+1;
if low<=cc-grid*mindiff then
 level:=level-1;
cc:=oo+level*grid*mindiff;
cc1:cc;


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191106103251.png
图片点击可在新窗口打开查看

如图红色方框的位置条件达到,cc1的值正常改变。而黄色方框的位置,条件达到了,cc1的值却还是原来的值。看起来是随机出现这样的情况。请问是我代码写错了吗?该怎么写才好?谢谢。
2楼
FireScript 发表于:2019/11/6 11:06:49
你光标移动过去看下具体价格情况。你设置的参数是3  至少要差3*MINDIFF  也就是0.6 才会改变。你标记位置只能看到LOW在cc1下面,但是具体差不多少看不出来啊。
3楼
zaiyuanfang1 发表于:2019/11/6 11:16:58


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191106111039.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191106111057.png
图片点击可在新窗口打开查看

值是达到的,因为都是按跳来算的,应该没有别的中间值

4楼
zaiyuanfang1 发表于:2019/11/6 11:21:29
4993.8,4993.2 有达到0.6的差值的。
5楼
zaiyuanfang1 发表于:2019/11/6 11:37:36

请大神帮忙修改一下代码,这个实在找不出什么原因。有能达到类似效果的代码就行。谢谢

6楼
FireScript 发表于:2019/11/6 12:33:54
 可能不是代码原因,我下午盘中再确认下,有可能是计算小数点的问题。
7楼
zaiyuanfang1 发表于:2019/11/6 13:22:22
好的,谢谢图片点击可在新窗口打开查看
8楼
yukizzc 发表于:2019/11/6 14:35:49
开高低收这些数值在计算时候内部有浮点误差,你把high>=cc+grid*mindiff这种条件输出看下,有些数据不能光看图上
就比如图上价格是2.2如果你直接拿价格和2.2座比较很有可能是不满足条件的,虽然肉眼看着是满足
所以把条件都给当作变量在图上看下。
9楼
zaiyuanfang1 发表于:2019/11/6 15:02:43

input:grid(3,1,60,1);
variable:level=0;

dist:=barslast(date<>ref(date,1));
oo:=ref(open,dist);
cc:=oo+level*grid*mindiff;
if c>=cc+grid*mindiff then begin
 level:=level+1;
end
if c<=cc-grid*mindiff then begin
 level:=level-1;
end
cc:=oo+level*grid*mindiff;

cc1:cc,colormagenta;
level1:level,nodraw;
aa:cc+grid*mindiff,nodraw;
bb:cc-grid*mindiff,nodraw;
//c1:c;

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191106150121.png
图片点击可在新窗口打开查看

 

这个有尝试排除过,还是无法排除哪个步骤的问题。

10楼
zaiyuanfang1 发表于:2019/11/6 15:06:16

input:grid(3,1,60,1);
variable:level=0;
dist:=barslast(date<>ref(date,1));
oo:=ref(open,dist);
cc:=oo+level*grid*mindiff;
if c>=cc+grid*mindiff then
 level:=level+1;
if c<=cc-grid*mindiff then
 level:=level-1;
cc:=oo+level*grid*mindiff;
cc1:cc;

 

把high跟low都改为c,也还是不行,因为在分笔周期上,ochl已经变成一个价格了。结果也是一样的。

共18 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 3 queries.