交易危机

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

QQ登录

只需一步,快速开始

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

[其他] 标注历史实体区块改进版显示日图区域

[复制链接]

29

主题

1223

积分

1

精华

初级操盘手

金钱
1223 美元
权重
14
跳转到指定楼层
楼主
发表于 2014-3-10 17:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
标记周线实体区块H4版:
使用:
1.切换到H4图
2.按ctrl+y显示区间
3.加载指标
----------------------
标记日线实体区块M30版:
使用:
1.切换到M30图
2.按ctrl+y显示区间
3.加载指标
PS:只适合服务器每周5天的平台
颜色可修改
标记日k实体区域30分钟代码:

  1. #property indicator_chart_window
  2. extern color 阳线颜色=C'75,0,0';
  3. extern color 阴线颜色=C'0,0,75';
  4. double DaysOpen,DaysClose;//DaysHigh,DaysLow;
  5. extern int 数量=1000;
  6. //+------------------------------------------------------------------+
  7. //| Custom indicator initialization function                         |
  8. //+------------------------------------------------------------------+
  9. int init()
  10. {
  11.    for(int i=ObjectsTotal();i>=0;i--)
  12.    {
  13.       if(StringFind(ObjectName(i),"标记实体区块M30",0)==0)
  14.       {
  15.          ObjectDelete(ObjectName(i));
  16.          i=ObjectsTotal();
  17.       }
  18.    }
  19.    return(0);
  20. }
  21. //+------------------------------------------------------------------+
  22. //| Custom indicator deinitialization function                       |
  23. //+------------------------------------------------------------------+
  24. int deinit()
  25.   {
  26.    for(int i=ObjectsTotal();i>=0;i--)
  27.    {
  28.       if(StringFind(ObjectName(i),"标记实体区块M30",0)==0)
  29.       {
  30.          ObjectDelete(ObjectName(i));
  31.          i=ObjectsTotal();
  32.       }
  33.    }
  34.    
  35.    return(0);
  36.   }
  37. //+------------------------------------------------------------------+
  38. //| Custom indicator iteration function                              |
  39. //+------------------------------------------------------------------+
  40. int start()
  41. {
  42.    if(Period()!=PERIOD_M30){
  43.       for(int i=ObjectsTotal();i>=0;i--)
  44.       {
  45.          if(StringFind(ObjectName(i),"标记实体区块M30",0)==0)
  46.          {
  47.             ObjectDelete(ObjectName(i));
  48.             i=ObjectsTotal();
  49.          }
  50.       }
  51.       return(0);
  52.    }
  53.    for(int j=1;j<=数量;j++){
  54.       string 当天年月日="";
  55.       当天年月日=TimeYear(iTime(Symbol(),PERIOD_D1,j))+"."+TimeMonth(iTime(Symbol(),PERIOD_D1,j))+"."+TimeDay(iTime(Symbol(),PERIOD_D1,j));
  56.       DaysOpen=iOpen(NULL,PERIOD_D1,j);
  57.       DaysClose=iClose(NULL,PERIOD_D1,j);
  58.       ObjectCreate("标记实体区块M30"+当天年月日,OBJ_RECTANGLE,0,M30中当日首K时间(j),DaysOpen,M30中当日首K时间(j-1),DaysClose);
  59.       ObjectSet("标记实体区块M30"+当天年月日, OBJPROP_BACK, true );
  60.       ObjectSet("标记实体区块M30"+当天年月日, OBJPROP_COLOR, Yellow );
  61.       if(DaysOpen>DaysClose){
  62.          ObjectSet("标记实体区块M30"+当天年月日, OBJPROP_COLOR, 阴线颜色 );
  63.       }
  64.       else if(DaysOpen<DaysClose){
  65.          ObjectSet("标记实体区块M30"+当天年月日, OBJPROP_COLOR, 阳线颜色 );
  66.       }
  67.    }
  68. //END
  69. //----
  70.    return(0);
  71.   }
  72. //+------------------------------------------------------------------+
  73. datetime M30中当日首K时间(int 日K索引){
  74.    datetime 首K时间=0;
  75.    int 首K索引=0;
  76.    for(int j=0;j<48;j++){
  77.       首K索引=iBarShift(Symbol(),PERIOD_M30,iTime(Symbol(),PERIOD_D1,日K索引)+j*30*60,true); //30*60=一个30分钟K的秒数
  78.       if(首K索引!=-1){
  79.          return(iTime(Symbol(),PERIOD_M30,首K索引));
  80.       }
  81.       else if(首K索引==-1){
  82.          //啥也不做,继续下一个循环
  83.       }
  84.    }
  85. }
  86. //无用函数
  87. int M30中当日首K索引(int 日K索引){
  88.    datetime 首K时间=0;
  89.    int 首K索引=0;
  90.    for(int j=0;j<48;j++){
  91.       首K索引=iBarShift(Symbol(),PERIOD_M30,iTime(Symbol(),PERIOD_D1,日K索引)+j*30*60,true);
  92.       if(首K索引!=-1){
  93.          return(首K索引);
  94.       }
  95.       else if(首K索引==-1){
  96.          //啥也不做,继续下一个循环
  97.       }
  98.    }
  99. }
