设为首页 收藏本站 切换语言

显示时间_源代码  

| 发表于 2020-7-21 07:50:03 | 显示全部楼层 |复制链接
  1. #property version   "1.00"
  2. #property strict
  3. #property indicator_chart_window
  4. input string            strOBJ_string     = "ShowTime_";
  5. input int               intOBJ_ShowWindow = 0;
  6. input ENUM_BASE_CORNER  intOBJ_ShowCorner = 1;
  7. double Show_SPREAD=0;
  8. string Show_String="";
  9. //+------------------------------------------------------------------+
  10. //| Custom indicator initialization function                         |
  11. //+------------------------------------------------------------------+
  12. int OnInit()
  13.   {
  14. //--- indicator buffers mapping
  15.    EventSetTimer(1);   
  16.    DeleteTimeObject(strOBJ_string, StringLen(strOBJ_string));  
  17. //---
  18.    return(INIT_SUCCEEDED);
  19.   }
  20.   
  21.   
  22.   
  23. //+------------------------------------------------------------------+
  24. //| Custom indicator deinitialization function                         |
  25. //+------------------------------------------------------------------+
  26. int deinit()
  27.   {
  28. //----
  29.    EventKillTimer();
  30.    DeleteTimeObject(strOBJ_string, StringLen(strOBJ_string));  
  31. //----
  32.    return(0);
  33.   }  
  34.   
  35.   
  36.   
  37. //+------------------------------------------------------------------+
  38. //| Custom indicator iteration function                              |
  39. //+------------------------------------------------------------------+
  40. int OnCalculate(const int rates_total,
  41.                 const int prev_calculated,
  42.                 const datetime &time[],
  43.                 const double &open[],
  44.                 const double &high[],
  45.                 const double &low[],
  46.                 const double &close[],
  47.                 const long &tick_volume[],
  48.                 const long &volume[],
  49.                 const int &spread[])
  50.   {
  51. //---  
  52.    int TF_Remaining_Total_Second = (int)iTime(NULL, 240, 0) + 60 * 240 - (int)TimeCurrent();      //
  53.    int TF_Remaining_Total_Minute = (int)MathFloor(TF_Remaining_Total_Second / 60);                //
  54.    int TF_Remaining_Hour         = (int)MathFloor(MathFloor(TF_Remaining_Total_Second / 60) /60); //
  55.    int TF_Remaining_Minute       = (int)MathMod(TF_Remaining_Total_Minute,60);                    //
  56.    int TF_Remaining_Second       = TF_Remaining_Total_Second - 60 * TF_Remaining_Total_Minute;    //
  57.   
  58.    string ShowHour=IntegerToString(TF_Remaining_Hour,0);       //
  59.    string ShowMinute= IDNumberToString(TF_Remaining_Minute,2); //
  60.    string ShowSeconds=IDNumberToString(TF_Remaining_Second,2); //
  61.    
  62.   
  63.    //------------------------------------------------------------------------------------------------------------------------------------------
  64.    Show_String= ShowHour+":"+ShowMinute+":"+ShowSeconds;
  65.    DrawLabel(strOBJ_string+"Time1", Show_String, 0, 5, White, 14, "Arial", intOBJ_ShowCorner, intOBJ_ShowWindow, true);      
  66.   
  67.    //----------------------------------------------------------------------------------------------------------------------------------------------
  68.    double SPREAD=MarketInfo(NULL,MODE_SPREAD);
  69.    if(!(Show_SPREAD==SPREAD))
  70.      {
  71.        Show_SPREAD=SPREAD;
  72.        printf("---------------------------SPREAD:" + TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS) + " ("+DoubleToStr(Show_SPREAD,2) + ")------------");
  73.      }
  74.    Show_String=(string)NormalizeDouble(MarketInfo(Symbol(), MODE_TICKVALUE), 2)+"| " +(string)Show_SPREAD;
  75.    DrawLabel(strOBJ_string+"TICKVALUE|SPREAD", Show_String, 0, 55, Yellow, 13, "Arial", intOBJ_ShowCorner, intOBJ_ShowWindow, true);  
  76.    //----------------------------------------------------------------------------------------------------------------------------------------------
  77.    Show_String=DoubleToStr(MarketInfo(Symbol(), MODE_MARGINREQUIRED), 2);
  78.    DrawLabel(strOBJ_string+"MARGINREQUIRED", Show_String, 0, 80, Yellow, 12, "Arial", intOBJ_ShowCorner, intOBJ_ShowWindow, true);
  79.       
  80. //--- return value of prev_calculated for next call
  81.    return(rates_total);
  82.   }
  83.   
  84.   
  85.   
  86. //+------------------------------------------------------------------+
  87. //| Timer function                                                   |
  88. //+------------------------------------------------------------------+
  89. void OnTimer()
  90.   {
  91. //---
  92.     int TM_Second = 60-TimeSeconds(TimeCurrent());
  93.     DrawLabel(strOBJ_string+"Time5tf0", IDNumberToString(TM_Second,2), 0, 25, Yellow, 14,"Arial" ,intOBJ_ShowCorner, intOBJ_ShowWindow,true);
  94.    
  95.     DrawLabel(strOBJ_string+"Time5tf1", DoubleToStr(MarketInfo(Symbol(), MODE_SWAPLONG), 2)+"L", 30, 28, Coral, 8,"Arial" ,intOBJ_ShowCorner, intOBJ_ShowWindow,true); //SWAPLONG
  96.     DrawLabel(strOBJ_string+"Time5tf2", DoubleToStr(MarketInfo(Symbol(), MODE_SWAPSHORT),2)+"S", 30, 42, Coral, 8,"Arial" ,intOBJ_ShowCorner, intOBJ_ShowWindow,true); //SWAPSHORT
  97.     if(!(IsConnected()))      
  98.       {
  99.         DrawLabel(strOBJ_string+"Time5tf", "IsConnected", 5, 25, Yellow, 12,"Arial" ,intOBJ_ShowCorner, intOBJ_ShowWindow,true);
  100.         ObjectDelete(strOBJ_string+"Time5tf0");
  101.         ObjectDelete(strOBJ_string+"Time5tf1");
  102.         ObjectDelete(strOBJ_string+"Time5tf2");
  103.      }  
  104.   
  105.   
  106.   }
  107. //+------------------------------------------------------------------+
  108. void DrawLabel(string obj_Name, string obj_Text, int obj_X, int obj_Y, color obj_Color, int obj_Size, string obj_Font, int obj_Coner, int obj_Window, bool obj_ShowBackup) {
  109.    //ObjectDelete(obj_Name);
  110.    int FindObjectRtn=ObjectFind(obj_Name);
  111.    if(FindObjectRtn<0)
  112.      {      
  113.        ObjectCreate(obj_Name, OBJ_LABEL, obj_Window, 0, 0);
  114.        ObjectSetText(obj_Name, obj_Text, obj_Size, obj_Font, obj_Color);
  115.        ObjectSet(obj_Name, OBJPROP_CORNER, obj_Coner);
  116.        ObjectSet(obj_Name, OBJPROP_XDISTANCE, obj_X);
  117.        ObjectSet(obj_Name, OBJPROP_YDISTANCE, obj_Y);
  118.        ObjectSet(obj_Name, OBJPROP_BACK, obj_ShowBackup);
  119.      }
  120.    else
  121.      {
  122.        ObjectSetText(obj_Name, obj_Text, obj_Size, obj_Font, obj_Color);
  123.        ObjectSet(obj_Name, OBJPROP_CORNER, obj_Coner);
  124.        ObjectSet(obj_Name, OBJPROP_XDISTANCE, obj_X);
  125.        ObjectSet(obj_Name, OBJPROP_YDISTANCE, obj_Y);
  126.        ObjectSet(obj_Name, OBJPROP_BACK, obj_ShowBackup);   
  127.      }
  128. }
  129. void DeleteTimeObject(string TipTxt, int TxtLen)
  130. {
  131.    int ObjTotal=ObjectsTotal();
  132.    for(int i = ObjTotal; i>=0; i--){
  133.       string ObjName=ObjectName(i);
  134.       if(StringSubstr(ObjName,0,TxtLen) == TipTxt){
  135.          ObjectDelete(ObjName);
  136.       }
  137.    }  
  138.    ObjTotal=0;
  139. }
  140. string IDNumberToString(int CalNumber, int SN)
  141. {
  142.    string strNumber;
  143.    int StrLen;
  144.    StrLen=SN-StringLen(IntegerToString(CalNumber));
  145. switch(StrLen)
  146.   {
  147.    case 1:
  148.       strNumber = "0"+IntegerToString(CalNumber);
  149.       break;
  150.    case 2:
  151.       strNumber = "00"+IntegerToString(CalNumber);
  152.       break;
  153.    case 3:
  154.       strNumber = "000"+IntegerToString(CalNumber);
  155.       break;
  156.    case 4:
  157.       strNumber = "0000"+IntegerToString(CalNumber);
  158.       break;
  159.    case 5:
  160.       strNumber = "00000"+IntegerToString(CalNumber);
  161.       break;
  162.    default:
  163.       strNumber = IntegerToString(CalNumber);
  164.       break;
  165.   }
  166.    return(strNumber);
  167. }
