交易危机

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

QQ登录

只需一步,快速开始

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

[其他] 世界开闭市时间直观指标(小版)

[复制链接]

29

主题

1223

积分

1

精华

初级操盘手

金钱
1223 美元
权重
14
跳转到指定楼层
楼主
发表于 2014-3-10 16:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
世界开闭市时间直观指标(小版)
原作者:fycat,鸣谢
代码:

  1. //
  2. #property indicator_chart_window
  3. #property indicator_buffers 1
  4. #property indicator_color1 Red
  5. //当地时间
  6. extern string     非盈利
  7. extern string                悉尼开市                = "09:00";   //10.4-4.4為夏令時
  8. extern string                悉尼收市                = "17:00";   
  9. extern string           东京开市                = "09:00";
  10. extern string                东京收市                = "15:30";
  11. extern string                歐州开市                = "09:00";   //3.29-10.25為夏令時
  12. extern string                歐州收市                = "16:00";  
  13. extern string                倫敦开市                = "09:30";   //3.29-10.25為夏令時
  14. extern string                倫敦收市                = "15:30";   
  15. extern string                纽約开市                = "08:30";   //3.8-11.1為夏令時
  16. extern string                纽約收市           = "15:00";
  17. extern int                   预开分钟           = 30;               //离开市多少时间
  18. //---- input parameters
  19. extern double       服务器时区=-5;    //美国
  20. extern double       本地时区=8;
  21. extern bool         ShowLocal_GMT_BROK=false;  //修改
  22. extern bool         亚洲区域=true;
  23. extern int          corner=1;
  24. extern int          topOff=50;
  25. extern color        开市颜色=SpringGreen;
  26. extern color        关市颜色=LightGray;
  27. extern color        预开颜色=Yellow;
  28. extern color        北京时间颜色=LightGray;
  29. extern color        ShowLocal颜色=LightGray;
  30. extern bool         show12HourTime=false;
  31. //---- buffers
  32. double ExtMapBuffer1[];
  33. int SydneyTZ = 10;    //悉尼
  34. int EurTZ = 1;        //歐州
  35. int TokyoTZ = 9;      //東京
  36. int LondonTZ = 0;     //倫敦
  37. int NewYorkTZ = -5;   //紐約
  38. string TimeToString( datetime when ) {
  39.    if ( !show12HourTime )
  40.       return (TimeToStr( when, TIME_MINUTES ));
  41.       
  42.    int hour = TimeHour( when );
  43.    int minute = TimeMinute( when );
  44.    string ampm = " AM";
  45.    
  46.    string timeStr;
  47.    if ( hour >= 12 ) {
  48.       hour = hour - 12;
  49.       ampm = " PM";
  50.    }
  51.       
  52.    if ( hour == 0 )
  53.       hour = 12;
  54.    timeStr = DoubleToStr( hour, 0 ) + ":";
  55.    if ( minute < 10 )
  56.       timeStr = timeStr + "0";
  57.    timeStr = timeStr + DoubleToStr( minute, 0 );
  58.    timeStr = timeStr + ampm;
  59.    
  60.    return (timeStr);
  61. }
  62. //+------------------------------------------------------------------+
  63. //| Custom indicator iteration function                              |
  64. //+------------------------------------------------------------------+
  65. int start()
  66.   {
  67.    int    counted_bars=IndicatorCounted();
  68. //----
  69.    int dstDelta;
  70.    double local;
  71.    datetime brokerTime = CurTime();
  72.    datetime GMT = brokerTime - (服务器时区)*3600;
  73.      if ( 亚洲区域 )
  74.           local = GMT + (本地时区 ) * 3600;
  75.      else local = GMT + (本地时区+dstDelta) * 3600;
  76.    datetime yukai = 预开分钟*60;  //加预开分钟的时间
  77. //倫敦  3.29-10.25為夏令时制,提前一小時
  78.     if (DayOfYear()>=88 && DayOfYear()<=298) dstDelta=-1;
  79.      else dstDelta = 0;
  80.    datetime london = GMT + (LondonTZ+dstDelta) * 3600;
  81.    datetime londonA = london+yukai;
  82.    
  83. //歐州  3.29-10.25為夏令时制,提前一小時
  84.    if (DayOfYear()>=88 && DayOfYear()<=298) dstDelta=-1;
  85.     else dstDelta = 0;
  86.    datetime Eur = GMT + (EurTZ+dstDelta) * 3600;   
  87.    datetime EurA = Eur+yukai;   
  88.      
  89. //悉尼 10.4-4.4為夏令時制,推后一小時
  90.    if (DayOfYear()>=277 || DayOfYear()<=94) dstDelta=1;
  91.     else dstDelta = 0;
  92.    datetime Sydney = GMT + (SydneyTZ+dstDelta )* 3600;               
  93.    datetime SydneyA = Sydney + yukai;
  94. //東京不搞夏時制
  95.    datetime tokyo = GMT + (TokyoTZ )* 3600;
  96.    datetime tokyoA = tokyo+yukai;
  97. //紐約 3.8-11.1為夏令時制,推后一小時
  98.    if (DayOfYear()>=67 && DayOfYear()<=304) dstDelta=1;
  99.     else dstDelta = 0;
  100.    datetime newyork = GMT + (NewYorkTZ+dstDelta) * 3600;
  101.    datetime newyorkA = newyork + yukai;
  102.    
  103.       
  104.   //Print( brokerTime, " ", GMT, " ", local, " ", london, " ", tokyo, " ", newyork  );
  105.    string GMTs = TimeToString( GMT );
  106.    string locals = TimeToString( local );
  107.    string Eurs = TimeToString( Eur );   
  108.    string londons = TimeToString( london );
  109.    string Sydneys = TimeToString( Sydney );        
  110.    string tokyos = TimeToString( tokyo );
  111.    string newyorks = TimeToString( newyork );
  112.    string brokers = TimeToString( CurTime() );
  113.    string bars = TimeToStr( CurTime() - Time[0], TIME_MINUTES );
  114.    string londonB = TimeToString( londonA );
  115.    string SydneyB = TimeToString( SydneyA );
  116.    string tokyoB = TimeToString(tokyoA );
  117.    string newyorkB = TimeToString( newyorkA );
  118.    string EurB = TimeToString( EurA );
  119.    
  120.   //我加
  121.    int Sydneycolor;
  122.    int tokyocolor;
  123.    int Eurcolor;
  124.    int londoncolor;
  125.    int newyorkcolor;
  126.    
  127.   
  128.    if(SydneyB>悉尼开市&&Sydneys<悉尼开市) Sydneycolor=预开颜色; else  if(Sydneys>=悉尼开市&&Sydneys<=悉尼收市)Sydneycolor=开市颜色;  else Sydneycolor=关市颜色;
  129.    if(tokyoB>东京开市&&tokyos<东京开市) tokyocolor=预开颜色; else  if(tokyos>=东京开市&&tokyos<=东京收市)tokyocolor=开市颜色;  else tokyocolor=关市颜色;
  130.    if(EurB>歐州开市&&Eurs<歐州开市) Eurcolor=预开颜色; else  if(Eurs>=歐州开市&&Eurs<=歐州收市)Eurcolor=开市颜色;  else Eurcolor=关市颜色;
  131.    if(londonB>倫敦开市&&londons<倫敦开市) londoncolor=预开颜色; else  if(londons>=倫敦开市&&londons<=倫敦收市)londoncolor=开市颜色;  else londoncolor=关市颜色;
  132.    if(newyorkB>纽約开市&&newyorks<纽約开市) newyorkcolor=预开颜色; else  if(newyorks>=纽約开市&&newyorks<=纽約收市)newyorkcolor=开市颜色;  else newyorkcolor=关市颜色;

  133.     //--------------------------------------------------------------      
  134.    if ( ShowLocal_GMT_BROK ) {
  135.       ObjectSetText( "barl", "K     柱", 9, "Arial", ShowLocal颜色 );
  136.       ObjectSetText( "bart", bars, 9, "Arial", ShowLocal颜色 );
  137.       ObjectSetText( "gmtl", "标    准", 9, "Arial", ShowLocal颜色 );
  138.       ObjectSetText( "gmtt", GMTs, 9, "Arial", ShowLocal颜色 );
  139.       ObjectSetText( "brol", "服务器", 9, "Arial", ShowLocal颜色 );
  140.       ObjectSetText( "brot", brokers, 9, "Arial", ShowLocal颜色 );
  141.    }
  142.    //------------------------------------------------
  143.    ObjectSetText( "Sydneyl", "悉尼", 9, "Arial Bold", Sydneycolor );     //我加
  144.    ObjectSetText( "Sydneyt", Sydneys, 9, "Arial Bold", Sydneycolor );      //我加
  145.    ObjectSetText( "tokl", "东京", 9, "Arial", tokyocolor );
  146.    ObjectSetText( "tokt", tokyos, 9, "Arial Bold", tokyocolor );
  147.    ObjectSetText( "Eurt", Eurs, 9, "Arial Bold", Eurcolor );  //我加
  148.    ObjectSetText( "nyl", "纽约", 9, "Arial", newyorkcolor );
  149.    ObjectSetText( "nyt", newyorks, 9, "Arial Bold", newyorkcolor );
  150.    ObjectSetText( "lonl", "伦敦", 9, "Arial", londoncolor );
  151.    ObjectSetText( "lont", londons, 9, "Arial Bold", londoncolor );
  152.    ObjectSetText( "locl", "北京", 9, "Arial", 北京时间颜色 );
  153.    ObjectSetText( "loct", locals, 9, "Arial Bold", 北京时间颜色 );
  154.       
  155. //----
  156.    return(0);
  157.   }
  158. //+------------------------------------------------------------------+
  159. //+------------------------------------------------------------------+
  160. //| Custom indicator initialization function                         |
  161. //+------------------------------------------------------------------+
  162. int ObjectMakeLabel( string n, int xoff, int yoff ) {
  163.    ObjectCreate( n, OBJ_LABEL, 0, 0, 0 );
  164.    ObjectSet( n, OBJPROP_CORNER, corner );
  165.    ObjectSet( n, OBJPROP_XDISTANCE, xoff );
  166.    ObjectSet( n, OBJPROP_YDISTANCE, yoff );
  167.    ObjectSet( n, OBJPROP_BACK, true );
  168. }
  169. int init()
  170.   {
  171. //---- indicators
  172.    SetIndexStyle(0,DRAW_LINE);
  173.    SetIndexBuffer(0,ExtMapBuffer1);
  174.    
  175.    int top=topOff;
  176.    int left = 600;
  177.    if ( show12HourTime )
  178.       left = 102;
  179.    if ( ShowLocal_GMT_BROK ) {
  180.       ObjectMakeLabel( "barl", left+130, top );
  181.       ObjectMakeLabel( "bart", left+80, top );
  182.       ObjectMakeLabel( "gmtl", left+130, top-15 );
  183.       ObjectMakeLabel( "gmtt", left+80, top-15 );
  184.       ObjectMakeLabel( "brol", left+130, top-30 );
  185.       ObjectMakeLabel( "brot", left+80, top-30 );
  186.   }
  187.    ObjectMakeLabel( "locl", left-50, top-50 );
  188.    ObjectMakeLabel( "loct", left-90, top-50 );
  189.    ObjectMakeLabel( "Sydneyl", left-130, top-50 );   
  190.    ObjectMakeLabel( "Sydneyt", left-170, top-50 );         
  191.    ObjectMakeLabel( "tokl", left-210, top-50 );
  192.    ObjectMakeLabel( "tokt", left-250, top-50 );
  193.    ObjectMakeLabel( "Eurt", left-330, top-50 );         
  194.    ObjectMakeLabel( "lonl", left-370, top-50 );
  195.    ObjectMakeLabel( "lont", left-410, top-50 );
  196.    ObjectMakeLabel( "nyl",  left-450, top-50 );
  197.    ObjectMakeLabel( "nyt",  left-490, top-50 );
  198.    
  199.    
  200.    
  201.    
  202.    
  203. //----
  204.    return(0);
  205.   }
  206. //+------------------------------------------------------------------+
  207. //| Custom indicator deinitialization function                       |
  208. //+------------------------------------------------------------------+
  209. int deinit()
  210.   {
  211. //----
  212.    ObjectDelete( "locl" );
  213.    ObjectDelete( "loct" );
  214.    ObjectDelete( "nyl" );
  215.    ObjectDelete( "nyt" );
  216.    ObjectDelete( "gmtl" );
  217.    ObjectDelete( "gmtt" );
  218.    ObjectDelete( "Eurt" );   
  219.    ObjectDelete( "lonl" );
  220.    ObjectDelete( "lont" );
  221.    ObjectDelete( "Sydneyl" );   
  222.    ObjectDelete( "Sydneyt" );   
  223.    ObjectDelete( "tokl" );
  224.    ObjectDelete( "tokt" );
  225.    ObjectDelete( "brol" );
  226.    ObjectDelete( "brot" );
  227.    ObjectDelete( "barl" );
  228.    ObjectDelete( "bart" );
  229. //----
  230.    return(0);
  231.   }