复制代码

标记日k实体区域4h代码:

  1. #property indicator_chart_window
  2. extern color 阳线颜色=C'75,0,0';
  3. extern color 阴线颜色=C'0,0,75';
  4. double WeeksOpen,WeeksClose;
  5. extern int 数量=200;
  6. //+------------------------------------------------------------------+
  7. //| Custom indicator initialization function                         |
  8. //+------------------------------------------------------------------+
  9. int init()
  10. {
  11.    for(int i=ObjectsTotal();i>=0;i--)
  12.    {
  13.       if(StringFind(ObjectName(i),"标记实体区块H4",0)==0)
  14.       {
  15.          ObjectDelete(ObjectName(i));
  16.          i=ObjectsTotal();
  17.       }
  18.    }
  19.    return(0);
  20. }
  21. //+------------------------------------------------------------------+
  22. //| Custom indicator deinitialization function                       |
  23. //+------------------------------------------------------------------+
  24. int deinit()
  25.   {
  26.    for(int i=ObjectsTotal();i>=0;i--)
  27.    {
  28.       if(StringFind(ObjectName(i),"标记实体区块H4",0)==0)
  29.       {
  30.          ObjectDelete(ObjectName(i));
  31.          i=ObjectsTotal();
  32.       }
  33.    }
  34.    
  35.    return(0);
  36.   }
  37. //+------------------------------------------------------------------+
  38. //| Custom indicator iteration function                              |
  39. //+------------------------------------------------------------------+
  40. int start()
  41. {
  42.    if(Period()!=PERIOD_H4){
  43.       for(int i=ObjectsTotal();i>=0;i--)
  44.       {
  45.          if(StringFind(ObjectName(i),"标记实体区块H4",0)==0)
  46.          {
  47.             ObjectDelete(ObjectName(i));
  48.             i=ObjectsTotal();
  49.          }
  50.       }
  51.       return(0);
  52.    }
  53.    for(int j=1;j<=数量;j++){
  54.       string 当天年月日="";
  55.       当天年月日=TimeYear(iTime(Symbol(),PERIOD_W1,j))+"."+TimeMonth(iTime(Symbol(),PERIOD_W1,j))+"."+TimeDay(iTime(Symbol(),PERIOD_W1,j));
  56.       WeeksOpen=iOpen(NULL,PERIOD_W1,j);
  57.       WeeksClose=iClose(NULL,PERIOD_W1,j);
  58.       ObjectCreate("标记实体区块H4"+当天年月日,OBJ_RECTANGLE,0,H4中当周首K时间(j),WeeksOpen,H4中当周首K时间(j-1),WeeksClose);
  59.       ObjectSet("标记实体区块H4"+当天年月日, OBJPROP_BACK, true );
  60.       ObjectSet("标记实体区块H4"+当天年月日, OBJPROP_COLOR, Yellow );
  61.       if(WeeksOpen>WeeksClose){
  62.          ObjectSet("标记实体区块H4"+当天年月日, OBJPROP_COLOR, 阴线颜色 );
  63.       }
  64.       else if(WeeksOpen<WeeksClose){
  65.          ObjectSet("标记实体区块H4"+当天年月日, OBJPROP_COLOR, 阳线颜色 );
  66.       }
  67.    }
  68. //END
  69. //----
  70.    return(0);
  71.   }
  72. //+------------------------------------------------------------------+
  73. datetime H4中当周首K时间(int 周K索引){
  74.    datetime 首K时间=0;
  75.    int 首K索引=0;
  76.    for(int j=0;j<30;j++){
  77.       首K索引=iBarShift(Symbol(),PERIOD_H4,iTime(Symbol(),PERIOD_W1,周K索引)+j*60*60*4,true); //60*60*4=一个H4-K的秒数
  78.       if(首K索引!=-1){
  79.          return(iTime(Symbol(),PERIOD_H4,首K索引));
  80.       }
  81.       else if(首K索引==-1){
  82.          //啥也不做,继续下一个循环
  83.       }
  84.    }
  85. }
复制代码

标注历史实体区块改进版.rar

2.26 KB, 下载次数: 7, 下载积分: 金钱 -8

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

122

主题

3万

积分

23

精华

地佐更接地气

大型投行

金钱
30818 美元
权重
870
沙发
发表于 2015-12-26 19:22 | 只看该作者
沙发消灭零回复。
如果你认为看懂了市场,那你一定是误解了市场。

市场从来不在乎你、我或任何专家,从不会按照你认为发生什么就应该要发生什么那样。

在市场中赚钱并不容易,但是有可能的,只有把资金、技术、心理这三者和谐地融汇贯通去指导行为,将会走向更加有利可图的交易之路!
您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

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

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

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

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