智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 3157|回复: 6

老师您好,请教个K线读取的问题

[复制链接]
发表于 2012-2-18 23:46:22 | 显示全部楼层 |阅读模式
本帖最后由 awhappy 于 2012-2-18 23:48 编辑

老师您好,MT4平台周末不开盘,但数据中周日一般会有一根很短K线,假如我读取前9天的日K线,怎样能跳过周日那根K线不读取啊?就是说我读取9根K线数据时只要周一到周五的,不要周六周日的,在K线读取过程中排除周六周日的K线数据
回复

使用道具 举报

 楼主| 发表于 2012-2-19 19:59:12 | 显示全部楼层
本帖最后由 awhappy 于 2012-2-19 20:03 编辑

回复 admin 的帖子

读取连续的日K线的开盘价和收盘价,由于平台北京时间周一早上6:00开始交易,此时系统时间是周日晚22:00,所以周日有一根很短的日K线,我想跳过这根K线不读取,就是假如今天周二,我想获取前三天的日k线的开盘收盘价,1,2,3号K线对应的是周一、周日、上周五,怎样能跳过周日的K线,让我获得的价格是周一、上周五、上周四?
回复 支持 反对

使用道具 举报

发表于 2012-2-19 20:04:57 | 显示全部楼层
你的意思我明白了,但是 你的提问,让我不知道如何回答你。解决方案 我也知道
但是 你也知道 函数只能返回一个数值,你一直坚持 要获取K线的信息 而且不只一根,多少根也不确定,所以你这样问 我实在没办法给你答案。
那我就把解决方案告诉你吧,你根据我的思路就能自己找到答案了。
那只能我自己给自己提一个问题。我自己来回答,我的这个问题和你的问题 是同样的解决方案。
我的问题是:
如何获取前3根K线的开盘价的和?由于平台北京时间周一早上6:00开始交易,此时系统时间是周日晚22:00,所以周日有一根很短的日K线,我想跳过这根K线不读取,就是假如今天周二,我想获取前三天的日k线的开盘收盘价,1,2,3号K线对应的是周一、周日、上周五,怎样能跳过周日的K线,让我获得的价格是周一、上周五、上周四?
double bar3openhe()
    {
     double he=0;
     int jishu=0;
     for(int i=1;i<=100;i++)
       {
          if(jishu>3)//如果计数大于3,说明已经找满了3根K线了就跳出循环
            {
               break;
            }
          if(DayOfWeek()!=0)//如果扫描到的星期数不是星期日
            {
               he=he+Open[i];
               jishu++;//找到一个符合的日期就jishu加1
            }
       }
       return(he);
     }
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-20 08:50:57 | 显示全部楼层
回复 admin 的帖子

明白啦,谢谢老师谢谢老师,是我自己没说清~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-20 09:50:47 | 显示全部楼层
本帖最后由 awhappy 于 2012-2-20 09:53 编辑

回复 admin 的帖子

修改之后还是不行,还是我没说清,我的意思是代码如下:
if(iClose(Symbol(),PERIOD_D1,6)>iOpen(Symbol(),PERIOD_D1,6)&&iClose(Symbol(),PERIOD_D1,5)>iOpen(Symbol(),PERIOD_D1,5)&&iClose(Symbol(),PERIOD_D1,4)>iOpen(Symbol(),PERIOD_D1,4)&&iClose(Symbol(),PERIOD_D1,3)>iOpen(Symbol(),PERIOD_D1,3)&&iClose(Symbol(),PERIOD_D1,2)>iOpen(Symbol(),PERIOD_D1,2)&&iClose(Symbol(),PERIOD_D1,1)>iOpen(Symbol(),PERIOD_D1,1))
       {
         OrderSend(Symbol(),0,0.8,Ask,50,0,0,"buy",2,0,Red);
       }
在如上代码的六根K线的比较中怎样排除周日那根K线?让我比较的是除了周日外的日K线
回复 支持 反对

使用道具 举报

发表于 2012-2-20 09:57:46 | 显示全部楼层
真是晕 按照你上面的代码 根本无法排除周日外的日K线,所以我才给你提供我写的那个思路。你还是一直说你的代码改改就行,那你就自己在这个地方死磕吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-21 07:01:15 | 显示全部楼层
回复 admin 的帖子

我就是想比较六根连续的日K线,其中不含周日的K线,如果是六根阳线的话就开buy单,对收盘价和开盘价做六次比较,用老师的思路的话其实只能做一次比较啊,相当于我在老师的例子想对3根一组的K线连续求六次和,第一次是0——3天,第二次是4——6天…………昨天按老师的思路想了一天,还是没想出来,老师帮帮我啊
其实我的目的很简单,就是对六根K线的收盘和开盘价格做六次比较,在比较中跳过周日的K线
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-11-18 03:40 , Processed in 0.074192 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表