复制代码


世界开闭市时间小版.zip

2.5 KB, 下载次数: 55, 下载积分: 金钱 -8

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

18

主题

2244

积分

0

精华

中级操盘手

金钱
2244 美元
权重
22
沙发
发表于 2014-5-11 15:23 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:06 编辑

MT4 升级600版本之后,就不能加载了。。

4

主题

230

积分

0

精华

见习操盘手

金钱
230 美元
权重
2
板凳
发表于 2014-5-14 15:24 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

不能用啊,新版MT4上。

0

主题

32

积分

0

精华

外汇入门

金钱
32 美元
权重
0
地板
发表于 2014-9-24 20:19 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

不能加载了。

0

主题

24

积分

0

精华

外汇入门

金钱
24 美元
权重
0
5
发表于 2014-10-14 01:14 | 只看该作者
本帖最后由 wccmcd 于 2015-12-4 12:07 编辑

好东东是要支持的哟,这些冷眼真的赚疯了不知道搞了多少金币

0

主题

32

积分

0

精华

外汇入门

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

好东东是要支持的

0

主题

57

积分

0

精华

外汇入门

金钱
57 美元
权重
0
7
发表于 2016-9-5 15:48 | 只看该作者
新版mt4上不能用,求新版代码

0

主题

57

积分

