交易危机

 找回密码
 快捷注册(禁q号)

QQ登录

只需一步,快速开始

搜索
广告位
查看: 7663|回复: 18
打印 上一主题 下一主题

[其他] 求助:求MT4上能在5分钟图上显示不同市场开盘的指标,能来个竖线标示一下的

[复制链接]

14

主题

156

积分

0

精华

见习操盘手

金钱
156 美元
权重
4
跳转到指定楼层
楼主
发表于 2015-3-8 22:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

比如:每天欧洲开盘,16:00一根竖线  22:30美国开盘一根竖线。网上找了很久都没有,只找到个小时图上循环定时的指标,各位大爷若有请提供个呗

DrawHoursVerticalLine.rar

431 Bytes, 下载次数: 41, 下载积分: 金钱 -8

每天循环定时的

评分

参与人数 1金钱 +30 收起 理由
盲战 + 30 提前预付定金

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享分享 分享淘帖 支持支持1 保留保留

5

主题

787

积分

2

精华

初级操盘手

金钱
787 美元
权重
2
推荐
发表于 2015-3-9 21:26 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

楼主不好意思,你要的应该是第二个,第一个是我改过的,只能用在某个特定的星期几的特定的时间。第二个是每天所要求的时间都会显示。

评分

参与人数 1金钱 +60 收起 理由
admin + 60 感谢分享

查看全部评分

14

主题

156

积分

0

精华

见习操盘手

金钱
156 美元
权重
4
推荐
 楼主| 发表于 2015-3-9 22:07 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

感谢,你真专业

5

主题

787

积分

2

精华

初级操盘手

金钱
787 美元
权重
2
推荐
发表于 2015-3-9 21:24 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

#property indicator_chart_window
extern int InputTimeZone = 8;
extern int ChartTimeZone = 1;
extern int LookBackDays = 2000;
extern string KeyTimePoints = "14:00,15:30,16:30,20:20,21:30";
extern color LineColor = DarkGray;
extern int LineStyle = 2;
extern int LineWidth = 1;
extern bool DrawInBackground = TRUE;
int g_day_of_week_112 = -1;
int g_bars_116 = 0;
int init() {
   return (0);
}
int deinit() {
   string l_name_8;
   int l_objs_total_0 = ObjectsTotal();
   for (int l_objs_total_4 = l_objs_total_0; l_objs_total_4 >= 0; l_objs_total_4--) {
      l_name_8 = ObjectName(l_objs_total_4);
      if (StringSubstr(l_name_8, 0, 8) == "VertLine") ObjectDelete(l_name_8);
   }
   return (0);
}
int start() {
   int lia_4[30];
   bool li_8;
   int li_12;
   int li_16;
   int l_index_20;
   string l_time2str_24;
   int l_count_32;
   string ls_36;
   int li_44;
   int li_0 = TimeCurrent() + 3600 * (InputTimeZone - ChartTimeZone);
   if (TimeDayOfWeek(li_0) != g_day_of_week_112 || Bars - g_bars_116 > 1) {
      g_day_of_week_112 = TimeDayOfWeek(li_0);
      g_bars_116 = Bars;
      li_8 = TRUE;
      li_12 = 0;
      l_index_20 = 0;
      while (TimeDayOfWeek(li_0) == 0 || TimeDayOfWeek(li_0) == 6) li_0 += 86400;
      l_time2str_24 = TimeToStr(li_0, TIME_DATE);
      while (li_8) {
         l_index_20++;
         li_16 = StringFind(KeyTimePoints, ",", li_12);
         if (li_16 == -1) {
            li_16 = StringLen(KeyTimePoints);
            li_8 = FALSE;
         }
         lia_4[l_index_20] = StrToTime(l_time2str_24 + " " + StringSubstr(KeyTimePoints, li_12, li_16 - li_12));
         li_12 = li_16 + 1;
      }
      l_count_32 = 0;
      for (int l_count_48 = 0; l_count_48 < LookBackDays; l_count_48++) {
         while (TimeDayOfWeek(li_0 - 86400 * l_count_32) == 0 || TimeDayOfWeek(li_0 - 86400 * l_count_32) == 6) l_count_32++;
         for (int li_52 = 1; li_52 <= l_index_20; li_52++) {
            ls_36 = "VertLine" + l_count_48 + li_52 + " " + TimeToStr(lia_4[li_52], TIME_MINUTES);
            li_44 = lia_4[li_52] - 86400 * l_count_32 - 3600 * (InputTimeZone - ChartTimeZone);
            DrawLine(ls_36, li_44);
         }
         l_count_32 += 1;
      }
   }
   return (0);
}
void DrawLine(string a_name_0, int a_datetime_8) {
   if (ObjectFind(a_name_0) != 0) ObjectCreate(a_name_0, OBJ_VLINE, 0, a_datetime_8, 0);
   else ObjectMove(a_name_0, 0, a_datetime_8, 0);
   ObjectSet(a_name_0, OBJPROP_STYLE, LineStyle);
   ObjectSet(a_name_0, OBJPROP_COLOR, LineColor);
   ObjectSet(a_name_0, OBJPROP_WIDTH, LineWidth);
   ObjectSet(a_name_0, OBJPROP_BACK, DrawInBackground);
}