复制代码
举报

评论 使用道具

热门主题

精彩评论27

latage
未及格
| 发表于 2021-5-17 11:24:25 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

Leonjo
未及格
| 发表于 2021-5-17 13:53:38 来自手机 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

升龙
DD
| 发表于 2021-5-17 14:14:25 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

宝宝
DD
| 发表于 2021-8-7 22:19:41 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

668
DDD
| 发表于 2021-12-26 01:06:54 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

交易者
DDD
| 发表于 2022-1-3 10:49:13 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

jun006
D
| 发表于 2022-1-23 00:37:15 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

starshine
D
| 发表于 2022-1-23 01:49:31 来自手机 | 显示全部楼层
谢谢分享。
举报

点赞 评论 使用道具

紫竹青荷
CC
| 发表于 2022-5-18 00:45:24 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

tststs
DD
| 发表于 2022-5-18 07:10:39 | 显示全部楼层
路过看下
举报

点赞 评论 使用道具

不忘初心的远航
D
| 发表于 2022-5-18 07:31:05 | 显示全部楼层
感谢楼主分享,好好学习,天天向上!
举报

点赞 评论 使用道具

daerbushen
DD
| 发表于 2022-5-18 09:03:00 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

武僧
未及格
| 发表于 2022-5-18 11:29:54 | 显示全部楼层
看看。。。
举报

点赞 评论 使用道具

hqwj521
DDD
| 发表于 2023-6-5 06:03:14 | 显示全部楼层
太及时了,感谢感谢
举报

点赞 评论 使用道具

daerwushen
DD
| 发表于 2023-6-5 08:50:18 | 显示全部楼层
显示时间
举报

点赞 评论 使用道具

daerwushenn
DD
| 发表于 2023-6-5 08:51:38 | 显示全部楼层
指标吗??
举报

点赞 评论 使用道具

daerbushen
DD
| 发表于 2023-6-5 08:54:53 | 显示全部楼层
显示时间_源代码
举报

点赞 评论 使用道具

ken138888
B
| 发表于 2023-6-6 06:40:04 | 显示全部楼层
怎么用的
举报

点赞 评论 使用道具

静观明
DD
| 发表于 2023-6-6 18:04:40 | 显示全部楼层
感谢分享        好用
举报

点赞 评论 使用道具

12下一页
发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

天眼云VPS
简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)