0

精华

外汇入门

金钱
57 美元
权重
0
8
发表于 2016-9-7 21:03 | 只看该作者
时间差的好多,该怎么调呢

0

主题

6620

积分

0

精华

高级操盘手

金钱
6620 美元
权重
0
9
发表于 2016-10-30 18:42 | 只看该作者
楼上的宠物们,用老版的MQL编译成ex4,然后放到.......后面的就不用说了吧......

0

主题

26

积分

0

精华

外汇入门

金钱
26 美元
权重
0
10
发表于 2016-11-5 22:06 | 只看该作者
求新版代码

0

主题

26

积分

0

精华

外汇入门

金钱
26 美元
权重
0
11
发表于 2016-11-5 22:06 | 只看该作者
求新版代码

30

主题

1万

积分

0

精华

操盘专家

金钱
13838 美元
权重
1
12
发表于 2016-11-11 15:39 | 只看该作者
晕,自己设置……。

2128

主题

6万

积分

157

精华

大型投行

金钱
61589 美元
权重
640
13
发表于 2016-11-11 17:44 | 只看该作者

鼠标够呛!@

2128

主题

6万

积分

157

精华

大型投行

金钱
61589 美元
权重
640
14
发表于 2016-11-11 22:36 | 只看该作者

挤挤!

1

主题

22

积分

0

精华

外汇入门

金钱
22 美元
权重
0
15
发表于 2016-11-27 01:16 | 只看该作者
真的很棒

0

主题

21

积分

0

精华

外汇入门

金钱
21 美元
权重
0
16
发表于 2016-12-6 10:01 | 只看该作者
谢谢分享!

0

主题

71

积分

0

精华

外汇入门

金钱
71 美元
权重
0
17
发表于 2017-2-25 13:39 | 只看该作者
感谢楼主分享!

0

主题

22

积分

0

精华

外汇入门

金钱
22 美元
权重
0
18
发表于 2017-3-10 15:54 | 只看该作者
不知道好不好看

评分

参与人数 1金钱 +10 收起 理由
admin + 10 欢迎新同学!

查看全部评分

0

主题

17

积分

0

精华

见习期-审核

金钱
17 美元
权重
0
19
发表于 2017-3-13 14:46 | 只看该作者
借用一下,不错

0

主题

7543

积分

0

精华

高级操盘手

金钱
7543 美元
权重
0
20
发表于 2017-3-16 19:13 | 只看该作者
赞一个
您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

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

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

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

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