5

主题

787

积分

2

精华

初级操盘手

金钱
787 美元
权重
2
5
发表于 2015-3-9 21:21 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

#property indicator_chart_window
extern int InputTimeZone = 1;//自己所在时区
extern int ChartTimeZone = 1;//平台所在时区
extern int LookBackDays = 2000;
extern string KeyTimePoints = "8:00,8:30";//输入你想要现显示的时间,注意用英文字符逗号,
extern color LineColor =Aqua;
extern int LineStyle = 2;
extern int LineWidth = 1;
extern bool DrawInBackground = TRUE;
int g_day_of_week_112 = -1;
int g_bars_116 = 0;
int init() {
   return (0);
}
int deinit() {
   string l_name_8;
   int l_objs_total_0 = ObjectsTotal();
   for (int l_objs_total_4 = l_objs_total_0; l_objs_total_4 >= 0; l_objs_total_4--) {
      l_name_8 = ObjectName(l_objs_total_4);
      if (StringSubstr(l_name_8, 0, 8) == "VertLine") ObjectDelete(l_name_8);
   }
   return (0);
}
int start() {
   int lia_4[30];
   bool li_8;
   int li_12;
   int li_16;
   int l_index_20;
   string l_time2str_24;
   int l_count_32;
   string ls_36;
   int li_44;
   int li_0 = TimeCurrent() + 3600 * (InputTimeZone - ChartTimeZone);
   if (TimeDayOfWeek(li_0) != g_day_of_week_112 || Bars - g_bars_116 > 1) {
      g_day_of_week_112 = TimeDayOfWeek(li_0);
      g_bars_116 = Bars;
      li_8 = TRUE;
      li_12 = 0;
      l_index_20 = 0;
      while (TimeDayOfWeek(li_0) == 0 || TimeDayOfWeek(li_0) == 6) li_0 += 86400;
      l_time2str_24 = TimeToStr(li_0, TIME_DATE);
      while (li_8) {
         l_index_20++;
         li_16 = StringFind(KeyTimePoints, ",", li_12);
         if (li_16 == -1) {
            li_16 = StringLen(KeyTimePoints);
            li_8 = FALSE;
         }
         lia_4[l_index_20] = StrToTime(l_time2str_24 + " " + StringSubstr(KeyTimePoints, li_12, li_16 - li_12));
         li_12 = li_16 + 1;
      }
      l_count_32 = 0;
      for (int l_count_48 = 0; l_count_48 < LookBackDays; l_count_48++) {
         while (TimeDayOfWeek(li_0 - 86400 * l_count_32) == 0 || TimeDayOfWeek(li_0 - 86400 * l_count_32) == 6) l_count_32++;
         for (int li_52 = 1; li_52 <= l_index_20; li_52++) {
            ls_36 = "VertLine" + l_count_48 + li_52 + " " + TimeToStr(lia_4[li_52], TIME_MINUTES);
            li_44 = lia_4[li_52] - 86400 * l_count_32 - 3600 * (InputTimeZone - ChartTimeZone);
            if(TimeDayOfWeek(li_0 - 86400 * l_count_32) ==4)
            {
           
            DrawLine(ls_36, li_44);
         
               }
            
         }
         l_count_32 += 1;
      }
   }
   return (0);
}
void DrawLine(string a_name_0, int a_datetime_8) {
   if (ObjectFind(a_name_0) != 0) ObjectCreate(a_name_0, OBJ_VLINE, 0, a_datetime_8, 0);
   else ObjectMove(a_name_0, 0, a_datetime_8, 0);
   ObjectSet(a_name_0, OBJPROP_STYLE, LineStyle);
   ObjectSet(a_name_0, OBJPROP_COLOR, LineColor);
   ObjectSet(a_name_0, OBJPROP_WIDTH, LineWidth);
   ObjectSet(a_name_0, OBJPROP_BACK, DrawInBackground);
}

5

主题

787

积分

2

精华

初级操盘手

金钱
787 美元
权重
2
6
发表于 2015-3-9 21:23 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

#property indicator_chart_window
extern int InputTimeZone = 1;//自己所在时区
[/quote]
因为现在MT4平台升级了,可能有的平台编译会出现问题。要是楼主能够读懂其中原理,你自己再用新的编程语言改写一下就好了。

14

主题

156

积分

0

精华

见习操盘手

金钱
156 美元
权重
4
7
 楼主| 发表于 2015-3-9 22:21 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑


QQ图片20150309221837.png (32.88 KB, 下载次数: 4)

QQ图片20150309221837.png

5

主题

787

积分

2

精华

初级操盘手

金钱
787 美元
权重
2
8
发表于 2015-3-9 22:41 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

遇到点问题,将设置中的时间改了后并不现实需要的时间,不知道是怎么回事呢@小虾米[/quote]
你确定逗号正确了?我看着那个间距有点大,中间不要有空格,英文状态下的逗号

4.png (12.85 KB, 下载次数: 5)

4.png

4.png (3.44 KB, 下载次数: 7)

4.png

14

主题

156

积分

0

精华

见习操盘手

金钱
156 美元
权重
4
9
 楼主| 发表于 2015-3-9 23:06 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

恩,确定了,又试了一遍,显示的时间完全不对应,看朋友您能搞出来吗?如图3条线显示的是23:50 ,3:00,9:30

QQ图片20150309222046.png (36.52 KB, 下载次数: 6)

QQ图片20150309222046.png

293

主题

5万

积分

40

精华

大型投行

金钱
54605 美元
权重
440
10
发表于 2015-3-9 23:11 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

支持。搞出来分享一下呀

5

主题

787

积分

2

精华

初级操盘手

金钱
787 美元
权重
2
11
发表于 2015-3-9 23:12 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

恩,确定了,又试了一遍,显示的时间完全不对应,看朋友您能搞出来吗?如图3条线显示的是23:50 ,3:00,9:3 ...[/quote]
哦,这个你自己调整嘛。修改上面inputtimezone的数字,直到平台时间与我们的北京时间一致就对了。不是一定要认为北京时间就是在东8区,以你能够调整出正确时间的时区数为准。23:50,应该是跟K线数据遗漏有关了,你看看23:50前后的时间是多少。我一般都是在15分钟以上周期用。还有就是最后一个时间的后面不要加逗号。我仔细看了一下,23:50就是K线数据遗漏了,那个一般出现在每周周五收盘的时候。这个应该不影响吧。

14

主题

156

积分

0

精华

见习操盘手

金钱
156 美元
权重
4
12
 楼主| 发表于 2015-3-9 23:37 | 只看该作者
小虾米 发表于 2015-3-9 23:12
哦,这个你自己调整嘛。修改上面inputtimezone的数字,直到平台时间与我们的北京时间一致就对了。不是 ...


你太伟大了,我一通乱搞已经搞定了,十分感谢。

USDJPYM5.png (46.02 KB, 下载次数: 6)

USDJPYM5.png

5

主题

787

积分

2

精华

初级操盘手

金钱
787 美元
权重
2
13
发表于 2015-3-9 23:43 | 只看该作者
550473837 发表于 2015-3-9 23:37
你太伟大了,我一通乱搞已经搞定了,十分感谢。

客气了,这个源码也不是我写的,我只是借花献佛

14

主题

2万

积分

0

精华

操盘专家

金钱
24428 美元
权重
5
14
发表于 2015-3-12 11:22 | 只看该作者
请问小虾米..如何改成只在小时图以下才显示....4小时以上不显示
在投资市场上,赚钱是赚不完的,但是亏钱是可以亏完的.

13

主题

839

积分

0

精华

初级操盘手

金钱
839 美元
权重
0
15
发表于 2016-2-27 21:37 | 只看该作者
我默默路过...

0

主题

38

积分

0

精华

外汇入门

金钱
38 美元
权重
0
16
发表于 2016-12-26 20:25 | 只看该作者
很有探索精神

1

主题

169

积分

0

精华

见习操盘手

金钱
169 美元
权重
0
17
发表于 2016-12-30 07:32 | 只看该作者
我默默路过...
您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

QQ|黄金吧|黄金论坛|手机版|指标下载|非农|目录|交易危机

版权所有: ©2014-2021 fx3q.com Powered by Discuz! X3
皖ICP备: 2024050410号-2

风险提示:杠杆风险高,交易要谨慎 声明:坛友发言和回复均为个人观点,不代表论坛立场。
若有侵权请联系fx3q@qq.com删除

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